From 15793496e8d56769c792cf39673c6e6dea3ec4d9 Mon Sep 17 00:00:00 2001
From: Marvin Borner
Date: Thu, 28 Jun 2018 21:15:57 +0200
Subject: Preparing for complete rewrite..
---
main/.gitignore | 65 -
main/.travis.yml | 36 -
main/app/.htaccess | 15 -
main/app/cache/.gitkeep | 0
main/app/defines.php | 52 -
main/app/logs/.gitkeep | 0
main/app/sessions/.gitkeep | 0
main/app/sprinkles/account/asset-bundles.json | 81 -
.../userfrosting/js/pages/account-settings.js | 29 -
.../userfrosting/js/pages/forgot-password.js | 18 -
.../assets/userfrosting/js/pages/register.js | 93 -
.../userfrosting/js/pages/resend-verification.js | 18 -
.../userfrosting/js/pages/set-or-reset-password.js | 18 -
.../assets/userfrosting/js/pages/sign-in.js | 73 -
main/app/sprinkles/account/bower.json | 28 -
main/app/sprinkles/account/composer.json | 28 -
main/app/sprinkles/account/config/default.php | 79 -
main/app/sprinkles/account/config/production.php | 67 -
.../sprinkles/account/factories/Permissions.php | 19 -
main/app/sprinkles/account/factories/Roles.php | 18 -
main/app/sprinkles/account/factories/Users.php | 23 -
main/app/sprinkles/account/locale/ar/messages.php | 176 -
main/app/sprinkles/account/locale/ar/validate.php | 18 -
.../sprinkles/account/locale/de_DE/messages.php | 188 -
.../sprinkles/account/locale/de_DE/validate.php | 21 -
.../sprinkles/account/locale/en_US/messages.php | 183 -
.../sprinkles/account/locale/en_US/validate.php | 19 -
.../sprinkles/account/locale/es_ES/messages.php | 189 -
.../sprinkles/account/locale/es_ES/validate.php | 19 -
main/app/sprinkles/account/locale/fa/messages.php | 178 -
main/app/sprinkles/account/locale/fa/validate.php | 20 -
.../sprinkles/account/locale/fr_FR/messages.php | 179 -
.../sprinkles/account/locale/fr_FR/validate.php | 18 -
.../sprinkles/account/locale/it_IT/messages.php | 186 -
.../sprinkles/account/locale/it_IT/validate.php | 21 -
.../sprinkles/account/locale/pt_PT/messages.php | 166 -
.../sprinkles/account/locale/pt_PT/validate.php | 18 -
.../sprinkles/account/locale/ru_RU/messages.php | 183 -
.../sprinkles/account/locale/ru_RU/validate.php | 19 -
.../sprinkles/account/locale/th_TH/messages.php | 164 -
.../sprinkles/account/locale/th_TH/validate.php | 18 -
main/app/sprinkles/account/locale/tr/messages.php | 183 -
main/app/sprinkles/account/locale/tr/validate.php | 19 -
.../sprinkles/account/locale/zh_CN/messages.php | 177 -
.../sprinkles/account/locale/zh_CN/validate.php | 19 -
main/app/sprinkles/account/routes/routes.php | 59 -
.../account/schema/requests/account-settings.yaml | 35 -
.../account/schema/requests/account-verify.yaml | 6 -
.../account/schema/requests/check-username.yaml | 17 -
.../account/schema/requests/deny-password.yaml | 5 -
.../account/schema/requests/forgot-password.yaml | 6 -
.../sprinkles/account/schema/requests/login.yaml | 19 -
.../account/schema/requests/profile-settings.yaml | 24 -
.../account/schema/requests/register.yaml | 75 -
.../schema/requests/resend-verification.yaml | 6 -
.../account/schema/requests/set-password.yaml | 29 -
main/app/sprinkles/account/src/Account.php | 21 -
.../account/src/Authenticate/AuthGuard.php | 55 -
.../account/src/Authenticate/Authenticator.php | 407 -
.../Exception/AccountDisabledException.php | 22 -
.../Exception/AccountInvalidException.php | 22 -
.../Exception/AccountNotVerifiedException.php | 22 -
.../Exception/AuthCompromisedException.php | 21 -
.../Exception/AuthExpiredException.php | 22 -
.../Exception/InvalidCredentialsException.php | 22 -
.../sprinkles/account/src/Authenticate/Hasher.php | 105 -
.../src/Authorize/AccessConditionExpression.php | 138 -
.../src/Authorize/AuthorizationException.php | 24 -
.../account/src/Authorize/AuthorizationManager.php | 153 -
.../src/Authorize/ParserNodeFunctionEvaluator.php | 189 -
.../account/src/Bakery/CreateAdminUser.php | 321 -
.../account/src/Controller/AccountController.php | 1271 --
.../Exception/SpammyRequestException.php | 21 -
.../Database/Migrations/v400/ActivitiesTable.php | 53 -
.../src/Database/Migrations/v400/GroupsTable.php | 81 -
.../Migrations/v400/PasswordResetsTable.php | 56 -
.../Migrations/v400/PermissionRolesTable.php | 54 -
.../Database/Migrations/v400/PermissionsTable.php | 260 -
.../Database/Migrations/v400/PersistencesTable.php | 56 -
.../Database/Migrations/v400/RoleUsersTable.php | 54 -
.../src/Database/Migrations/v400/RolesTable.php | 77 -
.../src/Database/Migrations/v400/UsersTable.php | 68 -
.../Migrations/v400/VerificationsTable.php | 56 -
.../account/src/Database/Models/Activity.php | 83 -
.../account/src/Database/Models/Group.php | 68 -
.../account/src/Database/Models/PasswordReset.php | 74 -
.../account/src/Database/Models/Permission.php | 117 -
.../sprinkles/account/src/Database/Models/Role.php | 101 -
.../sprinkles/account/src/Database/Models/User.php | 469 -
.../account/src/Database/Models/Verification.php | 68 -
.../Handler/AuthCompromisedExceptionHandler.php | 34 -
.../Error/Handler/AuthExpiredExceptionHandler.php | 50 -
.../Error/Handler/ForbiddenExceptionHandler.php | 31 -
.../app/sprinkles/account/src/Facades/Password.php | 28 -
.../src/Log/UserActivityDatabaseHandler.php | 33 -
.../account/src/Log/UserActivityProcessor.php | 44 -
.../src/Repository/PasswordResetRepository.php | 34 -
.../account/src/Repository/TokenRepository.php | 223 -
.../src/Repository/VerificationRepository.php | 31 -
.../src/ServicesProvider/ServicesProvider.php | 444 -
.../account/src/Twig/AccountExtension.php | 62 -
.../account/src/Util/HashFailedException.php | 22 -
main/app/sprinkles/account/src/Util/Util.php | 39 -
.../templates/forms/settings-account.html.twig | 41 -
.../templates/forms/settings-profile.html.twig | 45 -
.../templates/mail/password-reset.html.twig | 28 -
.../templates/mail/resend-verification.html.twig | 20 -
.../templates/mail/verify-account.html.twig | 22 -
.../account/templates/modals/tos.html.twig | 16 -
.../templates/navigation/main-nav.html.twig | 13 -
.../templates/navigation/user-card.html.twig | 35 -
.../templates/pages/account-settings.html.twig | 45 -
.../templates/pages/error/compromised.html.twig | 11 -
.../templates/pages/forgot-password.html.twig | 49 -
.../account/templates/pages/register.html.twig | 117 -
.../templates/pages/resend-verification.html.twig | 49 -
.../templates/pages/reset-password.html.twig | 60 -
.../account/templates/pages/set-password.html.twig | 55 -
.../account/templates/pages/sign-in.html.twig | 90 -
.../sprinkles/account/tests/Unit/FactoriesTest.php | 30 -
.../sprinkles/account/tests/Unit/HasherTest.php | 69 -
main/app/sprinkles/admin/asset-bundles.json | 170 -
.../assets/userfrosting/css/tablesorter-custom.css | 30 -
.../assets/userfrosting/js/pages/activities.js | 16 -
.../assets/userfrosting/js/pages/dashboard.js | 49 -
.../admin/assets/userfrosting/js/pages/group.js | 24 -
.../admin/assets/userfrosting/js/pages/groups.js | 24 -
.../assets/userfrosting/js/pages/permission.js | 20 -
.../assets/userfrosting/js/pages/permissions.js | 16 -
.../admin/assets/userfrosting/js/pages/role.js | 23 -
.../admin/assets/userfrosting/js/pages/roles.js | 24 -
.../admin/assets/userfrosting/js/pages/user.js | 25 -
.../admin/assets/userfrosting/js/pages/users.js | 24 -
.../admin/assets/userfrosting/js/widgets/groups.js | 111 -
.../admin/assets/userfrosting/js/widgets/roles.js | 147 -
.../admin/assets/userfrosting/js/widgets/users.js | 276 -
main/app/sprinkles/admin/composer.json | 26 -
main/app/sprinkles/admin/locale/ar/messages.php | 135 -
main/app/sprinkles/admin/locale/de_DE/messages.php | 161 -
main/app/sprinkles/admin/locale/en_US/messages.php | 160 -
main/app/sprinkles/admin/locale/es_ES/messages.php | 164 -
main/app/sprinkles/admin/locale/fa/messages.php | 158 -
main/app/sprinkles/admin/locale/fr_FR/messages.php | 147 -
main/app/sprinkles/admin/locale/it_IT/messages.php | 160 -
main/app/sprinkles/admin/locale/pt_PT/messages.php | 139 -
main/app/sprinkles/admin/locale/ru_RU/messages.php | 160 -
main/app/sprinkles/admin/locale/th_TH/messages.php | 134 -
main/app/sprinkles/admin/locale/tr/messages.php | 160 -
main/app/sprinkles/admin/locale/zh_CN/messages.php | 161 -
main/app/sprinkles/admin/routes/activities.php | 19 -
main/app/sprinkles/admin/routes/admin.php | 23 -
main/app/sprinkles/admin/routes/groups.php | 39 -
main/app/sprinkles/admin/routes/permissions.php | 25 -
main/app/sprinkles/admin/routes/posts.php | 18 -
main/app/sprinkles/admin/routes/roles.php | 45 -
main/app/sprinkles/admin/routes/search.php | 8 -
main/app/sprinkles/admin/routes/users.php | 61 -
main/app/sprinkles/admin/routes/wormhole.php | 9 -
.../admin/schema/requests/group/create.yaml | 35 -
.../admin/schema/requests/group/edit-info.yaml | 27 -
.../admin/schema/requests/group/get-by-slug.yaml | 6 -
.../admin/schema/requests/role/create.yaml | 26 -
.../admin/schema/requests/role/edit-field.yaml | 24 -
.../admin/schema/requests/role/edit-info.yaml | 20 -
.../admin/schema/requests/role/get-by-slug.yaml | 6 -
.../admin/schema/requests/user/create.yaml | 72 -
.../admin/schema/requests/user/edit-field.yaml | 60 -
.../admin/schema/requests/user/edit-info.yaml | 36 -
.../admin/schema/requests/user/edit-password.yaml | 30 -
.../admin/schema/requests/user/get-by-userid.yaml | 6 -
.../schema/requests/user/get-by-username.yaml | 6 -
main/app/sprinkles/admin/src/Admin.php | 21 -
.../admin/src/Controller/ActivityController.php | 84 -
.../admin/src/Controller/AdminController.php | 148 -
.../admin/src/Controller/GroupController.php | 713 -
.../admin/src/Controller/PermissionController.php | 202 -
.../admin/src/Controller/PostController.php | 193 -
.../admin/src/Controller/RoleController.php | 915 -
.../admin/src/Controller/SearchController.php | 56 -
.../admin/src/Controller/UserController.php | 1516 --
.../admin/src/Controller/WormholeController.php | 147 -
.../src/ServicesProvider/ServicesProvider.php | 84 -
.../admin/src/Sprunje/ActivitySprunje.php | 78 -
.../sprinkles/admin/src/Sprunje/GroupSprunje.php | 42 -
.../admin/src/Sprunje/PermissionSprunje.php | 90 -
.../admin/src/Sprunje/PermissionUserSprunje.php | 48 -
.../sprinkles/admin/src/Sprunje/RoleSprunje.php | 66 -
.../admin/src/Sprunje/UserPermissionSprunje.php | 48 -
.../sprinkles/admin/src/Sprunje/UserSprunje.php | 178 -
.../admin/templates/forms/group.html.twig | 80 -
.../sprinkles/admin/templates/forms/role.html.twig | 65 -
.../sprinkles/admin/templates/forms/user.html.twig | 142 -
.../admin/templates/mail/password-create.html.twig | 23 -
.../templates/modals/confirm-clear-cache.html.twig | 21 -
.../modals/confirm-delete-group.html.twig | 20 -
.../templates/modals/confirm-delete-role.html.twig | 20 -
.../templates/modals/confirm-delete-user.html.twig | 20 -
.../admin/templates/modals/group.html.twig | 7 -
.../modals/role-manage-permissions.html.twig | 96 -
.../admin/templates/modals/role.html.twig | 7 -
.../templates/modals/user-manage-roles.html.twig | 78 -
.../templates/modals/user-set-password.html.twig | 67 -
.../admin/templates/modals/user.html.twig | 7 -
.../admin/templates/navigation/navbar.html.twig | 15 -
.../templates/navigation/sidebar-menu.html.twig | 53 -
.../templates/navigation/sidebar-user.html.twig | 10 -
.../admin/templates/navigation/sidebar.html.twig | 10 -
.../admin/templates/navigation/user-card.html.twig | 9 -
.../templates/pages/abstract/dashboard.html.twig | 90 -
.../admin/templates/pages/activities.html.twig | 45 -
.../admin/templates/pages/dashboard.html.twig | 284 -
.../admin/templates/pages/group.html.twig | 107 -
.../admin/templates/pages/groups.html.twig | 51 -
.../admin/templates/pages/permission.html.twig | 91 -
.../admin/templates/pages/permissions.html.twig | 45 -
.../sprinkles/admin/templates/pages/role.html.twig | 129 -
.../admin/templates/pages/roles.html.twig | 49 -
.../sprinkles/admin/templates/pages/user.html.twig | 208 -
.../admin/templates/pages/users.html.twig | 52 -
.../admin/templates/tables/activities.html.twig | 80 -
.../admin/templates/tables/groups.html.twig | 74 -
.../admin/templates/tables/permissions.html.twig | 71 -
.../admin/templates/tables/roles.html.twig | 79 -
.../admin/templates/tables/users.html.twig | 157 -
.../admin/tests/Integration/SprunjeTests.php | 109 -
main/app/sprinkles/core/asset-bundles.json | 140 -
.../core/assets/SiteAssets/css/DarkTheme.css | 101 -
.../core/assets/SiteAssets/css/LightTheme.css | 104 -
.../core/assets/SiteAssets/css/animate.css | 3514 ----
.../sprinkles/core/assets/SiteAssets/css/main.css | 479 -
.../core/assets/SiteAssets/css/normalize.css | 341 -
.../core/assets/SiteAssets/css/swiper.css | 104 -
.../assets/SiteAssets/icons/BurgerMenuShort.svg | 57 -
.../SiteAssets/icons/BurgerMenuShortActivated.svg | 57 -
.../SiteAssets/icons/ExploreGlobeOutline.svg | 210 -
.../icons/ExploreGlobeOutlineActivated.svg | 210 -
.../assets/SiteAssets/icons/FriendFeedOutline.svg | 82 -
.../icons/FriendFeedOutlineActivated.svg | 82 -
.../SiteAssets/icons/MessageBubbleOutline.svg | 73 -
.../icons/MessageBubbleOutlineActivated.svg | 73 -
.../assets/SiteAssets/icons/UserGroupOutline.svg | 80 -
.../SiteAssets/icons/UserGroupOutlineActivated.svg | 80 -
.../core/assets/SiteAssets/icons/UserOutline.svg | 54 -
.../SiteAssets/icons/UserOutlineActivated.svg | 54 -
.../sprinkles/core/assets/SiteAssets/js/asemica.js | 239 -
.../sprinkles/core/assets/SiteAssets/js/asemica.pl | 625 -
.../sprinkles/core/assets/SiteAssets/js/chat.js | 360 -
.../sprinkles/core/assets/SiteAssets/js/cipher.txt | 1 -
.../core/assets/SiteAssets/js/console.image.js | 280 -
.../sprinkles/core/assets/SiteAssets/js/console.js | 75 -
.../core/assets/SiteAssets/js/encryption.js | 19121 -------------------
.../core/assets/SiteAssets/js/fontawesome.js | 1915 --
.../sprinkles/core/assets/SiteAssets/js/jquery.js | 2678 ---
.../sprinkles/core/assets/SiteAssets/js/linkify.js | 369 -
.../sprinkles/core/assets/SiteAssets/js/main.js | 240 -
.../core/assets/SiteAssets/js/modernizr.js | 1 -
.../core/assets/SiteAssets/js/openpgp.worker.js | 69 -
.../sprinkles/core/assets/SiteAssets/js/popups.js | 3391 ----
.../sprinkles/core/assets/SiteAssets/js/push.js | 712 -
.../sprinkles/core/assets/SiteAssets/js/swiper.js | 556 -
.../sprinkles/core/assets/SiteAssets/notisound.mp3 | Bin 35108 -> 0 bytes
.../php/Chatserver/bin/WebChatServer.php | 18 -
.../assets/SiteAssets/php/Chatserver/bin/nohup.out | 6 -
.../php/Chatserver/src/ChatProcessor.php | 256 -
.../core/assets/SiteAssets/php/SavePublicKey.php | 17 -
.../core/assets/SiteAssets/php/composer.json | 11 -
.../core/assets/SiteAssets/php/scripts.php | 14 -
.../core/assets/SiteAssets/php/stylesheet.php | 8 -
.../core/assets/SiteAssets/php/vendor/autoload.php | 7 -
.../php/vendor/cboden/ratchet/.gitignore | 5 -
.../php/vendor/cboden/ratchet/.travis.yml | 20 -
.../php/vendor/cboden/ratchet/CHANGELOG.md | 135 -
.../SiteAssets/php/vendor/cboden/ratchet/LICENSE | 19 -
.../SiteAssets/php/vendor/cboden/ratchet/Makefile | 42 -
.../SiteAssets/php/vendor/cboden/ratchet/README.md | 83 -
.../php/vendor/cboden/ratchet/composer.json | 42 -
.../php/vendor/cboden/ratchet/phpunit.xml.dist | 30 -
.../src/Ratchet/AbstractConnectionDecorator.php | 43 -
.../php/vendor/cboden/ratchet/src/Ratchet/App.php | 148 -
.../ratchet/src/Ratchet/ComponentInterface.php | 33 -
.../ratchet/src/Ratchet/ConnectionInterface.php | 28 -
.../src/Ratchet/Http/CloseResponseTrait.php | 25 -
.../ratchet/src/Ratchet/Http/HttpRequestParser.php | 67 -
.../cboden/ratchet/src/Ratchet/Http/HttpServer.php | 79 -
.../src/Ratchet/Http/HttpServerInterface.php | 17 -
.../src/Ratchet/Http/NoOpHttpServerController.php | 21 -
.../ratchet/src/Ratchet/Http/OriginCheck.php | 68 -
.../cboden/ratchet/src/Ratchet/Http/Router.php | 99 -
.../src/Ratchet/MessageComponentInterface.php | 7 -
.../ratchet/src/Ratchet/MessageInterface.php | 14 -
.../ratchet/src/Ratchet/Server/EchoServer.php | 26 -
.../ratchet/src/Ratchet/Server/FlashPolicy.php | 203 -
.../ratchet/src/Ratchet/Server/IoConnection.php | 41 -
.../cboden/ratchet/src/Ratchet/Server/IoServer.php | 143 -
.../ratchet/src/Ratchet/Server/IpBlackList.php | 114 -
.../Ratchet/Session/Serialize/HandlerInterface.php | 18 -
.../Ratchet/Session/Serialize/PhpBinaryHandler.php | 35 -
.../src/Ratchet/Session/Serialize/PhpHandler.php | 51 -
.../src/Ratchet/Session/SessionProvider.php | 246 -
.../Ratchet/Session/Storage/Proxy/VirtualProxy.php | 57 -
.../Session/Storage/VirtualSessionStorage.php | 91 -
.../cboden/ratchet/src/Ratchet/Wamp/Exception.php | 7 -
.../ratchet/src/Ratchet/Wamp/JsonException.php | 33 -
.../ratchet/src/Ratchet/Wamp/ServerProtocol.php | 164 -
.../cboden/ratchet/src/Ratchet/Wamp/Topic.php | 102 -
.../ratchet/src/Ratchet/Wamp/TopicManager.php | 128 -
.../ratchet/src/Ratchet/Wamp/WampConnection.php | 118 -
.../cboden/ratchet/src/Ratchet/Wamp/WampServer.php | 70 -
.../src/Ratchet/Wamp/WampServerInterface.php | 46 -
.../ratchet/src/Ratchet/WebSocket/ConnContext.php | 23 -
.../Ratchet/WebSocket/MessageCallableInterface.php | 11 -
.../WebSocket/MessageComponentInterface.php | 9 -
.../ratchet/src/Ratchet/WebSocket/WsConnection.php | 48 -
.../ratchet/src/Ratchet/WebSocket/WsServer.php | 229 -
.../src/Ratchet/WebSocket/WsServerInterface.php | 16 -
.../ratchet/tests/autobahn/bin/fuzzingserver.php | 38 -
.../ratchet/tests/autobahn/fuzzingclient-all.json | 41 -
.../tests/autobahn/fuzzingclient-profile.json | 29 -
.../tests/autobahn/fuzzingclient-quick.json | 20 -
.../php/vendor/cboden/ratchet/tests/bootstrap.php | 4 -
.../Ratchet/AbstractMessageComponentTestCase.php | 54 -
.../tests/helpers/Ratchet/Mock/Component.php | 38 -
.../tests/helpers/Ratchet/Mock/Connection.php | 23 -
.../helpers/Ratchet/Mock/ConnectionDecorator.php | 25 -
.../tests/helpers/Ratchet/Mock/WampComponent.php | 46 -
.../tests/helpers/Ratchet/NullComponent.php | 39 -
.../Ratchet/Wamp/Stub/WsWampServerInterface.php | 10 -
.../WebSocket/Stub/WsMessageComponentInterface.php | 10 -
.../tests/unit/AbstractConnectionDecoratorTest.php | 150 -
.../tests/unit/Http/HttpRequestParserTest.php | 52 -
.../ratchet/tests/unit/Http/HttpServerTest.php | 67 -
.../ratchet/tests/unit/Http/OriginCheckTest.php | 49 -
.../cboden/ratchet/tests/unit/Http/RouterTest.php | 168 -
.../ratchet/tests/unit/Server/EchoServerTest.php | 29 -
.../tests/unit/Server/FlashPolicyComponentTest.php | 155 -
.../ratchet/tests/unit/Server/IoConnectionTest.php | 35 -
.../ratchet/tests/unit/Server/IoServerTest.php | 121 -
.../tests/unit/Server/IpBlackListComponentTest.php | 127 -
.../unit/Session/Serialize/PhpHandlerTest.php | 46 -
.../tests/unit/Session/SessionComponentTest.php | 127 -
.../Storage/VirtualSessionStoragePDOTest.php | 56 -
.../ratchet/tests/unit/Wamp/ServerProtocolTest.php | 298 -
.../ratchet/tests/unit/Wamp/TopicManagerTest.php | 228 -
.../cboden/ratchet/tests/unit/Wamp/TopicTest.php | 166 -
.../ratchet/tests/unit/Wamp/WampConnectionTest.php | 79 -
.../ratchet/tests/unit/Wamp/WampServerTest.php | 51 -
.../SiteAssets/php/vendor/composer/ClassLoader.php | 423 -
.../assets/SiteAssets/php/vendor/composer/LICENSE | 21 -
.../php/vendor/composer/autoload_classmap.php | 84 -
.../php/vendor/composer/autoload_files.php | 15 -
.../php/vendor/composer/autoload_namespaces.php | 10 -
.../php/vendor/composer/autoload_psr4.php | 28 -
.../php/vendor/composer/autoload_real.php | 67 -
.../php/vendor/composer/autoload_static.php | 237 -
.../SiteAssets/php/vendor/composer/installed.json | 1125 --
.../php/vendor/evenement/evenement/.gitignore | 2 -
.../php/vendor/evenement/evenement/.travis.yml | 24 -
.../php/vendor/evenement/evenement/CHANGELOG.md | 35 -
.../php/vendor/evenement/evenement/LICENSE | 19 -
.../php/vendor/evenement/evenement/README.md | 83 -
.../php/vendor/evenement/evenement/composer.json | 34 -
.../php/vendor/evenement/evenement/doc/00-intro.md | 28 -
.../php/vendor/evenement/evenement/doc/01-api.md | 91 -
.../evenement/evenement/doc/02-plugin-system.md | 155 -
.../examples/benchmark-emit-no-arguments.php | 29 -
.../evenement/examples/benchmark-emit-once.php | 31 -
.../examples/benchmark-emit-one-argument.php | 29 -
.../evenement/examples/benchmark-emit.php | 29 -
.../examples/benchmark-remove-listener-once.php | 40 -
.../vendor/evenement/evenement/phpunit.xml.dist | 24 -
.../evenement/src/Evenement/EventEmitter.php | 17 -
.../src/Evenement/EventEmitterInterface.php | 27 -
.../evenement/src/Evenement/EventEmitterTrait.php | 129 -
.../tests/Evenement/Tests/EventEmitterTest.php | 422 -
.../evenement/tests/Evenement/Tests/Listener.php | 45 -
.../evenement/tests/Evenement/Tests/functions.php | 16 -
.../php/vendor/guzzlehttp/psr7/CHANGELOG.md | 110 -
.../SiteAssets/php/vendor/guzzlehttp/psr7/LICENSE | 19 -
.../php/vendor/guzzlehttp/psr7/README.md | 739 -
.../php/vendor/guzzlehttp/psr7/composer.json | 49 -
.../vendor/guzzlehttp/psr7/src/AppendStream.php | 217 -
.../vendor/guzzlehttp/psr7/src/BufferStream.php | 122 -
.../vendor/guzzlehttp/psr7/src/CachingStream.php | 131 -
.../vendor/guzzlehttp/psr7/src/DroppingStream.php | 41 -
.../php/vendor/guzzlehttp/psr7/src/FnStream.php | 131 -
.../vendor/guzzlehttp/psr7/src/InflateStream.php | 51 -
.../vendor/guzzlehttp/psr7/src/LazyOpenStream.php | 38 -
.../php/vendor/guzzlehttp/psr7/src/LimitStream.php | 149 -
.../vendor/guzzlehttp/psr7/src/MessageTrait.php | 171 -
.../vendor/guzzlehttp/psr7/src/MultipartStream.php | 146 -
.../vendor/guzzlehttp/psr7/src/NoSeekStream.php | 21 -
.../php/vendor/guzzlehttp/psr7/src/PumpStream.php | 149 -
.../php/vendor/guzzlehttp/psr7/src/Request.php | 136 -
.../php/vendor/guzzlehttp/psr7/src/Response.php | 130 -
.../vendor/guzzlehttp/psr7/src/ServerRequest.php | 341 -
.../php/vendor/guzzlehttp/psr7/src/Stream.php | 240 -
.../guzzlehttp/psr7/src/StreamDecoratorTrait.php | 131 -
.../vendor/guzzlehttp/psr7/src/StreamWrapper.php | 113 -
.../vendor/guzzlehttp/psr7/src/UploadedFile.php | 301 -
.../php/vendor/guzzlehttp/psr7/src/Uri.php | 665 -
.../vendor/guzzlehttp/psr7/src/UriNormalizer.php | 212 -
.../php/vendor/guzzlehttp/psr7/src/UriResolver.php | 215 -
.../php/vendor/guzzlehttp/psr7/src/functions.php | 814 -
.../guzzlehttp/psr7/src/functions_include.php | 6 -
.../vendor/kriswallsmith/assetic/CHANGELOG-1.0.md | 36 -
.../vendor/kriswallsmith/assetic/CHANGELOG-1.1.md | 57 -
.../vendor/kriswallsmith/assetic/CHANGELOG-1.2.md | 49 -
.../php/vendor/kriswallsmith/assetic/Gemfile | 5 -
.../php/vendor/kriswallsmith/assetic/LICENSE | 19 -
.../php/vendor/kriswallsmith/assetic/README.md | 345 -
.../php/vendor/kriswallsmith/assetic/composer.json | 64 -
.../php/vendor/kriswallsmith/assetic/package.json | 19 -
.../assetic/src/Assetic/Asset/AssetCache.php | 156 -
.../assetic/src/Assetic/Asset/AssetCollection.php | 215 -
.../src/Assetic/Asset/AssetCollectionInterface.php | 59 -
.../assetic/src/Assetic/Asset/AssetInterface.php | 166 -
.../assetic/src/Assetic/Asset/AssetReference.php | 143 -
.../assetic/src/Assetic/Asset/BaseAsset.php | 164 -
.../assetic/src/Assetic/Asset/FileAsset.php | 75 -
.../assetic/src/Assetic/Asset/GlobAsset.php | 107 -
.../assetic/src/Assetic/Asset/HttpAsset.php | 76 -
.../Iterator/AssetCollectionFilterIterator.php | 81 -
.../Asset/Iterator/AssetCollectionIterator.php | 119 -
.../assetic/src/Assetic/Asset/StringAsset.php | 51 -
.../assetic/src/Assetic/AssetManager.php | 84 -
.../assetic/src/Assetic/AssetWriter.php | 89 -
.../assetic/src/Assetic/Cache/ApcCache.php | 62 -
.../assetic/src/Assetic/Cache/ArrayCache.php | 54 -
.../assetic/src/Assetic/Cache/CacheInterface.php | 53 -
.../assetic/src/Assetic/Cache/ConfigCache.php | 117 -
.../assetic/src/Assetic/Cache/ExpiringCache.php | 55 -
.../assetic/src/Assetic/Cache/FilesystemCache.php | 60 -
.../assetic/src/Assetic/Exception/Exception.php | 21 -
.../src/Assetic/Exception/FilterException.php | 68 -
.../Assetic/Extension/Twig/AsseticExtension.php | 70 -
.../Extension/Twig/AsseticFilterFunction.php | 23 -
.../Extension/Twig/AsseticFilterInvoker.php | 54 -
.../Assetic/Extension/Twig/AsseticFilterNode.php | 21 -
.../src/Assetic/Extension/Twig/AsseticNode.php | 151 -
.../Assetic/Extension/Twig/AsseticTokenParser.php | 192 -
.../Assetic/Extension/Twig/TwigFormulaLoader.php | 105 -
.../src/Assetic/Extension/Twig/TwigResource.php | 52 -
.../src/Assetic/Extension/Twig/ValueContainer.php | 71 -
.../assetic/src/Assetic/Factory/AssetFactory.php | 402 -
.../src/Assetic/Factory/LazyAssetManager.php | 197 -
.../Factory/Loader/BasePhpFormulaLoader.php | 158 -
.../Assetic/Factory/Loader/CachedFormulaLoader.php | 66 -
.../Factory/Loader/FormulaLoaderInterface.php | 34 -
.../Factory/Loader/FunctionCallsFormulaLoader.php | 51 -
.../Resource/CoalescingDirectoryResource.php | 104 -
.../Assetic/Factory/Resource/DirectoryResource.php | 123 -
.../src/Assetic/Factory/Resource/FileResource.php | 43 -
.../Factory/Resource/IteratorResourceInterface.php | 21 -
.../Assetic/Factory/Resource/ResourceInterface.php | 43 -
.../Assetic/Factory/Worker/CacheBustingWorker.php | 67 -
.../Assetic/Factory/Worker/EnsureFilterWorker.php | 59 -
.../src/Assetic/Factory/Worker/WorkerInterface.php | 33 -
.../src/Assetic/Filter/AutoprefixerFilter.php | 82 -
.../assetic/src/Assetic/Filter/BaseCssFilter.php | 50 -
.../assetic/src/Assetic/Filter/BaseNodeFilter.php | 40 -
.../src/Assetic/Filter/BaseProcessFilter.php | 54 -
.../assetic/src/Assetic/Filter/CallablesFilter.php | 58 -
.../assetic/src/Assetic/Filter/CleanCssFilter.php | 323 -
.../src/Assetic/Filter/CoffeeScriptFilter.php | 78 -
.../assetic/src/Assetic/Filter/CompassFilter.php | 363 -
.../src/Assetic/Filter/CssCacheBustingFilter.php | 61 -
.../assetic/src/Assetic/Filter/CssEmbedFilter.php | 132 -
.../assetic/src/Assetic/Filter/CssImportFilter.php | 104 -
.../assetic/src/Assetic/Filter/CssMinFilter.php | 65 -
.../src/Assetic/Filter/CssRewriteFilter.php | 100 -
.../assetic/src/Assetic/Filter/DartFilter.php | 68 -
.../Filter/DependencyExtractorInterface.php | 34 -
.../src/Assetic/Filter/EmberPrecompileFilter.php | 84 -
.../src/Assetic/Filter/FilterCollection.php | 74 -
.../assetic/src/Assetic/Filter/FilterInterface.php | 36 -
.../Filter/GoogleClosure/BaseCompilerFilter.php | 91 -
.../Filter/GoogleClosure/CompilerApiFilter.php | 127 -
.../Filter/GoogleClosure/CompilerJarFilter.php | 109 -
.../assetic/src/Assetic/Filter/GssFilter.php | 131 -
.../src/Assetic/Filter/HandlebarsFilter.php | 101 -
.../src/Assetic/Filter/HashableInterface.php | 27 -
.../assetic/src/Assetic/Filter/JSMinFilter.php | 32 -
.../assetic/src/Assetic/Filter/JSMinPlusFilter.php | 32 -
.../assetic/src/Assetic/Filter/JSqueezeFilter.php | 71 -
.../assetic/src/Assetic/Filter/JpegoptimFilter.php | 76 -
.../assetic/src/Assetic/Filter/JpegtranFilter.php | 96 -
.../assetic/src/Assetic/Filter/LessFilter.php | 197 -
.../assetic/src/Assetic/Filter/LessphpFilter.php | 157 -
.../Assetic/Filter/MinifyCssCompressorFilter.php | 33 -
.../assetic/src/Assetic/Filter/OptiPngFilter.php | 71 -
.../assetic/src/Assetic/Filter/PackagerFilter.php | 61 -
.../assetic/src/Assetic/Filter/PackerFilter.php | 51 -
.../src/Assetic/Filter/PhpCssEmbedFilter.php | 48 -
.../assetic/src/Assetic/Filter/PngoutFilter.php | 121 -
.../assetic/src/Assetic/Filter/ReactJsxFilter.php | 71 -
.../assetic/src/Assetic/Filter/RooleFilter.php | 80 -
.../src/Assetic/Filter/Sass/BaseSassFilter.php | 91 -
.../assetic/src/Assetic/Filter/Sass/SassFilter.php | 172 -
.../assetic/src/Assetic/Filter/Sass/ScssFilter.php | 27 -
.../assetic/src/Assetic/Filter/SassphpFilter.php | 125 -
.../assetic/src/Assetic/Filter/ScssphpFilter.php | 136 -
.../assetic/src/Assetic/Filter/SeparatorFilter.php | 44 -
.../assetic/src/Assetic/Filter/SprocketsFilter.php | 145 -
.../assetic/src/Assetic/Filter/StylusFilter.php | 120 -
.../src/Assetic/Filter/TypeScriptFilter.php | 77 -
.../assetic/src/Assetic/Filter/UglifyCssFilter.php | 114 -
.../assetic/src/Assetic/Filter/UglifyJs2Filter.php | 142 -
.../assetic/src/Assetic/Filter/UglifyJsFilter.php | 152 -
.../Assetic/Filter/Yui/BaseCompressorFilter.php | 111 -
.../src/Assetic/Filter/Yui/CssCompressorFilter.php | 27 -
.../src/Assetic/Filter/Yui/JsCompressorFilter.php | 57 -
.../assetic/src/Assetic/FilterManager.php | 59 -
.../assetic/src/Assetic/Util/CssUtils.php | 131 -
.../assetic/src/Assetic/Util/FilesystemUtils.php | 80 -
.../assetic/src/Assetic/Util/LessUtils.php | 24 -
.../assetic/src/Assetic/Util/SassUtils.php | 22 -
.../assetic/src/Assetic/Util/TraversableString.php | 40 -
.../assetic/src/Assetic/Util/VarUtils.php | 81 -
.../assetic/src/Assetic/ValueSupplierInterface.php | 29 -
.../vendor/kriswallsmith/assetic/src/functions.php | 120 -
.../php/vendor/lmammino/jsmin4assetic/LICENSE | 19 -
.../vendor/lmammino/jsmin4assetic/README.markdown | 21 -
.../vendor/lmammino/jsmin4assetic/composer.json | 28 -
.../vendor/lmammino/jsmin4assetic/src/JSMin.php | 381 -
.../src/JSMinUnterminatedCommentException.php | 6 -
.../src/JSMinUnterminatedRegExpException.php | 6 -
.../src/JSMinUnterminatedStringException.php | 6 -
.../vendor/matthiasmullie/minify/CONTRIBUTING.md | 59 -
.../php/vendor/matthiasmullie/minify/Dockerfile | 13 -
.../php/vendor/matthiasmullie/minify/LICENSE | 18 -
.../php/vendor/matthiasmullie/minify/bin/minifycss | 46 -
.../php/vendor/matthiasmullie/minify/bin/minifyjs | 46 -
.../php/vendor/matthiasmullie/minify/composer.json | 44 -
.../minify/data/js/keywords_after.txt | 7 -
.../minify/data/js/keywords_before.txt | 26 -
.../minify/data/js/keywords_reserved.txt | 63 -
.../matthiasmullie/minify/data/js/operators.txt | 46 -
.../minify/data/js/operators_after.txt | 43 -
.../minify/data/js/operators_before.txt | 43 -
.../matthiasmullie/minify/docker-compose.yml | 31 -
.../php/vendor/matthiasmullie/minify/src/CSS.php | 719 -
.../vendor/matthiasmullie/minify/src/Exception.php | 21 -
.../minify/src/Exceptions/BasicException.php | 24 -
.../minify/src/Exceptions/FileImportException.php | 22 -
.../minify/src/Exceptions/IOException.php | 22 -
.../php/vendor/matthiasmullie/minify/src/JS.php | 590 -
.../vendor/matthiasmullie/minify/src/Minify.php | 440 -
.../vendor/matthiasmullie/path-converter/LICENSE | 18 -
.../matthiasmullie/path-converter/composer.json | 33 -
.../path-converter/src/Converter.php | 190 -
.../path-converter/src/ConverterInterface.php | 24 -
.../path-converter/src/NoConverter.php | 22 -
.../SiteAssets/php/vendor/natxet/CssMin/README | 3 -
.../php/vendor/natxet/CssMin/composer.json | 31 -
.../php/vendor/natxet/CssMin/src/CssMin.php | 4744 -----
.../nubs/random-name-generator/.coveralls.yml | 3 -
.../vendor/nubs/random-name-generator/.gitignore | 2 -
.../nubs/random-name-generator/.scrutinizer.yml | 19 -
.../vendor/nubs/random-name-generator/.travis.yml | 9 -
.../nubs/random-name-generator/CONTRIBUTING.md | 38 -
.../nubs/random-name-generator/Dockerfile.tests | 5 -
.../php/vendor/nubs/random-name-generator/LICENSE | 21 -
.../vendor/nubs/random-name-generator/README.md | 91 -
.../vendor/nubs/random-name-generator/build.php | 25 -
.../nubs/random-name-generator/composer.json | 35 -
.../nubs/random-name-generator/docker-compose.yml | 8 -
.../vendor/nubs/random-name-generator/phpunit.xml | 10 -
.../src/AbstractGenerator.php | 19 -
.../vendor/nubs/random-name-generator/src/All.php | 59 -
.../random-name-generator/src/Alliteration.php | 57 -
.../nubs/random-name-generator/src/Generator.php | 17 -
.../vendor/nubs/random-name-generator/src/Vgng.php | 131 -
.../nubs/random-name-generator/src/adjectives.txt | 233 -
.../nubs/random-name-generator/src/nouns.txt | 313 -
.../random-name-generator/src/video_game_names.txt | 1276 --
.../nubs/random-name-generator/tests/AllTest.php | 70 -
.../tests/AlliterationTest.php | 64 -
.../nubs/random-name-generator/tests/VgngTest.php | 65 -
.../php/vendor/paragonie/random_compat/LICENSE | 22 -
.../vendor/paragonie/random_compat/build-phar.sh | 5 -
.../vendor/paragonie/random_compat/composer.json | 37 -
.../random_compat/dist/random_compat.phar.pubkey | 5 -
.../dist/random_compat.phar.pubkey.asc | 11 -
.../random_compat/lib/byte_safe_strings.php | 177 -
.../paragonie/random_compat/lib/cast_to_int.php | 74 -
.../paragonie/random_compat/lib/error_polyfill.php | 49 -
.../vendor/paragonie/random_compat/lib/random.php | 224 -
.../random_compat/lib/random_bytes_com_dotnet.php | 87 -
.../random_compat/lib/random_bytes_dev_urandom.php | 166 -
.../random_compat/lib/random_bytes_libsodium.php | 87 -
.../lib/random_bytes_libsodium_legacy.php | 91 -
.../random_compat/lib/random_bytes_mcrypt.php | 76 -
.../paragonie/random_compat/lib/random_int.php | 189 -
.../paragonie/random_compat/other/build_phar.php | 57 -
.../paragonie/random_compat/psalm-autoload.php | 9 -
.../php/vendor/paragonie/random_compat/psalm.xml | 18 -
.../php/vendor/psr/http-message/CHANGELOG.md | 36 -
.../SiteAssets/php/vendor/psr/http-message/LICENSE | 19 -
.../php/vendor/psr/http-message/README.md | 13 -
.../php/vendor/psr/http-message/composer.json | 33 -
.../psr/http-message/src/MessageInterface.php | 187 -
.../psr/http-message/src/RequestInterface.php | 129 -
.../psr/http-message/src/ResponseInterface.php | 68 -
.../http-message/src/ServerRequestInterface.php | 261 -
.../psr/http-message/src/StreamInterface.php | 158 -
.../psr/http-message/src/UploadedFileInterface.php | 123 -
.../vendor/psr/http-message/src/UriInterface.php | 324 -
.../php/vendor/ratchet/rfc6455/.gitignore | 4 -
.../php/vendor/ratchet/rfc6455/.travis.yml | 20 -
.../SiteAssets/php/vendor/ratchet/rfc6455/LICENSE | 19 -
.../php/vendor/ratchet/rfc6455/README.md | 13 -
.../php/vendor/ratchet/rfc6455/composer.json | 38 -
.../php/vendor/ratchet/rfc6455/phpunit.xml.dist | 27 -
.../rfc6455/src/Handshake/ClientNegotiator.php | 56 -
.../rfc6455/src/Handshake/NegotiatorInterface.php | 50 -
.../rfc6455/src/Handshake/RequestVerifier.php | 143 -
.../rfc6455/src/Handshake/ResponseVerifier.php | 55 -
.../rfc6455/src/Handshake/ServerNegotiator.php | 139 -
.../rfc6455/src/Messaging/CloseFrameChecker.php | 26 -
.../rfc6455/src/Messaging/DataInterface.php | 36 -
.../vendor/ratchet/rfc6455/src/Messaging/Frame.php | 475 -
.../rfc6455/src/Messaging/FrameInterface.php | 40 -
.../ratchet/rfc6455/src/Messaging/Message.php | 125 -
.../rfc6455/src/Messaging/MessageBuffer.php | 234 -
.../rfc6455/src/Messaging/MessageInterface.php | 22 -
.../vendor/ratchet/rfc6455/tests/AbResultsTest.php | 32 -
.../ratchet/rfc6455/tests/ab/clientRunner.php | 227 -
.../ratchet/rfc6455/tests/ab/fuzzingclient.json | 24 -
.../ratchet/rfc6455/tests/ab/fuzzingserver.json | 16 -
.../ratchet/rfc6455/tests/ab/run_ab_tests.sh | 11 -
.../ratchet/rfc6455/tests/ab/startServer.php | 56 -
.../php/vendor/ratchet/rfc6455/tests/bootstrap.php | 19 -
.../tests/unit/Handshake/RequestVerifierTest.php | 181 -
.../tests/unit/Handshake/ResponseVerifierTest.php | 37 -
.../tests/unit/Handshake/ServerNegotiatorTest.php | 175 -
.../rfc6455/tests/unit/Messaging/FrameTest.php | 506 -
.../tests/unit/Messaging/MessageBufferTest.php | 39 -
.../rfc6455/tests/unit/Messaging/MessageTest.php | 59 -
.../SiteAssets/php/vendor/react/cache/.gitignore | 2 -
.../SiteAssets/php/vendor/react/cache/.travis.yml | 25 -
.../SiteAssets/php/vendor/react/cache/CHANGELOG.md | 35 -
.../SiteAssets/php/vendor/react/cache/LICENSE | 19 -
.../SiteAssets/php/vendor/react/cache/README.md | 171 -
.../php/vendor/react/cache/composer.json | 28 -
.../php/vendor/react/cache/phpunit.xml.dist | 20 -
.../php/vendor/react/cache/src/ArrayCache.php | 26 -
.../php/vendor/react/cache/src/CacheInterface.php | 13 -
.../vendor/react/cache/tests/ArrayCacheTest.php | 56 -
.../php/vendor/react/cache/tests/CallableStub.php | 9 -
.../php/vendor/react/cache/tests/TestCase.php | 39 -
.../SiteAssets/php/vendor/react/dns/.gitignore | 2 -
.../SiteAssets/php/vendor/react/dns/.travis.yml | 29 -
.../SiteAssets/php/vendor/react/dns/CHANGELOG.md | 179 -
.../assets/SiteAssets/php/vendor/react/dns/LICENSE | 19 -
.../SiteAssets/php/vendor/react/dns/README.md | 209 -
.../SiteAssets/php/vendor/react/dns/composer.json | 33 -
.../php/vendor/react/dns/examples/01-one.php | 22 -
.../vendor/react/dns/examples/02-concurrent.php | 27 -
.../php/vendor/react/dns/examples/03-cached.php | 40 -
.../react/dns/examples/04-query-a-and-aaaa.php | 32 -
.../php/vendor/react/dns/phpunit.xml.dist | 25 -
.../vendor/react/dns/src/BadServerException.php | 7 -
.../php/vendor/react/dns/src/Config/Config.php | 124 -
.../react/dns/src/Config/FilesystemFactory.php | 69 -
.../php/vendor/react/dns/src/Config/HostsFile.php | 146 -
.../php/vendor/react/dns/src/Model/HeaderBag.php | 50 -
.../php/vendor/react/dns/src/Model/Message.php | 95 -
.../php/vendor/react/dns/src/Model/Record.php | 20 -
.../vendor/react/dns/src/Protocol/BinaryDumper.php | 59 -
.../php/vendor/react/dns/src/Protocol/Parser.php | 242 -
.../vendor/react/dns/src/Query/CachedExecutor.php | 51 -
.../react/dns/src/Query/CancellationException.php | 7 -
.../php/vendor/react/dns/src/Query/Executor.php | 150 -
.../react/dns/src/Query/ExecutorInterface.php | 8 -
.../react/dns/src/Query/HostsFileExecutor.php | 86 -
.../php/vendor/react/dns/src/Query/Query.php | 18 -
.../php/vendor/react/dns/src/Query/RecordBag.php | 25 -
.../php/vendor/react/dns/src/Query/RecordCache.php | 75 -
.../vendor/react/dns/src/Query/RetryExecutor.php | 41 -
.../react/dns/src/Query/TimeoutException.php | 7 -
.../vendor/react/dns/src/Query/TimeoutExecutor.php | 30 -
.../react/dns/src/RecordNotFoundException.php | 7 -
.../php/vendor/react/dns/src/Resolver/Factory.php | 96 -
.../php/vendor/react/dns/src/Resolver/Resolver.php | 92 -
.../php/vendor/react/dns/tests/CallableStub.php | 9 -
.../vendor/react/dns/tests/Config/ConfigTest.php | 174 -
.../dns/tests/Config/FilesystemFactoryTest.php | 68 -
.../react/dns/tests/Config/HostsFileTest.php | 149 -
.../react/dns/tests/Fixtures/etc/resolv.conf | 1 -
.../react/dns/tests/FunctionalResolverTest.php | 65 -
.../vendor/react/dns/tests/Model/MessageTest.php | 28 -
.../react/dns/tests/Protocol/BinaryDumperTest.php | 45 -
.../vendor/react/dns/tests/Protocol/ParserTest.php | 330 -
.../react/dns/tests/Query/CachedExecutorTest.php | 99 -
.../vendor/react/dns/tests/Query/ExecutorTest.php | 291 -
.../dns/tests/Query/HostsFileExecutorTest.php | 112 -
.../vendor/react/dns/tests/Query/RecordBagTest.php | 61 -
.../react/dns/tests/Query/RecordCacheTest.php | 117 -
.../react/dns/tests/Query/RetryExecutorTest.php | 188 -
.../react/dns/tests/Query/TimeoutExecutorTest.php | 110 -
.../react/dns/tests/Resolver/FactoryTest.php | 121 -
.../dns/tests/Resolver/ResolveAliasesTest.php | 97 -
.../react/dns/tests/Resolver/ResolverTest.php | 123 -
.../php/vendor/react/dns/tests/TestCase.php | 56 -
.../php/vendor/react/event-loop/.gitignore | 3 -
.../php/vendor/react/event-loop/.travis.yml | 39 -
.../php/vendor/react/event-loop/CHANGELOG.md | 316 -
.../SiteAssets/php/vendor/react/event-loop/LICENSE | 19 -
.../php/vendor/react/event-loop/README.md | 702 -
.../php/vendor/react/event-loop/composer.json | 24 -
.../vendor/react/event-loop/examples/01-timers.php | 15 -
.../react/event-loop/examples/02-periodic.php | 16 -
.../vendor/react/event-loop/examples/03-ticks.php | 15 -
.../react/event-loop/examples/04-signals.php | 19 -
.../react/event-loop/examples/11-consume-stdin.php | 30 -
.../react/event-loop/examples/12-generate-yes.php | 41 -
.../examples/13-http-client-blocking.php | 35 -
.../event-loop/examples/14-http-client-async.php | 63 -
.../react/event-loop/examples/21-http-server.php | 36 -
.../event-loop/examples/91-benchmark-ticks.php | 16 -
.../event-loop/examples/92-benchmark-timers.php | 16 -
.../examples/93-benchmark-ticks-delay.php | 22 -
.../examples/94-benchmark-timers-delay.php | 22 -
.../event-loop/examples/95-benchmark-memory.php | 67 -
.../php/vendor/react/event-loop/phpunit.xml.dist | 25 -
.../php/vendor/react/event-loop/src/ExtEvLoop.php | 237 -
.../vendor/react/event-loop/src/ExtEventLoop.php | 243 -
.../vendor/react/event-loop/src/ExtLibevLoop.php | 186 -
.../react/event-loop/src/ExtLibeventLoop.php | 267 -
.../php/vendor/react/event-loop/src/Factory.php | 40 -
.../vendor/react/event-loop/src/LoopInterface.php | 463 -
.../vendor/react/event-loop/src/SignalsHandler.php | 58 -
.../react/event-loop/src/StreamSelectLoop.php | 260 -
.../react/event-loop/src/Tick/FutureTickQueue.php | 56 -
.../vendor/react/event-loop/src/Timer/Timer.php | 51 -
.../vendor/react/event-loop/src/Timer/Timers.php | 100 -
.../vendor/react/event-loop/src/TimerInterface.php | 27 -
.../react/event-loop/tests/AbstractLoopTest.php | 593 -
.../vendor/react/event-loop/tests/CallableStub.php | 9 -
.../react/event-loop/tests/ExtEvLoopTest.php | 16 -
.../react/event-loop/tests/ExtEventLoopTest.php | 80 -
.../react/event-loop/tests/ExtLibevLoopTest.php | 20 -
.../react/event-loop/tests/ExtLibeventLoopTest.php | 54 -
.../react/event-loop/tests/SignalsHandlerTest.php | 54 -
.../event-loop/tests/StreamSelectLoopTest.php | 140 -
.../php/vendor/react/event-loop/tests/TestCase.php | 48 -
.../event-loop/tests/Timer/AbstractTimerTest.php | 116 -
.../event-loop/tests/Timer/ExtEvTimerTest.php | 16 -
.../event-loop/tests/Timer/ExtEventTimerTest.php | 16 -
.../event-loop/tests/Timer/ExtLibevTimerTest.php | 16 -
.../tests/Timer/ExtLibeventTimerTest.php | 16 -
.../tests/Timer/StreamSelectTimerTest.php | 12 -
.../react/event-loop/tests/Timer/TimersTest.php | 26 -
.../vendor/react/event-loop/tests/bootstrap.php | 15 -
.../php/vendor/react/event-loop/travis-init.sh | 42 -
.../php/vendor/react/promise-timer/.gitignore | 2 -
.../php/vendor/react/promise-timer/.travis.yml | 26 -
.../php/vendor/react/promise-timer/CHANGELOG.md | 40 -
.../php/vendor/react/promise-timer/LICENSE | 21 -
.../php/vendor/react/promise-timer/README.md | 372 -
.../php/vendor/react/promise-timer/composer.json | 41 -
.../vendor/react/promise-timer/phpunit.xml.dist | 19 -
.../react/promise-timer/src/TimeoutException.php | 20 -
.../vendor/react/promise-timer/src/functions.php | 67 -
.../react/promise-timer/tests/CallableStub.php | 9 -
.../promise-timer/tests/FunctionRejectTest.php | 44 -
.../promise-timer/tests/FunctionResolveTest.php | 64 -
.../promise-timer/tests/FunctionTimeoutTest.php | 168 -
.../vendor/react/promise-timer/tests/TestCase.php | 54 -
.../promise-timer/tests/TimeoutExceptionTest.php | 14 -
.../SiteAssets/php/vendor/react/promise/.gitignore | 5 -
.../php/vendor/react/promise/.travis.yml | 22 -
.../php/vendor/react/promise/CHANGELOG.md | 96 -
.../SiteAssets/php/vendor/react/promise/LICENSE | 22 -
.../SiteAssets/php/vendor/react/promise/README.md | 840 -
.../php/vendor/react/promise/composer.json | 34 -
.../php/vendor/react/promise/phpunit.xml.dist | 28 -
.../promise/src/CancellablePromiseInterface.php | 11 -
.../vendor/react/promise/src/CancellationQueue.php | 52 -
.../php/vendor/react/promise/src/Deferred.php | 54 -
.../promise/src/Exception/LengthException.php | 7 -
.../react/promise/src/ExtendedPromiseInterface.php | 26 -
.../vendor/react/promise/src/FulfilledPromise.php | 61 -
.../php/vendor/react/promise/src/LazyPromise.php | 55 -
.../php/vendor/react/promise/src/Promise.php | 201 -
.../vendor/react/promise/src/PromiseInterface.php | 11 -
.../vendor/react/promise/src/PromisorInterface.php | 11 -
.../vendor/react/promise/src/RejectedPromise.php | 69 -
.../promise/src/UnhandledRejectionException.php | 28 -
.../php/vendor/react/promise/src/functions.php | 235 -
.../vendor/react/promise/src/functions_include.php | 5 -
.../react/promise/tests/CancellationQueueTest.php | 93 -
.../vendor/react/promise/tests/DeferredTest.php | 40 -
.../react/promise/tests/FulfilledPromiseTest.php | 48 -
.../vendor/react/promise/tests/FunctionAllTest.php | 106 -
.../vendor/react/promise/tests/FunctionAnyTest.php | 191 -
.../promise/tests/FunctionCheckTypehintTest.php | 100 -
.../vendor/react/promise/tests/FunctionMapTest.php | 185 -
.../react/promise/tests/FunctionRaceTest.php | 199 -
.../react/promise/tests/FunctionReduceTest.php | 326 -
.../react/promise/tests/FunctionRejectTest.php | 61 -
.../react/promise/tests/FunctionResolveTest.php | 163 -
.../react/promise/tests/FunctionSomeTest.php | 243 -
.../vendor/react/promise/tests/LazyPromiseTest.php | 101 -
.../PromiseAdapter/CallbackPromiseAdapter.php | 34 -
.../PromiseAdapter/PromiseAdapterInterface.php | 18 -
.../php/vendor/react/promise/tests/PromiseTest.php | 80 -
.../promise/tests/PromiseTest/CancelTestTrait.php | 221 -
.../promise/tests/PromiseTest/FullTestTrait.php | 15 -
.../promise/tests/PromiseTest/NotifyTestTrait.php | 323 -
.../PromiseTest/PromiseFulfilledTestTrait.php | 334 -
.../tests/PromiseTest/PromisePendingTestTrait.php | 62 -
.../tests/PromiseTest/PromiseRejectedTestTrait.php | 487 -
.../tests/PromiseTest/PromiseSettledTestTrait.php | 81 -
.../promise/tests/PromiseTest/RejectTestTrait.php | 350 -
.../promise/tests/PromiseTest/ResolveTestTrait.php | 298 -
.../react/promise/tests/RejectedPromiseTest.php | 48 -
.../react/promise/tests/Stub/CallableStub.php | 9 -
.../php/vendor/react/promise/tests/TestCase.php | 39 -
.../php/vendor/react/promise/tests/bootstrap.php | 7 -
.../tests/fixtures/SimpleFulfilledTestPromise.php | 20 -
.../tests/fixtures/SimpleFulfilledTestThenable.php | 20 -
.../tests/fixtures/SimpleRejectedTestPromise.php | 20 -
.../tests/fixtures/SimpleTestCancellable.php | 12 -
.../fixtures/SimpleTestCancellableThenable.php | 16 -
.../SiteAssets/php/vendor/react/socket/.gitignore | 2 -
.../SiteAssets/php/vendor/react/socket/.travis.yml | 49 -
.../php/vendor/react/socket/CHANGELOG.md | 451 -
.../SiteAssets/php/vendor/react/socket/LICENSE | 19 -
.../SiteAssets/php/vendor/react/socket/README.md | 1419 --
.../php/vendor/react/socket/composer.json | 35 -
.../react/socket/examples/01-echo-server.php | 42 -
.../react/socket/examples/02-chat-server.php | 59 -
.../react/socket/examples/03-http-server.php | 57 -
.../react/socket/examples/11-http-client.php | 36 -
.../react/socket/examples/12-https-client.php | 36 -
.../react/socket/examples/21-netcat-client.php | 68 -
.../react/socket/examples/22-http-client.php | 60 -
.../react/socket/examples/91-benchmark-server.php | 60 -
.../socket/examples/99-generate-self-signed.php | 31 -
.../php/vendor/react/socket/examples/localhost.pem | 49 -
.../react/socket/examples/localhost_swordfish.pem | 51 -
.../php/vendor/react/socket/phpunit.xml.dist | 25 -
.../php/vendor/react/socket/src/Connection.php | 165 -
.../react/socket/src/ConnectionInterface.php | 119 -
.../php/vendor/react/socket/src/Connector.php | 134 -
.../vendor/react/socket/src/ConnectorInterface.php | 58 -
.../php/vendor/react/socket/src/DnsConnector.php | 108 -
.../vendor/react/socket/src/FixedUriConnector.php | 39 -
.../php/vendor/react/socket/src/LimitingServer.php | 194 -
.../vendor/react/socket/src/SecureConnector.php | 62 -
.../php/vendor/react/socket/src/SecureServer.php | 186 -
.../php/vendor/react/socket/src/Server.php | 68 -
.../vendor/react/socket/src/ServerInterface.php | 151 -
.../vendor/react/socket/src/StreamEncryption.php | 140 -
.../php/vendor/react/socket/src/TcpConnector.php | 119 -
.../php/vendor/react/socket/src/TcpServer.php | 230 -
.../vendor/react/socket/src/TimeoutConnector.php | 23 -
.../php/vendor/react/socket/src/UnixConnector.php | 42 -
.../php/vendor/react/socket/src/UnixServer.php | 124 -
.../vendor/react/socket/tests/ConnectionTest.php | 45 -
.../vendor/react/socket/tests/ConnectorTest.php | 125 -
.../vendor/react/socket/tests/DnsConnectorTest.php | 104 -
.../react/socket/tests/FixedUriConnectorTest.php | 18 -
.../react/socket/tests/FunctionalConnectorTest.php | 31 -
.../socket/tests/FunctionalSecureServerTest.php | 420 -
.../react/socket/tests/FunctionalTcpServerTest.php | 307 -
.../vendor/react/socket/tests/IntegrationTest.php | 163 -
.../react/socket/tests/LimitingServerTest.php | 182 -
.../react/socket/tests/SecureConnectorTest.php | 73 -
.../react/socket/tests/SecureIntegrationTest.php | 193 -
.../vendor/react/socket/tests/SecureServerTest.php | 97 -
.../php/vendor/react/socket/tests/ServerTest.php | 162 -
.../react/socket/tests/Stub/CallableStub.php | 9 -
.../react/socket/tests/Stub/ConnectionStub.php | 53 -
.../vendor/react/socket/tests/Stub/ServerStub.php | 16 -
.../vendor/react/socket/tests/TcpConnectorTest.php | 241 -
.../vendor/react/socket/tests/TcpServerTest.php | 263 -
.../php/vendor/react/socket/tests/TestCase.php | 94 -
.../react/socket/tests/TimeoutConnectorTest.php | 103 -
.../react/socket/tests/UnixConnectorTest.php | 60 -
.../vendor/react/socket/tests/UnixServerTest.php | 261 -
.../SiteAssets/php/vendor/react/stream/.gitignore | 2 -
.../SiteAssets/php/vendor/react/stream/.travis.yml | 50 -
.../php/vendor/react/stream/CHANGELOG.md | 377 -
.../SiteAssets/php/vendor/react/stream/LICENSE | 19 -
.../SiteAssets/php/vendor/react/stream/README.md | 1224 --
.../php/vendor/react/stream/composer.json | 34 -
.../php/vendor/react/stream/examples/01-http.php | 40 -
.../php/vendor/react/stream/examples/02-https.php | 40 -
.../php/vendor/react/stream/examples/11-cat.php | 28 -
.../stream/examples/91-benchmark-throughput.php | 62 -
.../php/vendor/react/stream/phpunit.xml.dist | 25 -
.../vendor/react/stream/src/CompositeStream.php | 73 -
.../react/stream/src/DuplexResourceStream.php | 213 -
.../react/stream/src/DuplexStreamInterface.php | 39 -
.../react/stream/src/ReadableResourceStream.php | 169 -
.../react/stream/src/ReadableStreamInterface.php | 362 -
.../php/vendor/react/stream/src/ThroughStream.php | 181 -
.../php/vendor/react/stream/src/Util.php | 73 -
.../react/stream/src/WritableResourceStream.php | 165 -
.../react/stream/src/WritableStreamInterface.php | 347 -
.../php/vendor/react/stream/tests/CallableStub.php | 9 -
.../react/stream/tests/CompositeStreamTest.php | 255 -
.../tests/DuplexResourceStreamIntegrationTest.php | 340 -
.../stream/tests/DuplexResourceStreamTest.php | 465 -
.../react/stream/tests/EnforceBlockingWrapper.php | 31 -
.../react/stream/tests/FunctionalInternetTest.php | 117 -
.../stream/tests/ReadableResourceStreamTest.php | 350 -
.../react/stream/tests/Stub/ReadableStreamStub.php | 53 -
.../php/vendor/react/stream/tests/TestCase.php | 49 -
.../react/stream/tests/ThroughStreamTest.php | 243 -
.../php/vendor/react/stream/tests/UtilTest.php | 257 -
.../stream/tests/WritableStreamResourceTest.php | 504 -
.../php/vendor/symfony/http-foundation/.gitignore | 3 -
.../symfony/http-foundation/AcceptHeader.php | 158 -
.../symfony/http-foundation/AcceptHeaderItem.php | 196 -
.../symfony/http-foundation/ApacheRequest.php | 41 -
.../symfony/http-foundation/BinaryFileResponse.php | 345 -
.../vendor/symfony/http-foundation/CHANGELOG.md | 159 -
.../php/vendor/symfony/http-foundation/Cookie.php | 275 -
.../Exception/ConflictingHeadersException.php | 21 -
.../Exception/RequestExceptionInterface.php | 21 -
.../Exception/SuspiciousOperationException.php | 20 -
.../http-foundation/ExpressionRequestMatcher.php | 45 -
.../File/Exception/AccessDeniedException.php | 27 -
.../File/Exception/FileException.php | 21 -
.../File/Exception/FileNotFoundException.php | 27 -
.../File/Exception/UnexpectedTypeException.php | 19 -
.../File/Exception/UploadException.php | 21 -
.../vendor/symfony/http-foundation/File/File.php | 130 -
.../File/MimeType/ExtensionGuesser.php | 90 -
.../File/MimeType/ExtensionGuesserInterface.php | 27 -
.../File/MimeType/FileBinaryMimeTypeGuesser.php | 82 -
.../File/MimeType/FileinfoMimeTypeGuesser.php | 66 -
.../File/MimeType/MimeTypeExtensionGuesser.php | 807 -
.../File/MimeType/MimeTypeGuesser.php | 137 -
.../File/MimeType/MimeTypeGuesserInterface.php | 35 -
.../vendor/symfony/http-foundation/File/Stream.php | 27 -
.../symfony/http-foundation/File/UploadedFile.php | 259 -
.../php/vendor/symfony/http-foundation/FileBag.php | 138 -
.../vendor/symfony/http-foundation/HeaderBag.php | 311 -
.../php/vendor/symfony/http-foundation/IpUtils.php | 152 -
.../symfony/http-foundation/JsonResponse.php | 213 -
.../php/vendor/symfony/http-foundation/LICENSE | 19 -
.../symfony/http-foundation/ParameterBag.php | 217 -
.../php/vendor/symfony/http-foundation/README.md | 14 -
.../symfony/http-foundation/RedirectResponse.php | 105 -
.../php/vendor/symfony/http-foundation/Request.php | 2071 --
.../symfony/http-foundation/RequestMatcher.php | 169 -
.../http-foundation/RequestMatcherInterface.php | 27 -
.../symfony/http-foundation/RequestStack.php | 98 -
.../vendor/symfony/http-foundation/Response.php | 1239 --
.../symfony/http-foundation/ResponseHeaderBag.php | 324 -
.../vendor/symfony/http-foundation/ServerBag.php | 100 -
.../Session/Attribute/AttributeBag.php | 134 -
.../Session/Attribute/AttributeBagInterface.php | 72 -
.../Session/Attribute/NamespacedAttributeBag.php | 146 -
.../Session/Flash/AutoExpireFlashBag.php | 146 -
.../http-foundation/Session/Flash/FlashBag.php | 137 -
.../Session/Flash/FlashBagInterface.php | 93 -
.../symfony/http-foundation/Session/Session.php | 247 -
.../Session/SessionBagInterface.php | 46 -
.../http-foundation/Session/SessionBagProxy.php | 75 -
.../http-foundation/Session/SessionInterface.php | 180 -
.../Storage/Handler/AbstractSessionHandler.php | 163 -
.../Storage/Handler/MemcacheSessionHandler.php | 112 -
.../Storage/Handler/MemcachedSessionHandler.php | 116 -
.../Storage/Handler/MongoDbSessionHandler.php | 245 -
.../Storage/Handler/NativeFileSessionHandler.php | 54 -
.../Storage/Handler/NativeSessionHandler.php | 23 -
.../Session/Storage/Handler/NullSessionHandler.php | 69 -
.../Session/Storage/Handler/PdoSessionHandler.php | 887 -
.../Storage/Handler/StrictSessionHandler.php | 94 -
.../Storage/Handler/WriteCheckSessionHandler.php | 85 -
.../Session/Storage/MetadataBag.php | 157 -
.../Session/Storage/MockArraySessionStorage.php | 239 -
.../Session/Storage/MockFileSessionStorage.php | 145 -
.../Session/Storage/NativeSessionStorage.php | 427 -
.../Session/Storage/PhpBridgeSessionStorage.php | 56 -
.../Session/Storage/Proxy/AbstractProxy.php | 114 -
.../Session/Storage/Proxy/NativeProxy.php | 38 -
.../Session/Storage/Proxy/SessionHandlerProxy.php | 77 -
.../Session/Storage/SessionStorageInterface.php | 137 -
.../symfony/http-foundation/StreamedResponse.php | 137 -
.../http-foundation/Tests/AcceptHeaderItemTest.php | 106 -
.../http-foundation/Tests/AcceptHeaderTest.php | 94 -
.../http-foundation/Tests/ApacheRequestTest.php | 91 -
.../Tests/BinaryFileResponseTest.php | 328 -
.../symfony/http-foundation/Tests/CookieTest.php | 201 -
.../Tests/ExpressionRequestMatcherTest.php | 65 -
.../http-foundation/Tests/File/FakeFile.php | 40 -
.../http-foundation/Tests/File/FileTest.php | 168 -
.../Tests/File/Fixtures/.unknownextension | 1 -
.../Tests/File/Fixtures/directory/.empty | 0
.../Tests/File/Fixtures/other-file.example | 0
.../http-foundation/Tests/File/Fixtures/test | Bin 35 -> 0 bytes
.../http-foundation/Tests/File/Fixtures/test.gif | Bin 35 -> 0 bytes
.../Tests/File/MimeType/MimeTypeTest.php | 82 -
.../Tests/File/UploadedFileTest.php | 255 -
.../symfony/http-foundation/Tests/FileBagTest.php | 164 -
.../http-foundation/Tests/HeaderBagTest.php | 186 -
.../symfony/http-foundation/Tests/IpUtilsTest.php | 97 -
.../http-foundation/Tests/JsonResponseTest.php | 229 -
.../http-foundation/Tests/ParameterBagTest.php | 176 -
.../http-foundation/Tests/RedirectResponseTest.php | 88 -
.../http-foundation/Tests/RequestMatcherTest.php | 142 -
.../http-foundation/Tests/RequestStackTest.php | 67 -
.../symfony/http-foundation/Tests/RequestTest.php | 2224 ---
.../Tests/ResponseHeaderBagTest.php | 340 -
.../symfony/http-foundation/Tests/ResponseTest.php | 928 -
.../http-foundation/Tests/ResponseTestCase.php | 88 -
.../http-foundation/Tests/ServerBagTest.php | 158 -
.../Tests/Session/Attribute/AttributeBagTest.php | 170 -
.../Attribute/NamespacedAttributeBagTest.php | 167 -
.../Tests/Session/Flash/AutoExpireFlashBagTest.php | 146 -
.../Tests/Session/Flash/FlashBagTest.php | 120 -
.../http-foundation/Tests/Session/SessionTest.php | 218 -
.../Storage/Handler/AbstractSessionHandlerTest.php | 57 -
.../Session/Storage/Handler/Fixtures/common.inc | 139 -
.../Handler/Fixtures/empty_destroys.expected | 17 -
.../Storage/Handler/Fixtures/empty_destroys.php | 8 -
.../Storage/Handler/Fixtures/read_only.expected | 14 -
.../Session/Storage/Handler/Fixtures/read_only.php | 8 -
.../Storage/Handler/Fixtures/regenerate.expected | 24 -
.../Storage/Handler/Fixtures/regenerate.php | 12 -
.../Storage/Handler/Fixtures/storage.expected | 20 -
.../Session/Storage/Handler/Fixtures/storage.php | 26 -
.../Storage/Handler/Fixtures/with_cookie.expected | 15 -
.../Storage/Handler/Fixtures/with_cookie.php | 8 -
.../Fixtures/with_cookie_and_session.expected | 24 -
.../Handler/Fixtures/with_cookie_and_session.php | 13 -
.../Storage/Handler/MemcacheSessionHandlerTest.php | 121 -
.../Handler/MemcachedSessionHandlerTest.php | 125 -
.../Storage/Handler/MongoDbSessionHandlerTest.php | 320 -
.../Handler/NativeFileSessionHandlerTest.php | 72 -
.../Storage/Handler/NativeSessionHandlerTest.php | 37 -
.../Storage/Handler/NullSessionHandlerTest.php | 55 -
.../Storage/Handler/PdoSessionHandlerTest.php | 385 -
.../Storage/Handler/StrictSessionHandlerTest.php | 174 -
.../Handler/WriteCheckSessionHandlerTest.php | 87 -
.../Tests/Session/Storage/MetadataBagTest.php | 128 -
.../Storage/MockArraySessionStorageTest.php | 122 -
.../Session/Storage/MockFileSessionStorageTest.php | 118 -
.../Session/Storage/NativeSessionStorageTest.php | 256 -
.../Storage/PhpBridgeSessionStorageTest.php | 91 -
.../Session/Storage/Proxy/AbstractProxyTest.php | 103 -
.../Session/Storage/Proxy/NativeProxyTest.php | 36 -
.../Storage/Proxy/SessionHandlerProxyTest.php | 114 -
.../http-foundation/Tests/StreamedResponseTest.php | 134 -
.../Tests/schema/http-status-codes.rng | 39 -
.../http-foundation/Tests/schema/iana-registry.rng | 318 -
.../vendor/symfony/http-foundation/composer.json | 40 -
.../symfony/http-foundation/phpunit.xml.dist | 31 -
.../php/vendor/symfony/polyfill-mbstring/LICENSE | 19 -
.../vendor/symfony/polyfill-mbstring/Mbstring.php | 750 -
.../php/vendor/symfony/polyfill-mbstring/README.md | 13 -
.../Resources/unidata/lowerCase.php | 1101 --
.../Resources/unidata/upperCase.php | 1109 --
.../vendor/symfony/polyfill-mbstring/bootstrap.php | 168 -
.../vendor/symfony/polyfill-mbstring/composer.json | 44 -
.../php/vendor/symfony/polyfill-php70/LICENSE | 19 -
.../php/vendor/symfony/polyfill-php70/Php70.php | 72 -
.../php/vendor/symfony/polyfill-php70/README.md | 28 -
.../Resources/stubs/ArithmeticError.php | 5 -
.../Resources/stubs/AssertionError.php | 5 -
.../Resources/stubs/DivisionByZeroError.php | 5 -
.../polyfill-php70/Resources/stubs/Error.php | 5 -
.../polyfill-php70/Resources/stubs/ParseError.php | 5 -
.../SessionUpdateTimestampHandlerInterface.php | 23 -
.../polyfill-php70/Resources/stubs/TypeError.php | 5 -
.../vendor/symfony/polyfill-php70/bootstrap.php | 33 -
.../vendor/symfony/polyfill-php70/composer.json | 44 -
.../php/vendor/symfony/process/.gitignore | 3 -
.../php/vendor/symfony/process/CHANGELOG.md | 57 -
.../process/Exception/ExceptionInterface.php | 21 -
.../process/Exception/InvalidArgumentException.php | 21 -
.../symfony/process/Exception/LogicException.php | 21 -
.../process/Exception/ProcessFailedException.php | 52 -
.../process/Exception/ProcessTimedOutException.php | 64 -
.../symfony/process/Exception/RuntimeException.php | 21 -
.../vendor/symfony/process/ExecutableFinder.php | 85 -
.../php/vendor/symfony/process/InputStream.php | 87 -
.../SiteAssets/php/vendor/symfony/process/LICENSE | 19 -
.../vendor/symfony/process/PhpExecutableFinder.php | 91 -
.../php/vendor/symfony/process/PhpProcess.php | 73 -
.../vendor/symfony/process/Pipes/AbstractPipes.php | 163 -
.../symfony/process/Pipes/PipesInterface.php | 67 -
.../php/vendor/symfony/process/Pipes/UnixPipes.php | 143 -
.../vendor/symfony/process/Pipes/WindowsPipes.php | 189 -
.../php/vendor/symfony/process/Process.php | 1676 --
.../php/vendor/symfony/process/ProcessBuilder.php | 265 -
.../php/vendor/symfony/process/ProcessUtils.php | 119 -
.../php/vendor/symfony/process/README.md | 13 -
.../symfony/process/Tests/ExecutableFinderTest.php | 124 -
.../symfony/process/Tests/NonStopableProcess.php | 46 -
.../process/Tests/PhpExecutableFinderTest.php | 69 -
.../symfony/process/Tests/PhpProcessTest.php | 46 -
.../Tests/PipeStdinInStdoutStdErrStreamSelect.php | 72 -
.../symfony/process/Tests/ProcessBuilderTest.php | 209 -
.../process/Tests/ProcessFailedExceptionTest.php | 134 -
.../vendor/symfony/process/Tests/ProcessTest.php | 1511 --
.../symfony/process/Tests/ProcessUtilsTest.php | 51 -
.../symfony/process/Tests/SignalListener.php | 24 -
.../php/vendor/symfony/process/composer.json | 35 -
.../php/vendor/symfony/process/phpunit.xml.dist | 30 -
.../php/vendor/symfony/routing/.gitignore | 3 -
.../vendor/symfony/routing/Annotation/Route.php | 125 -
.../php/vendor/symfony/routing/CHANGELOG.md | 228 -
.../php/vendor/symfony/routing/CompiledRoute.php | 158 -
.../DependencyInjection/RoutingResolverPass.php | 47 -
.../routing/Exception/ExceptionInterface.php | 21 -
.../Exception/InvalidParameterException.php | 21 -
.../Exception/MethodNotAllowedException.php | 39 -
.../MissingMandatoryParametersException.php | 22 -
.../routing/Exception/NoConfigurationException.php | 21 -
.../Exception/ResourceNotFoundException.php | 23 -
.../routing/Exception/RouteNotFoundException.php | 21 -
.../ConfigurableRequirementsInterface.php | 55 -
.../routing/Generator/Dumper/GeneratorDumper.php | 35 -
.../Generator/Dumper/GeneratorDumperInterface.php | 39 -
.../Generator/Dumper/PhpGeneratorDumper.php | 115 -
.../symfony/routing/Generator/UrlGenerator.php | 313 -
.../routing/Generator/UrlGeneratorInterface.php | 86 -
.../SiteAssets/php/vendor/symfony/routing/LICENSE | 19 -
.../routing/Loader/AnnotationClassLoader.php | 259 -
.../routing/Loader/AnnotationDirectoryLoader.php | 91 -
.../routing/Loader/AnnotationFileLoader.php | 138 -
.../symfony/routing/Loader/ClosureLoader.php | 44 -
.../Loader/Configurator/CollectionConfigurator.php | 76 -
.../Loader/Configurator/ImportConfigurator.php | 46 -
.../Loader/Configurator/RouteConfigurator.php | 33 -
.../Loader/Configurator/RoutingConfigurator.php | 59 -
.../Loader/Configurator/Traits/AddTrait.php | 53 -
.../Loader/Configurator/Traits/RouteTrait.php | 123 -
.../DependencyInjection/ServiceRouterLoader.php | 38 -
.../symfony/routing/Loader/DirectoryLoader.php | 56 -
.../symfony/routing/Loader/GlobFileLoader.php | 45 -
.../symfony/routing/Loader/ObjectRouteLoader.php | 92 -
.../symfony/routing/Loader/PhpFileLoader.php | 73 -
.../symfony/routing/Loader/XmlFileLoader.php | 349 -
.../symfony/routing/Loader/YamlFileLoader.php | 228 -
.../routing/Loader/schema/routing/routing-1.0.xsd | 148 -
.../routing/Matcher/Dumper/DumperCollection.php | 148 -
.../symfony/routing/Matcher/Dumper/DumperRoute.php | 54 -
.../routing/Matcher/Dumper/MatcherDumper.php | 35 -
.../Matcher/Dumper/MatcherDumperInterface.php | 39 -
.../routing/Matcher/Dumper/PhpMatcherDumper.php | 420 -
.../Matcher/Dumper/StaticPrefixCollection.php | 228 -
.../routing/Matcher/RedirectableUrlMatcher.php | 63 -
.../Matcher/RedirectableUrlMatcherInterface.php | 31 -
.../routing/Matcher/RequestMatcherInterface.php | 39 -
.../routing/Matcher/TraceableUrlMatcher.php | 137 -
.../vendor/symfony/routing/Matcher/UrlMatcher.php | 240 -
.../routing/Matcher/UrlMatcherInterface.php | 41 -
.../php/vendor/symfony/routing/README.md | 13 -
.../php/vendor/symfony/routing/RequestContext.php | 313 -
.../routing/RequestContextAwareInterface.php | 27 -
.../php/vendor/symfony/routing/Route.php | 524 -
.../php/vendor/symfony/routing/RouteCollection.php | 262 -
.../symfony/routing/RouteCollectionBuilder.php | 363 -
.../php/vendor/symfony/routing/RouteCompiler.php | 311 -
.../symfony/routing/RouteCompilerInterface.php | 30 -
.../php/vendor/symfony/routing/Router.php | 371 -
.../php/vendor/symfony/routing/RouterInterface.php | 32 -
.../symfony/routing/Tests/Annotation/RouteTest.php | 47 -
.../symfony/routing/Tests/CompiledRouteTest.php | 26 -
.../RoutingResolverPassTest.php | 35 -
.../Fixtures/AnnotatedClasses/AbstractClass.php | 16 -
.../Tests/Fixtures/AnnotatedClasses/BarClass.php | 18 -
.../Tests/Fixtures/AnnotatedClasses/BazClass.php | 18 -
.../Tests/Fixtures/AnnotatedClasses/FooClass.php | 16 -
.../Tests/Fixtures/AnnotatedClasses/FooTrait.php | 12 -
.../routing/Tests/Fixtures/CustomCompiledRoute.php | 18 -
.../routing/Tests/Fixtures/CustomRouteCompiler.php | 25 -
.../routing/Tests/Fixtures/CustomXmlFileLoader.php | 27 -
.../AnonymousClassInTrait.php | 23 -
.../OtherAnnotatedClasses/NoStartTagClass.php | 3 -
.../OtherAnnotatedClasses/VariadicClass.php | 18 -
.../Tests/Fixtures/RedirectableUrlMatcher.php | 29 -
.../symfony/routing/Tests/Fixtures/annotated.php | 0
.../symfony/routing/Tests/Fixtures/bad_format.yml | 3 -
.../vendor/symfony/routing/Tests/Fixtures/bar.xml | 0
.../Fixtures/controller/import__controller.xml | 10 -
.../Fixtures/controller/import__controller.yml | 4 -
.../Fixtures/controller/import_controller.xml | 8 -
.../Fixtures/controller/import_controller.yml | 3 -
.../controller/import_override_defaults.xml | 10 -
.../controller/import_override_defaults.yml | 5 -
.../Fixtures/controller/override_defaults.xml | 10 -
.../Fixtures/controller/override_defaults.yml | 5 -
.../routing/Tests/Fixtures/controller/routing.xml | 14 -
.../routing/Tests/Fixtures/controller/routing.yml | 11 -
.../Tests/Fixtures/directory/recurse/routes1.yml | 2 -
.../Tests/Fixtures/directory/recurse/routes2.yml | 2 -
.../routing/Tests/Fixtures/directory/routes3.yml | 2 -
.../Tests/Fixtures/directory_import/import.yml | 3 -
.../routing/Tests/Fixtures/dumper/url_matcher0.php | 35 -
.../routing/Tests/Fixtures/dumper/url_matcher1.php | 310 -
.../routing/Tests/Fixtures/dumper/url_matcher2.php | 372 -
.../routing/Tests/Fixtures/dumper/url_matcher3.php | 53 -
.../routing/Tests/Fixtures/dumper/url_matcher4.php | 110 -
.../routing/Tests/Fixtures/dumper/url_matcher5.php | 205 -
.../routing/Tests/Fixtures/dumper/url_matcher6.php | 205 -
.../routing/Tests/Fixtures/dumper/url_matcher7.php | 241 -
.../symfony/routing/Tests/Fixtures/empty.yml | 0
.../routing/Tests/Fixtures/file_resource.yml | 0
.../vendor/symfony/routing/Tests/Fixtures/foo.xml | 0
.../vendor/symfony/routing/Tests/Fixtures/foo1.xml | 0
.../symfony/routing/Tests/Fixtures/glob/bar.xml | 8 -
.../symfony/routing/Tests/Fixtures/glob/bar.yml | 4 -
.../symfony/routing/Tests/Fixtures/glob/baz.xml | 8 -
.../symfony/routing/Tests/Fixtures/glob/baz.yml | 4 -
.../Tests/Fixtures/glob/import_multiple.xml | 8 -
.../Tests/Fixtures/glob/import_multiple.yml | 2 -
.../routing/Tests/Fixtures/glob/import_single.xml | 8 -
.../routing/Tests/Fixtures/glob/import_single.yml | 2 -
.../routing/Tests/Fixtures/glob/php_dsl.php | 7 -
.../routing/Tests/Fixtures/glob/php_dsl_bar.php | 12 -
.../routing/Tests/Fixtures/glob/php_dsl_baz.php | 12 -
.../symfony/routing/Tests/Fixtures/incomplete.yml | 2 -
.../routing/Tests/Fixtures/list_defaults.xml | 20 -
.../Tests/Fixtures/list_in_list_defaults.xml | 22 -
.../Tests/Fixtures/list_in_map_defaults.xml | 22 -
.../routing/Tests/Fixtures/list_null_values.xml | 22 -
.../routing/Tests/Fixtures/map_defaults.xml | 20 -
.../Tests/Fixtures/map_in_list_defaults.xml | 22 -
.../routing/Tests/Fixtures/map_in_map_defaults.xml | 22 -
.../routing/Tests/Fixtures/map_null_values.xml | 22 -
.../symfony/routing/Tests/Fixtures/missing_id.xml | 8 -
.../routing/Tests/Fixtures/missing_path.xml | 8 -
.../routing/Tests/Fixtures/namespaceprefix.xml | 16 -
.../Fixtures/nonesense_resource_plus_path.yml | 3 -
.../Fixtures/nonesense_type_without_resource.yml | 3 -
.../symfony/routing/Tests/Fixtures/nonvalid.xml | 10 -
.../symfony/routing/Tests/Fixtures/nonvalid.yml | 1 -
.../symfony/routing/Tests/Fixtures/nonvalid2.yml | 1 -
.../routing/Tests/Fixtures/nonvalidkeys.yml | 3 -
.../routing/Tests/Fixtures/nonvalidnode.xml | 8 -
.../routing/Tests/Fixtures/nonvalidroute.xml | 12 -
.../symfony/routing/Tests/Fixtures/null_values.xml | 12 -
.../symfony/routing/Tests/Fixtures/php_dsl.php | 22 -
.../symfony/routing/Tests/Fixtures/php_dsl_sub.php | 14 -
.../routing/Tests/Fixtures/scalar_defaults.xml | 33 -
.../routing/Tests/Fixtures/special_route_name.yml | 2 -
.../routing/Tests/Fixtures/validpattern.php | 18 -
.../routing/Tests/Fixtures/validpattern.xml | 16 -
.../routing/Tests/Fixtures/validpattern.yml | 13 -
.../routing/Tests/Fixtures/validresource.php | 18 -
.../routing/Tests/Fixtures/validresource.xml | 13 -
.../routing/Tests/Fixtures/validresource.yml | 8 -
.../Tests/Fixtures/with_define_path_variable.php | 5 -
.../symfony/routing/Tests/Fixtures/withdoctype.xml | 3 -
.../Generator/Dumper/PhpGeneratorDumperTest.php | 173 -
.../routing/Tests/Generator/UrlGeneratorTest.php | 660 -
.../Tests/Loader/AbstractAnnotationLoaderTest.php | 29 -
.../Tests/Loader/AnnotationClassLoaderTest.php | 236 -
.../Tests/Loader/AnnotationDirectoryLoaderTest.php | 88 -
.../Tests/Loader/AnnotationFileLoaderTest.php | 84 -
.../routing/Tests/Loader/ClosureLoaderTest.php | 48 -
.../routing/Tests/Loader/DirectoryLoaderTest.php | 69 -
.../routing/Tests/Loader/GlobFileLoaderTest.php | 42 -
.../routing/Tests/Loader/ObjectRouteLoaderTest.php | 114 -
.../routing/Tests/Loader/PhpFileLoaderTest.php | 127 -
.../routing/Tests/Loader/XmlFileLoaderTest.php | 358 -
.../routing/Tests/Loader/YamlFileLoaderTest.php | 190 -
.../Matcher/DumpedRedirectableUrlMatcherTest.php | 41 -
.../routing/Tests/Matcher/DumpedUrlMatcherTest.php | 45 -
.../Tests/Matcher/Dumper/DumperCollectionTest.php | 33 -
.../Tests/Matcher/Dumper/PhpMatcherDumperTest.php | 451 -
.../Matcher/Dumper/StaticPrefixCollectionTest.php | 172 -
.../Tests/Matcher/RedirectableUrlMatcherTest.php | 112 -
.../Tests/Matcher/TraceableUrlMatcherTest.php | 118 -
.../routing/Tests/Matcher/UrlMatcherTest.php | 473 -
.../symfony/routing/Tests/RequestContextTest.php | 148 -
.../routing/Tests/RouteCollectionBuilderTest.php | 352 -
.../symfony/routing/Tests/RouteCollectionTest.php | 286 -
.../symfony/routing/Tests/RouteCompilerTest.php | 376 -
.../php/vendor/symfony/routing/Tests/RouteTest.php | 242 -
.../vendor/symfony/routing/Tests/RouterTest.php | 150 -
.../php/vendor/symfony/routing/composer.json | 63 -
.../php/vendor/symfony/routing/phpunit.xml.dist | 30 -
.../assets/font-starcraft/css/font-starcraft.css | 72 -
.../assets/font-starcraft/fonts/font-starcraft.eot | Bin 48420 -> 0 bytes
.../assets/font-starcraft/fonts/font-starcraft.svg | 44 -
.../assets/font-starcraft/fonts/font-starcraft.ttf | Bin 48248 -> 0 bytes
.../font-starcraft/fonts/font-starcraft.woff | Bin 39164 -> 0 bytes
.../assets/userfrosting/css/AdminLTE-skins-all.css | 2178 ---
.../core/assets/userfrosting/css/AdminLTE.css | 5894 ------
.../assets/userfrosting/css/tablesorter-reflow.css | 65 -
.../core/assets/userfrosting/css/uf-alerts.css | 21 -
.../core/assets/userfrosting/css/uf-collection.css | 15 -
.../userfrosting/css/uf-jqueryvalidation.css | 10 -
.../core/assets/userfrosting/css/userfrosting.css | 206 -
.../core/assets/userfrosting/favicons/README.md | 7 -
.../favicons/android-chrome-144x144.png | Bin 20991 -> 0 bytes
.../favicons/android-chrome-192x192.png | Bin 29935 -> 0 bytes
.../favicons/android-chrome-256x256.png | Bin 42828 -> 0 bytes
.../userfrosting/favicons/android-chrome-36x36.png | Bin 3150 -> 0 bytes
.../favicons/android-chrome-384x384.png | Bin 69092 -> 0 bytes
.../userfrosting/favicons/android-chrome-48x48.png | Bin 4736 -> 0 bytes
.../favicons/android-chrome-512x512.png | Bin 96438 -> 0 bytes
.../userfrosting/favicons/android-chrome-72x72.png | Bin 8367 -> 0 bytes
.../userfrosting/favicons/android-chrome-96x96.png | Bin 12470 -> 0 bytes
.../apple-touch-icon-114x114-precomposed.png | Bin 14098 -> 0 bytes
.../favicons/apple-touch-icon-114x114.png | Bin 12666 -> 0 bytes
.../apple-touch-icon-120x120-precomposed.png | Bin 15188 -> 0 bytes
.../favicons/apple-touch-icon-120x120.png | Bin 13650 -> 0 bytes
.../apple-touch-icon-144x144-precomposed.png | Bin 19338 -> 0 bytes
.../favicons/apple-touch-icon-144x144.png | Bin 17393 -> 0 bytes
.../apple-touch-icon-152x152-precomposed.png | Bin 20475 -> 0 bytes
.../favicons/apple-touch-icon-152x152.png | Bin 18420 -> 0 bytes
.../apple-touch-icon-180x180-precomposed.png | Bin 25283 -> 0 bytes
.../favicons/apple-touch-icon-180x180.png | Bin 22957 -> 0 bytes
.../apple-touch-icon-57x57-precomposed.png | Bin 5279 -> 0 bytes
.../favicons/apple-touch-icon-57x57.png | Bin 4660 -> 0 bytes
.../apple-touch-icon-60x60-precomposed.png | Bin 5706 -> 0 bytes
.../favicons/apple-touch-icon-60x60.png | Bin 5017 -> 0 bytes
.../apple-touch-icon-72x72-precomposed.png | Bin 7498 -> 0 bytes
.../favicons/apple-touch-icon-72x72.png | Bin 6615 -> 0 bytes
.../apple-touch-icon-76x76-precomposed.png | Bin 8080 -> 0 bytes
.../favicons/apple-touch-icon-76x76.png | Bin 7180 -> 0 bytes
.../favicons/apple-touch-icon-precomposed.png | Bin 25283 -> 0 bytes
.../userfrosting/favicons/apple-touch-icon.png | Bin 22957 -> 0 bytes
.../assets/userfrosting/favicons/favicon-16x16.png | Bin 1374 -> 0 bytes
.../assets/userfrosting/favicons/favicon-32x32.png | Bin 2678 -> 0 bytes
.../core/assets/userfrosting/favicons/favicon.ico | Bin 15086 -> 0 bytes
.../core/assets/userfrosting/favicons/ieconfig.xml | 12 -
.../assets/userfrosting/favicons/manifest.json | 51 -
.../userfrosting/favicons/mstile-144x144.png | Bin 20296 -> 0 bytes
.../userfrosting/favicons/mstile-150x150.png | Bin 18368 -> 0 bytes
.../userfrosting/favicons/mstile-310x150.png | Bin 19511 -> 0 bytes
.../userfrosting/favicons/mstile-310x310.png | Bin 46338 -> 0 bytes
.../assets/userfrosting/favicons/mstile-70x70.png | Bin 12070 -> 0 bytes
.../userfrosting/favicons/safari-pinned-tab.svg | 246 -
.../core/assets/userfrosting/images/cupcake.png | Bin 19738 -> 0 bytes
.../core/assets/userfrosting/images/logo.svg | 514 -
.../core/assets/userfrosting/js/AdminLTE-custom.js | 117 -
.../core/assets/userfrosting/js/AdminLTE.js | 762 -
.../core/assets/userfrosting/js/attrchange.js | 132 -
.../js/fortress-jqueryvalidation-methods.js | 57 -
.../assets/userfrosting/js/handlebars-helpers.js | 119 -
.../core/assets/userfrosting/js/query-string.js | 65 -
.../js/tablesorter/widget-sort2Hash.js | 277 -
.../core/assets/userfrosting/js/uf-alerts.js | 293 -
.../core/assets/userfrosting/js/uf-captcha.js | 13 -
.../core/assets/userfrosting/js/uf-collection.js | 349 -
.../core/assets/userfrosting/js/uf-copy.js | 50 -
.../core/assets/userfrosting/js/uf-form.js | 297 -
.../core/assets/userfrosting/js/uf-init.js | 27 -
.../userfrosting/js/uf-jqueryvalidation-config.js | 49 -
.../core/assets/userfrosting/js/uf-modal.js | 186 -
.../core/assets/userfrosting/js/uf-table.js | 706 -
.../userfrosting/js/uf-tablesorter-parsers.js | 53 -
main/app/sprinkles/core/bower.json | 47 -
main/app/sprinkles/core/composer.json | 48 -
main/app/sprinkles/core/config/default.php | 183 -
main/app/sprinkles/core/config/dev.php | 30 -
main/app/sprinkles/core/config/production.php | 40 -
main/app/sprinkles/core/config/testing.php | 23 -
main/app/sprinkles/core/extra/adjectives.php | 1221 --
main/app/sprinkles/core/extra/nouns.php | 90 -
main/app/sprinkles/core/locale/ar/errors.php | 51 -
main/app/sprinkles/core/locale/ar/messages.php | 112 -
main/app/sprinkles/core/locale/ar/validate.php | 25 -
main/app/sprinkles/core/locale/de_DE/errors.php | 53 -
main/app/sprinkles/core/locale/de_DE/main.php | 20 -
main/app/sprinkles/core/locale/de_DE/messages.php | 123 -
main/app/sprinkles/core/locale/de_DE/validate.php | 32 -
main/app/sprinkles/core/locale/en_US/errors.php | 51 -
main/app/sprinkles/core/locale/en_US/main.php | 20 -
main/app/sprinkles/core/locale/en_US/messages.php | 120 -
main/app/sprinkles/core/locale/en_US/validate.php | 33 -
main/app/sprinkles/core/locale/es_ES/errors.php | 51 -
main/app/sprinkles/core/locale/es_ES/messages.php | 115 -
main/app/sprinkles/core/locale/es_ES/validate.php | 35 -
main/app/sprinkles/core/locale/fa/errors.php | 52 -
main/app/sprinkles/core/locale/fa/messages.php | 110 -
main/app/sprinkles/core/locale/fa/validate.php | 31 -
main/app/sprinkles/core/locale/fr_FR/errors.php | 51 -
main/app/sprinkles/core/locale/fr_FR/main.php | 20 -
main/app/sprinkles/core/locale/fr_FR/messages.php | 105 -
main/app/sprinkles/core/locale/fr_FR/validate.php | 33 -
main/app/sprinkles/core/locale/it_IT/errors.php | 53 -
main/app/sprinkles/core/locale/it_IT/messages.php | 123 -
main/app/sprinkles/core/locale/it_IT/validate.php | 32 -
main/app/sprinkles/core/locale/pt_PT/errors.php | 51 -
main/app/sprinkles/core/locale/pt_PT/messages.php | 102 -
main/app/sprinkles/core/locale/pt_PT/validate.php | 25 -
main/app/sprinkles/core/locale/ru_RU/errors.php | 51 -
main/app/sprinkles/core/locale/ru_RU/messages.php | 120 -
main/app/sprinkles/core/locale/ru_RU/validate.php | 33 -
main/app/sprinkles/core/locale/th_TH/errors.php | 51 -
main/app/sprinkles/core/locale/th_TH/messages.php | 102 -
main/app/sprinkles/core/locale/th_TH/validate.php | 25 -
main/app/sprinkles/core/locale/tlh/errors.php | 53 -
main/app/sprinkles/core/locale/tlh/main.php | 21 -
main/app/sprinkles/core/locale/tlh/messages.php | 123 -
main/app/sprinkles/core/locale/tlh/validate.php | 32 -
main/app/sprinkles/core/locale/valitron/ar.php | 28 -
main/app/sprinkles/core/locale/valitron/de.php | 33 -
main/app/sprinkles/core/locale/valitron/el.php | 34 -
main/app/sprinkles/core/locale/valitron/en.php | 34 -
main/app/sprinkles/core/locale/valitron/es.php | 34 -
main/app/sprinkles/core/locale/valitron/fr.php | 34 -
main/app/sprinkles/core/locale/valitron/id.php | 33 -
main/app/sprinkles/core/locale/valitron/it.php | 31 -
main/app/sprinkles/core/locale/valitron/ja.php | 33 -
main/app/sprinkles/core/locale/valitron/lv.php | 31 -
main/app/sprinkles/core/locale/valitron/pt-br.php | 28 -
main/app/sprinkles/core/locale/valitron/ro.php | 33 -
main/app/sprinkles/core/locale/valitron/ru.php | 33 -
main/app/sprinkles/core/locale/valitron/th.php | 34 -
main/app/sprinkles/core/locale/valitron/zh-cn.php | 28 -
main/app/sprinkles/core/locale/valitron/zh-tw.php | 28 -
main/app/sprinkles/core/locale/zh_CN/errors.php | 49 -
main/app/sprinkles/core/locale/zh_CN/messages.php | 105 -
main/app/sprinkles/core/locale/zh_CN/validate.php | 29 -
main/app/sprinkles/core/routes/routes.php | 27 -
main/app/sprinkles/core/schema/.gitkeep | 0
main/app/sprinkles/core/src/Alert/AlertStream.php | 138 -
.../sprinkles/core/src/Alert/CacheAlertStream.php | 81 -
.../core/src/Alert/SessionAlertStream.php | 67 -
.../core/src/Controller/CoreController.php | 172 -
.../core/src/Controller/SimpleController.php | 36 -
main/app/sprinkles/core/src/Core.php | 118 -
main/app/sprinkles/core/src/Database/Builder.php | 200 -
.../core/src/Database/DatabaseInvalidException.php | 21 -
.../src/Database/Migrations/v400/SessionsTable.php | 47 -
.../Database/Migrations/v400/ThrottlesTable.php | 51 -
.../Database/Models/Concerns/HasRelationships.php | 272 -
.../sprinkles/core/src/Database/Models/Model.php | 133 -
.../core/src/Database/Models/Throttle.php | 37 -
.../Relations/BelongsToManyConstrained.php | 118 -
.../Database/Relations/BelongsToManyThrough.php | 223 -
.../src/Database/Relations/BelongsToManyUnique.php | 23 -
.../src/Database/Relations/Concerns/Syncable.php | 130 -
.../src/Database/Relations/Concerns/Unique.php | 543 -
.../src/Database/Relations/HasManySyncable.php | 23 -
.../src/Database/Relations/MorphManySyncable.php | 23 -
.../src/Database/Relations/MorphToManyUnique.php | 23 -
.../core/src/Error/ExceptionHandlerManager.php | 91 -
.../core/src/Error/Handler/ExceptionHandler.php | 267 -
.../Error/Handler/ExceptionHandlerInterface.php | 33 -
.../src/Error/Handler/HttpExceptionHandler.php | 62 -
.../src/Error/Handler/NotFoundExceptionHandler.php | 38 -
.../Error/Handler/PhpMailerExceptionHandler.php | 30 -
.../core/src/Error/Renderer/ErrorRenderer.php | 63 -
.../src/Error/Renderer/ErrorRendererInterface.php | 30 -
.../core/src/Error/Renderer/HtmlRenderer.php | 147 -
.../core/src/Error/Renderer/JsonRenderer.php | 55 -
.../core/src/Error/Renderer/PlainTextRenderer.php | 63 -
.../core/src/Error/Renderer/WhoopsRenderer.php | 688 -
.../core/src/Error/Renderer/XmlRenderer.php | 47 -
main/app/sprinkles/core/src/Facades/Debug.php | 28 -
main/app/sprinkles/core/src/Facades/Translator.php | 28 -
.../src/Http/Concerns/DeterminesContentType.php | 76 -
.../app/sprinkles/core/src/Log/DatabaseHandler.php | 52 -
main/app/sprinkles/core/src/Log/MixedFormatter.php | 58 -
.../app/sprinkles/core/src/Mail/EmailRecipient.php | 129 -
main/app/sprinkles/core/src/Mail/MailMessage.php | 175 -
main/app/sprinkles/core/src/Mail/Mailer.php | 200 -
.../sprinkles/core/src/Mail/StaticMailMessage.php | 74 -
.../sprinkles/core/src/Mail/TwigMailMessage.php | 89 -
main/app/sprinkles/core/src/Model/UFModel.php | 27 -
main/app/sprinkles/core/src/Router.php | 100 -
.../core/src/ServicesProvider/ServicesProvider.php | 621 -
main/app/sprinkles/core/src/Sprunje/Sprunje.php | 547 -
.../sprinkles/core/src/Throttle/ThrottleRule.php | 133 -
main/app/sprinkles/core/src/Throttle/Throttler.php | 172 -
.../core/src/Throttle/ThrottlerException.php | 19 -
main/app/sprinkles/core/src/Twig/CacheHelper.php | 57 -
main/app/sprinkles/core/src/Twig/CoreExtension.php | 120 -
.../core/src/Util/BadClassNameException.php | 19 -
main/app/sprinkles/core/src/Util/Captcha.php | 154 -
.../sprinkles/core/src/Util/CheckEnvironment.php | 331 -
main/app/sprinkles/core/src/Util/ClassMapper.php | 90 -
.../sprinkles/core/src/Util/EnvironmentInfo.php | 67 -
.../sprinkles/core/src/Util/ShutdownHandler.php | 162 -
main/app/sprinkles/core/src/Util/Util.php | 174 -
.../sprinkles/core/templates/forms/csrf.html.twig | 2 -
main/app/sprinkles/core/templates/mail/.gitkeep | 0
.../core/templates/modals/modal.html.twig | 27 -
.../core/templates/navigation/breadcrumb.html.twig | 4 -
.../core/templates/navigation/main-nav.html.twig | 32 -
.../sprinkles/core/templates/pages/about.html.twig | 185 -
.../core/templates/pages/abstract/base.html.twig | 99 -
.../templates/pages/abstract/default.html.twig | 48 -
.../core/templates/pages/abstract/error.html.twig | 35 -
.../templates/pages/abstract/mainsite.html.twig | 145 -
.../core/templates/pages/error/400.html.twig | 9 -
.../core/templates/pages/error/404.html.twig | 16 -
.../templates/pages/error/config-errors.html.twig | 22 -
.../sprinkles/core/templates/pages/index.html.twig | 210 -
.../sprinkles/core/templates/pages/legal.html.twig | 12 -
.../core/templates/pages/partials/alerts.html.twig | 13 -
.../templates/pages/partials/analytics.html.twig | 22 -
.../core/templates/pages/partials/config.js.twig | 13 -
.../templates/pages/partials/favicons.html.twig | 51 -
.../core/templates/pages/partials/footer.html.twig | 9 -
.../core/templates/pages/partials/legal.html.twig | 117 -
.../core/templates/pages/partials/page.js.twig | 4 -
.../templates/pages/partials/privacy.html.twig | 45 -
.../core/templates/pages/privacy.html.twig | 12 -
.../sprinkles/core/templates/pages/test.html.twig | 41 -
.../templates/tables/table-paginated.html.twig | 64 -
.../templates/tables/table-tool-menu.html.twig | 27 -
.../core/tests/Integration/DatabaseTests.php | 1271 --
.../core/tests/Unit/BelongsToManyThroughTest.php | 101 -
.../core/tests/Unit/DatabaseSyncableTest.php | 114 -
main/app/sprinkles/core/tests/Unit/SprunjeTest.php | 96 -
main/app/system/Bakery/Bakery.php | 160 -
main/app/system/Bakery/BaseCommand.php | 57 -
main/app/system/Bakery/Command/Bake.php | 76 -
main/app/system/Bakery/Command/BuildAssets.php | 173 -
main/app/system/Bakery/Command/ClearCache.php | 91 -
main/app/system/Bakery/Command/Debug.php | 178 -
main/app/system/Bakery/Command/Migrate.php | 47 -
main/app/system/Bakery/Command/MigrateRefresh.php | 51 -
main/app/system/Bakery/Command/MigrateReset.php | 48 -
main/app/system/Bakery/Command/MigrateRollback.php | 50 -
main/app/system/Bakery/Command/Setup.php | 220 -
main/app/system/Bakery/Command/Test.php | 55 -
main/app/system/Bakery/DatabaseTest.php | 52 -
main/app/system/Bakery/Migration.php | 67 -
main/app/system/Bakery/Migrator.php | 570 -
.../Database/Migrations/v410/MigrationTable.php | 58 -
main/app/system/Database/Model/Migrations.php | 55 -
main/app/system/Facade.php | 234 -
main/app/system/ServicesProvider.php | 104 -
main/app/system/SlimAppEvent.php | 28 -
main/app/system/Sprinkle/Sprinkle.php | 55 -
main/app/system/Sprinkle/SprinkleManager.php | 225 -
main/app/system/UserFrosting.php | 179 -
main/app/tests/DatabaseTransactions.php | 48 -
main/app/tests/TestCase.php | 236 -
main/app/tests/Unit/ExampleTest.php | 19 -
main/bakery | 34 -
main/build/gulpfile.js | 183 -
main/build/package-lock.json | 5512 ------
main/build/package.json | 33 -
main/composer.json | 60 -
main/phpunit.xml | 21 -
main/public/.htaccess | 185 -
main/public/index.php | 23 -
1545 files changed, 213373 deletions(-)
delete mode 100644 main/.gitignore
delete mode 100644 main/.travis.yml
delete mode 100644 main/app/.htaccess
delete mode 100644 main/app/cache/.gitkeep
delete mode 100644 main/app/defines.php
delete mode 100644 main/app/logs/.gitkeep
delete mode 100644 main/app/sessions/.gitkeep
delete mode 100644 main/app/sprinkles/account/asset-bundles.json
delete mode 100644 main/app/sprinkles/account/assets/userfrosting/js/pages/account-settings.js
delete mode 100644 main/app/sprinkles/account/assets/userfrosting/js/pages/forgot-password.js
delete mode 100644 main/app/sprinkles/account/assets/userfrosting/js/pages/register.js
delete mode 100644 main/app/sprinkles/account/assets/userfrosting/js/pages/resend-verification.js
delete mode 100644 main/app/sprinkles/account/assets/userfrosting/js/pages/set-or-reset-password.js
delete mode 100644 main/app/sprinkles/account/assets/userfrosting/js/pages/sign-in.js
delete mode 100644 main/app/sprinkles/account/bower.json
delete mode 100644 main/app/sprinkles/account/composer.json
delete mode 100644 main/app/sprinkles/account/config/default.php
delete mode 100644 main/app/sprinkles/account/config/production.php
delete mode 100644 main/app/sprinkles/account/factories/Permissions.php
delete mode 100644 main/app/sprinkles/account/factories/Roles.php
delete mode 100644 main/app/sprinkles/account/factories/Users.php
delete mode 100644 main/app/sprinkles/account/locale/ar/messages.php
delete mode 100644 main/app/sprinkles/account/locale/ar/validate.php
delete mode 100644 main/app/sprinkles/account/locale/de_DE/messages.php
delete mode 100644 main/app/sprinkles/account/locale/de_DE/validate.php
delete mode 100644 main/app/sprinkles/account/locale/en_US/messages.php
delete mode 100644 main/app/sprinkles/account/locale/en_US/validate.php
delete mode 100644 main/app/sprinkles/account/locale/es_ES/messages.php
delete mode 100644 main/app/sprinkles/account/locale/es_ES/validate.php
delete mode 100644 main/app/sprinkles/account/locale/fa/messages.php
delete mode 100644 main/app/sprinkles/account/locale/fa/validate.php
delete mode 100644 main/app/sprinkles/account/locale/fr_FR/messages.php
delete mode 100644 main/app/sprinkles/account/locale/fr_FR/validate.php
delete mode 100644 main/app/sprinkles/account/locale/it_IT/messages.php
delete mode 100644 main/app/sprinkles/account/locale/it_IT/validate.php
delete mode 100644 main/app/sprinkles/account/locale/pt_PT/messages.php
delete mode 100644 main/app/sprinkles/account/locale/pt_PT/validate.php
delete mode 100644 main/app/sprinkles/account/locale/ru_RU/messages.php
delete mode 100644 main/app/sprinkles/account/locale/ru_RU/validate.php
delete mode 100644 main/app/sprinkles/account/locale/th_TH/messages.php
delete mode 100644 main/app/sprinkles/account/locale/th_TH/validate.php
delete mode 100644 main/app/sprinkles/account/locale/tr/messages.php
delete mode 100644 main/app/sprinkles/account/locale/tr/validate.php
delete mode 100644 main/app/sprinkles/account/locale/zh_CN/messages.php
delete mode 100644 main/app/sprinkles/account/locale/zh_CN/validate.php
delete mode 100644 main/app/sprinkles/account/routes/routes.php
delete mode 100644 main/app/sprinkles/account/schema/requests/account-settings.yaml
delete mode 100644 main/app/sprinkles/account/schema/requests/account-verify.yaml
delete mode 100644 main/app/sprinkles/account/schema/requests/check-username.yaml
delete mode 100644 main/app/sprinkles/account/schema/requests/deny-password.yaml
delete mode 100644 main/app/sprinkles/account/schema/requests/forgot-password.yaml
delete mode 100644 main/app/sprinkles/account/schema/requests/login.yaml
delete mode 100644 main/app/sprinkles/account/schema/requests/profile-settings.yaml
delete mode 100644 main/app/sprinkles/account/schema/requests/register.yaml
delete mode 100644 main/app/sprinkles/account/schema/requests/resend-verification.yaml
delete mode 100644 main/app/sprinkles/account/schema/requests/set-password.yaml
delete mode 100644 main/app/sprinkles/account/src/Account.php
delete mode 100644 main/app/sprinkles/account/src/Authenticate/AuthGuard.php
delete mode 100644 main/app/sprinkles/account/src/Authenticate/Authenticator.php
delete mode 100644 main/app/sprinkles/account/src/Authenticate/Exception/AccountDisabledException.php
delete mode 100644 main/app/sprinkles/account/src/Authenticate/Exception/AccountInvalidException.php
delete mode 100644 main/app/sprinkles/account/src/Authenticate/Exception/AccountNotVerifiedException.php
delete mode 100644 main/app/sprinkles/account/src/Authenticate/Exception/AuthCompromisedException.php
delete mode 100644 main/app/sprinkles/account/src/Authenticate/Exception/AuthExpiredException.php
delete mode 100644 main/app/sprinkles/account/src/Authenticate/Exception/InvalidCredentialsException.php
delete mode 100644 main/app/sprinkles/account/src/Authenticate/Hasher.php
delete mode 100644 main/app/sprinkles/account/src/Authorize/AccessConditionExpression.php
delete mode 100644 main/app/sprinkles/account/src/Authorize/AuthorizationException.php
delete mode 100644 main/app/sprinkles/account/src/Authorize/AuthorizationManager.php
delete mode 100644 main/app/sprinkles/account/src/Authorize/ParserNodeFunctionEvaluator.php
delete mode 100644 main/app/sprinkles/account/src/Bakery/CreateAdminUser.php
delete mode 100644 main/app/sprinkles/account/src/Controller/AccountController.php
delete mode 100644 main/app/sprinkles/account/src/Controller/Exception/SpammyRequestException.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/ActivitiesTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/GroupsTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/PasswordResetsTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/PermissionRolesTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/PermissionsTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/PersistencesTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/RoleUsersTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/RolesTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/UsersTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Migrations/v400/VerificationsTable.php
delete mode 100644 main/app/sprinkles/account/src/Database/Models/Activity.php
delete mode 100644 main/app/sprinkles/account/src/Database/Models/Group.php
delete mode 100644 main/app/sprinkles/account/src/Database/Models/PasswordReset.php
delete mode 100644 main/app/sprinkles/account/src/Database/Models/Permission.php
delete mode 100644 main/app/sprinkles/account/src/Database/Models/Role.php
delete mode 100644 main/app/sprinkles/account/src/Database/Models/User.php
delete mode 100644 main/app/sprinkles/account/src/Database/Models/Verification.php
delete mode 100644 main/app/sprinkles/account/src/Error/Handler/AuthCompromisedExceptionHandler.php
delete mode 100644 main/app/sprinkles/account/src/Error/Handler/AuthExpiredExceptionHandler.php
delete mode 100644 main/app/sprinkles/account/src/Error/Handler/ForbiddenExceptionHandler.php
delete mode 100644 main/app/sprinkles/account/src/Facades/Password.php
delete mode 100644 main/app/sprinkles/account/src/Log/UserActivityDatabaseHandler.php
delete mode 100644 main/app/sprinkles/account/src/Log/UserActivityProcessor.php
delete mode 100644 main/app/sprinkles/account/src/Repository/PasswordResetRepository.php
delete mode 100644 main/app/sprinkles/account/src/Repository/TokenRepository.php
delete mode 100644 main/app/sprinkles/account/src/Repository/VerificationRepository.php
delete mode 100644 main/app/sprinkles/account/src/ServicesProvider/ServicesProvider.php
delete mode 100644 main/app/sprinkles/account/src/Twig/AccountExtension.php
delete mode 100644 main/app/sprinkles/account/src/Util/HashFailedException.php
delete mode 100644 main/app/sprinkles/account/src/Util/Util.php
delete mode 100644 main/app/sprinkles/account/templates/forms/settings-account.html.twig
delete mode 100644 main/app/sprinkles/account/templates/forms/settings-profile.html.twig
delete mode 100644 main/app/sprinkles/account/templates/mail/password-reset.html.twig
delete mode 100644 main/app/sprinkles/account/templates/mail/resend-verification.html.twig
delete mode 100644 main/app/sprinkles/account/templates/mail/verify-account.html.twig
delete mode 100644 main/app/sprinkles/account/templates/modals/tos.html.twig
delete mode 100644 main/app/sprinkles/account/templates/navigation/main-nav.html.twig
delete mode 100644 main/app/sprinkles/account/templates/navigation/user-card.html.twig
delete mode 100644 main/app/sprinkles/account/templates/pages/account-settings.html.twig
delete mode 100644 main/app/sprinkles/account/templates/pages/error/compromised.html.twig
delete mode 100644 main/app/sprinkles/account/templates/pages/forgot-password.html.twig
delete mode 100644 main/app/sprinkles/account/templates/pages/register.html.twig
delete mode 100644 main/app/sprinkles/account/templates/pages/resend-verification.html.twig
delete mode 100644 main/app/sprinkles/account/templates/pages/reset-password.html.twig
delete mode 100644 main/app/sprinkles/account/templates/pages/set-password.html.twig
delete mode 100644 main/app/sprinkles/account/templates/pages/sign-in.html.twig
delete mode 100644 main/app/sprinkles/account/tests/Unit/FactoriesTest.php
delete mode 100644 main/app/sprinkles/account/tests/Unit/HasherTest.php
delete mode 100644 main/app/sprinkles/admin/asset-bundles.json
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/css/tablesorter-custom.css
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/activities.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/dashboard.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/group.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/groups.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/permission.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/permissions.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/role.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/roles.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/user.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/pages/users.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/widgets/groups.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/widgets/roles.js
delete mode 100644 main/app/sprinkles/admin/assets/userfrosting/js/widgets/users.js
delete mode 100644 main/app/sprinkles/admin/composer.json
delete mode 100644 main/app/sprinkles/admin/locale/ar/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/de_DE/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/en_US/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/es_ES/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/fa/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/fr_FR/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/it_IT/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/pt_PT/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/ru_RU/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/th_TH/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/tr/messages.php
delete mode 100644 main/app/sprinkles/admin/locale/zh_CN/messages.php
delete mode 100644 main/app/sprinkles/admin/routes/activities.php
delete mode 100644 main/app/sprinkles/admin/routes/admin.php
delete mode 100644 main/app/sprinkles/admin/routes/groups.php
delete mode 100644 main/app/sprinkles/admin/routes/permissions.php
delete mode 100644 main/app/sprinkles/admin/routes/posts.php
delete mode 100644 main/app/sprinkles/admin/routes/roles.php
delete mode 100644 main/app/sprinkles/admin/routes/search.php
delete mode 100644 main/app/sprinkles/admin/routes/users.php
delete mode 100644 main/app/sprinkles/admin/routes/wormhole.php
delete mode 100644 main/app/sprinkles/admin/schema/requests/group/create.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/group/edit-info.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/group/get-by-slug.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/role/create.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/role/edit-field.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/role/edit-info.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/role/get-by-slug.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/user/create.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/user/edit-field.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/user/edit-info.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/user/edit-password.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/user/get-by-userid.yaml
delete mode 100644 main/app/sprinkles/admin/schema/requests/user/get-by-username.yaml
delete mode 100644 main/app/sprinkles/admin/src/Admin.php
delete mode 100644 main/app/sprinkles/admin/src/Controller/ActivityController.php
delete mode 100644 main/app/sprinkles/admin/src/Controller/AdminController.php
delete mode 100644 main/app/sprinkles/admin/src/Controller/GroupController.php
delete mode 100644 main/app/sprinkles/admin/src/Controller/PermissionController.php
delete mode 100644 main/app/sprinkles/admin/src/Controller/PostController.php
delete mode 100644 main/app/sprinkles/admin/src/Controller/RoleController.php
delete mode 100644 main/app/sprinkles/admin/src/Controller/SearchController.php
delete mode 100644 main/app/sprinkles/admin/src/Controller/UserController.php
delete mode 100644 main/app/sprinkles/admin/src/Controller/WormholeController.php
delete mode 100644 main/app/sprinkles/admin/src/ServicesProvider/ServicesProvider.php
delete mode 100644 main/app/sprinkles/admin/src/Sprunje/ActivitySprunje.php
delete mode 100644 main/app/sprinkles/admin/src/Sprunje/GroupSprunje.php
delete mode 100644 main/app/sprinkles/admin/src/Sprunje/PermissionSprunje.php
delete mode 100644 main/app/sprinkles/admin/src/Sprunje/PermissionUserSprunje.php
delete mode 100644 main/app/sprinkles/admin/src/Sprunje/RoleSprunje.php
delete mode 100644 main/app/sprinkles/admin/src/Sprunje/UserPermissionSprunje.php
delete mode 100644 main/app/sprinkles/admin/src/Sprunje/UserSprunje.php
delete mode 100644 main/app/sprinkles/admin/templates/forms/group.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/forms/role.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/forms/user.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/mail/password-create.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/confirm-clear-cache.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/confirm-delete-group.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/confirm-delete-role.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/confirm-delete-user.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/group.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/role-manage-permissions.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/role.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/user-manage-roles.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/user-set-password.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/modals/user.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/navigation/navbar.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/navigation/sidebar-menu.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/navigation/sidebar-user.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/navigation/sidebar.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/navigation/user-card.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/abstract/dashboard.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/activities.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/dashboard.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/group.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/groups.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/permission.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/permissions.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/role.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/roles.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/user.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/pages/users.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/tables/activities.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/tables/groups.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/tables/permissions.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/tables/roles.html.twig
delete mode 100644 main/app/sprinkles/admin/templates/tables/users.html.twig
delete mode 100644 main/app/sprinkles/admin/tests/Integration/SprunjeTests.php
delete mode 100644 main/app/sprinkles/core/asset-bundles.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/css/DarkTheme.css
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/css/LightTheme.css
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/css/animate.css
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/css/main.css
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/css/normalize.css
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/css/swiper.css
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/BurgerMenuShort.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/BurgerMenuShortActivated.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/ExploreGlobeOutline.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/ExploreGlobeOutlineActivated.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/FriendFeedOutline.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/FriendFeedOutlineActivated.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/MessageBubbleOutline.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/MessageBubbleOutlineActivated.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/UserGroupOutline.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/UserGroupOutlineActivated.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/UserOutline.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/icons/UserOutlineActivated.svg
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/asemica.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/asemica.pl
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/chat.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/cipher.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/console.image.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/console.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/encryption.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/fontawesome.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/jquery.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/linkify.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/main.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/modernizr.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/openpgp.worker.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/popups.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/push.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/swiper.js
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/notisound.mp3
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/bin/WebChatServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/bin/nohup.out
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/SavePublicKey.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/scripts.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/stylesheet.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/autoload.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/Makefile
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/AbstractConnectionDecorator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/App.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/ComponentInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/ConnectionInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Http/CloseResponseTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Http/HttpRequestParser.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Http/HttpServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Http/HttpServerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Http/NoOpHttpServerController.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Http/OriginCheck.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Http/Router.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/MessageComponentInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/MessageInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Server/EchoServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Server/FlashPolicy.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Server/IoConnection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Server/IoServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Server/IpBlackList.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Session/Serialize/HandlerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Session/Serialize/PhpBinaryHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Session/Serialize/PhpHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Session/SessionProvider.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Session/Storage/Proxy/VirtualProxy.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Session/Storage/VirtualSessionStorage.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Wamp/Exception.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Wamp/JsonException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Wamp/ServerProtocol.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Wamp/Topic.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Wamp/TopicManager.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Wamp/WampConnection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Wamp/WampServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/Wamp/WampServerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/WebSocket/ConnContext.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/WebSocket/MessageCallableInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/WebSocket/MessageComponentInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/WebSocket/WsConnection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/WebSocket/WsServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/src/Ratchet/WebSocket/WsServerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/autobahn/bin/fuzzingserver.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/autobahn/fuzzingclient-all.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/autobahn/fuzzingclient-profile.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/autobahn/fuzzingclient-quick.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/bootstrap.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/helpers/Ratchet/AbstractMessageComponentTestCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/helpers/Ratchet/Mock/Component.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/helpers/Ratchet/Mock/Connection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/helpers/Ratchet/Mock/ConnectionDecorator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/helpers/Ratchet/Mock/WampComponent.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/helpers/Ratchet/NullComponent.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/helpers/Ratchet/Wamp/Stub/WsWampServerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/helpers/Ratchet/WebSocket/Stub/WsMessageComponentInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/AbstractConnectionDecoratorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Http/HttpRequestParserTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Http/HttpServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Http/OriginCheckTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Http/RouterTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Server/EchoServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Server/FlashPolicyComponentTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Server/IoConnectionTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Server/IoServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Server/IpBlackListComponentTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Session/Serialize/PhpHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Session/SessionComponentTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Session/Storage/VirtualSessionStoragePDOTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Wamp/ServerProtocolTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Wamp/TopicManagerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Wamp/TopicTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Wamp/WampConnectionTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/cboden/ratchet/tests/unit/Wamp/WampServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/composer/ClassLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/composer/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/composer/autoload_classmap.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/composer/autoload_files.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/composer/autoload_namespaces.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/composer/autoload_psr4.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/composer/autoload_real.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/composer/autoload_static.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/composer/installed.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/doc/00-intro.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/doc/01-api.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/doc/02-plugin-system.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/examples/benchmark-emit-no-arguments.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/examples/benchmark-emit-once.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/examples/benchmark-emit-one-argument.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/examples/benchmark-emit.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/examples/benchmark-remove-listener-once.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/src/Evenement/EventEmitter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/src/Evenement/EventEmitterInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/tests/Evenement/Tests/EventEmitterTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/tests/Evenement/Tests/Listener.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/evenement/evenement/tests/Evenement/Tests/functions.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/AppendStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/BufferStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/CachingStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/DroppingStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/FnStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/InflateStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/LazyOpenStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/LimitStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/MessageTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/MultipartStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/NoSeekStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/PumpStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/Request.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/Response.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/ServerRequest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/Stream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/StreamWrapper.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/UploadedFile.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/Uri.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/UriNormalizer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/UriResolver.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/functions.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/guzzlehttp/psr7/src/functions_include.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/CHANGELOG-1.0.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/CHANGELOG-1.1.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/CHANGELOG-1.2.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/Gemfile
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/package.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/AssetCache.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/AssetCollection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/AssetCollectionInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/AssetInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/AssetReference.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/BaseAsset.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/FileAsset.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/GlobAsset.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/HttpAsset.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/Iterator/AssetCollectionFilterIterator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/Iterator/AssetCollectionIterator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Asset/StringAsset.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/AssetManager.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/AssetWriter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Cache/ApcCache.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Cache/ArrayCache.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Cache/CacheInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Cache/ConfigCache.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Cache/ExpiringCache.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Cache/FilesystemCache.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Exception/Exception.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Exception/FilterException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticExtension.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticFilterFunction.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticFilterInvoker.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticFilterNode.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticNode.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticTokenParser.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/TwigFormulaLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/TwigResource.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/ValueContainer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/AssetFactory.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/LazyAssetManager.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Loader/BasePhpFormulaLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Loader/CachedFormulaLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Loader/FormulaLoaderInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Loader/FunctionCallsFormulaLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Resource/CoalescingDirectoryResource.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Resource/DirectoryResource.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Resource/FileResource.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Resource/IteratorResourceInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Resource/ResourceInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Worker/CacheBustingWorker.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Worker/EnsureFilterWorker.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Factory/Worker/WorkerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/AutoprefixerFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/BaseCssFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/BaseNodeFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/BaseProcessFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/CallablesFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/CleanCssFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/CoffeeScriptFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/CompassFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/CssCacheBustingFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/CssEmbedFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/CssImportFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/CssMinFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/CssRewriteFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/DartFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/DependencyExtractorInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/EmberPrecompileFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/FilterCollection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/FilterInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/BaseCompilerFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/CompilerApiFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/CompilerJarFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/GssFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/HandlebarsFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/HashableInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/JSMinFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/JSMinPlusFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/JSqueezeFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/JpegoptimFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/JpegtranFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/LessFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/LessphpFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/MinifyCssCompressorFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/OptiPngFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/PackagerFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/PackerFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/PhpCssEmbedFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/PngoutFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/ReactJsxFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/RooleFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/Sass/BaseSassFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/Sass/SassFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/Sass/ScssFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/SassphpFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/ScssphpFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/SeparatorFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/SprocketsFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/StylusFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/TypeScriptFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/UglifyCssFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/UglifyJs2Filter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/UglifyJsFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/Yui/BaseCompressorFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/Yui/CssCompressorFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Filter/Yui/JsCompressorFilter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/FilterManager.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Util/CssUtils.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Util/FilesystemUtils.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Util/LessUtils.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Util/SassUtils.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Util/TraversableString.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/Util/VarUtils.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/Assetic/ValueSupplierInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/kriswallsmith/assetic/src/functions.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/lmammino/jsmin4assetic/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/lmammino/jsmin4assetic/README.markdown
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/lmammino/jsmin4assetic/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/lmammino/jsmin4assetic/src/JSMin.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/lmammino/jsmin4assetic/src/JSMinUnterminatedCommentException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/lmammino/jsmin4assetic/src/JSMinUnterminatedRegExpException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/lmammino/jsmin4assetic/src/JSMinUnterminatedStringException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/CONTRIBUTING.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/Dockerfile
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/bin/minifycss
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/bin/minifyjs
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/data/js/keywords_after.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/data/js/keywords_before.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/data/js/keywords_reserved.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/data/js/operators.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/data/js/operators_after.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/data/js/operators_before.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/docker-compose.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/src/CSS.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/src/Exception.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/src/Exceptions/BasicException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/src/Exceptions/FileImportException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/src/Exceptions/IOException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/src/JS.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/minify/src/Minify.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/path-converter/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/path-converter/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/path-converter/src/Converter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/path-converter/src/ConverterInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/matthiasmullie/path-converter/src/NoConverter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/natxet/CssMin/README
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/natxet/CssMin/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/natxet/CssMin/src/CssMin.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/.coveralls.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/.scrutinizer.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/CONTRIBUTING.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/Dockerfile.tests
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/build.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/docker-compose.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/phpunit.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/src/AbstractGenerator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/src/All.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/src/Alliteration.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/src/Generator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/src/Vgng.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/src/adjectives.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/src/nouns.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/src/video_game_names.txt
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/tests/AllTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/tests/AlliterationTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/nubs/random-name-generator/tests/VgngTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/build-phar.sh
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/byte_safe_strings.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/cast_to_int.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/error_polyfill.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/random.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/random_bytes_libsodium.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/lib/random_int.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/other/build_phar.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/psalm-autoload.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/paragonie/random_compat/psalm.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/src/MessageInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/src/RequestInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/src/ResponseInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/src/ServerRequestInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/src/StreamInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/src/UploadedFileInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/psr/http-message/src/UriInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Handshake/ClientNegotiator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Handshake/NegotiatorInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Handshake/RequestVerifier.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Handshake/ResponseVerifier.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Handshake/ServerNegotiator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Messaging/CloseFrameChecker.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Messaging/DataInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Messaging/Frame.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Messaging/FrameInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Messaging/Message.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Messaging/MessageBuffer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/src/Messaging/MessageInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/AbResultsTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/ab/clientRunner.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/ab/fuzzingclient.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/ab/fuzzingserver.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/ab/run_ab_tests.sh
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/ab/startServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/bootstrap.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/unit/Handshake/RequestVerifierTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/unit/Handshake/ResponseVerifierTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/unit/Handshake/ServerNegotiatorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/unit/Messaging/FrameTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/unit/Messaging/MessageBufferTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/ratchet/rfc6455/tests/unit/Messaging/MessageTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/src/ArrayCache.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/src/CacheInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/tests/ArrayCacheTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/tests/CallableStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/cache/tests/TestCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/examples/01-one.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/examples/02-concurrent.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/examples/03-cached.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/examples/04-query-a-and-aaaa.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/BadServerException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Config/Config.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Config/FilesystemFactory.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Config/HostsFile.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Model/HeaderBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Model/Message.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Model/Record.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Protocol/BinaryDumper.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Protocol/Parser.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/CachedExecutor.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/CancellationException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/Executor.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/ExecutorInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/HostsFileExecutor.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/Query.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/RecordBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/RecordCache.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/RetryExecutor.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/TimeoutException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Query/TimeoutExecutor.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/RecordNotFoundException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Resolver/Factory.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/src/Resolver/Resolver.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/CallableStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Config/ConfigTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Config/FilesystemFactoryTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Config/HostsFileTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Fixtures/etc/resolv.conf
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/FunctionalResolverTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Model/MessageTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Protocol/BinaryDumperTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Protocol/ParserTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Query/CachedExecutorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Query/ExecutorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Query/HostsFileExecutorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Query/RecordBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Query/RecordCacheTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Query/RetryExecutorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Query/TimeoutExecutorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Resolver/FactoryTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Resolver/ResolveAliasesTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/Resolver/ResolverTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/dns/tests/TestCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/01-timers.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/02-periodic.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/03-ticks.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/04-signals.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/11-consume-stdin.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/12-generate-yes.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/13-http-client-blocking.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/14-http-client-async.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/21-http-server.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/91-benchmark-ticks.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/92-benchmark-timers.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/93-benchmark-ticks-delay.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/94-benchmark-timers-delay.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/examples/95-benchmark-memory.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/ExtEvLoop.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/ExtEventLoop.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/ExtLibevLoop.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/ExtLibeventLoop.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/Factory.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/LoopInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/SignalsHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/StreamSelectLoop.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/Tick/FutureTickQueue.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/Timer/Timer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/Timer/Timers.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/src/TimerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/AbstractLoopTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/CallableStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/ExtEvLoopTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/ExtEventLoopTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/ExtLibevLoopTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/ExtLibeventLoopTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/SignalsHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/StreamSelectLoopTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/TestCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/Timer/AbstractTimerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/Timer/ExtEvTimerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/Timer/ExtEventTimerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/Timer/ExtLibevTimerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/Timer/ExtLibeventTimerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/Timer/StreamSelectTimerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/Timer/TimersTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/tests/bootstrap.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/event-loop/travis-init.sh
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/src/TimeoutException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/src/functions.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/tests/CallableStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/tests/FunctionRejectTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/tests/FunctionResolveTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/tests/FunctionTimeoutTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/tests/TestCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise-timer/tests/TimeoutExceptionTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/CancellablePromiseInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/CancellationQueue.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/Deferred.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/Exception/LengthException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/ExtendedPromiseInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/FulfilledPromise.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/LazyPromise.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/Promise.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/PromiseInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/PromisorInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/RejectedPromise.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/UnhandledRejectionException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/functions.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/src/functions_include.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/CancellationQueueTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/DeferredTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FulfilledPromiseTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FunctionAllTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FunctionAnyTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FunctionCheckTypehintTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FunctionMapTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FunctionRaceTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FunctionReduceTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FunctionRejectTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FunctionResolveTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/FunctionSomeTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/LazyPromiseTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseAdapter/CallbackPromiseAdapter.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseAdapter/PromiseAdapterInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest/CancelTestTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest/FullTestTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest/NotifyTestTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest/PromiseFulfilledTestTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest/PromisePendingTestTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest/PromiseRejectedTestTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest/PromiseSettledTestTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest/RejectTestTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/PromiseTest/ResolveTestTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/RejectedPromiseTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/Stub/CallableStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/TestCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/bootstrap.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/fixtures/SimpleFulfilledTestPromise.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/fixtures/SimpleFulfilledTestThenable.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/fixtures/SimpleRejectedTestPromise.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/fixtures/SimpleTestCancellable.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/promise/tests/fixtures/SimpleTestCancellableThenable.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/01-echo-server.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/02-chat-server.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/03-http-server.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/11-http-client.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/12-https-client.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/21-netcat-client.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/22-http-client.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/91-benchmark-server.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/99-generate-self-signed.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/localhost.pem
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/examples/localhost_swordfish.pem
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/Connection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/ConnectionInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/Connector.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/ConnectorInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/DnsConnector.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/FixedUriConnector.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/LimitingServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/SecureConnector.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/SecureServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/Server.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/ServerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/StreamEncryption.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/TcpConnector.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/TcpServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/TimeoutConnector.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/UnixConnector.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/src/UnixServer.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/ConnectionTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/ConnectorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/DnsConnectorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/FixedUriConnectorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/FunctionalConnectorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/FunctionalSecureServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/FunctionalTcpServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/IntegrationTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/LimitingServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/SecureConnectorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/SecureIntegrationTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/SecureServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/ServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/Stub/CallableStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/Stub/ConnectionStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/Stub/ServerStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/TcpConnectorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/TcpServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/TestCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/TimeoutConnectorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/UnixConnectorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/socket/tests/UnixServerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/.travis.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/examples/01-http.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/examples/02-https.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/examples/11-cat.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/examples/91-benchmark-throughput.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/src/CompositeStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/src/DuplexResourceStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/src/DuplexStreamInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/src/ReadableResourceStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/src/ReadableStreamInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/src/ThroughStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/src/Util.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/src/WritableResourceStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/src/WritableStreamInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/CallableStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/CompositeStreamTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/DuplexResourceStreamIntegrationTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/DuplexResourceStreamTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/EnforceBlockingWrapper.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/FunctionalInternetTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/ReadableResourceStreamTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/Stub/ReadableStreamStub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/TestCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/ThroughStreamTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/UtilTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/react/stream/tests/WritableStreamResourceTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/AcceptHeader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/AcceptHeaderItem.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/ApacheRequest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/BinaryFileResponse.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Cookie.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Exception/ConflictingHeadersException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Exception/RequestExceptionInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Exception/SuspiciousOperationException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/ExpressionRequestMatcher.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/Exception/FileException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/Exception/UploadException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/File.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/Stream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/File/UploadedFile.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/FileBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/HeaderBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/IpUtils.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/JsonResponse.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/ParameterBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/RedirectResponse.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Request.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/RequestMatcher.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/RequestMatcherInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/RequestStack.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Response.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/ResponseHeaderBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/ServerBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Flash/FlashBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Session.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/SessionBagInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/SessionBagProxy.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/SessionInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/NativeSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/StreamedResponse.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/AcceptHeaderItemTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/AcceptHeaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/ApacheRequestTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/CookieTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/ExpressionRequestMatcherTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/File/FakeFile.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/File/FileTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/File/Fixtures/.unknownextension
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/File/Fixtures/directory/.empty
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/File/Fixtures/other-file.example
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/File/Fixtures/test
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/File/Fixtures/test.gif
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/FileBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/HeaderBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/IpUtilsTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/JsonResponseTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/ParameterBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/RedirectResponseTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/RequestStackTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/RequestTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/ResponseTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/ResponseTestCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/ServerBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/SessionTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/AbstractSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/common.inc
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/empty_destroys.expected
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/empty_destroys.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/read_only.expected
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/read_only.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/regenerate.expected
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/regenerate.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/storage.expected
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/storage.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_cookie.expected
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_cookie.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_cookie_and_session.expected
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_cookie_and_session.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/StrictSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/NativeProxyTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/schema/http-status-codes.rng
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/Tests/schema/iana-registry.rng
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/http-foundation/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-mbstring/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-mbstring/Mbstring.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-mbstring/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-mbstring/bootstrap.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-mbstring/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/Php70.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/Resources/stubs/AssertionError.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/Resources/stubs/Error.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/Resources/stubs/ParseError.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/Resources/stubs/TypeError.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/bootstrap.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/polyfill-php70/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Exception/ExceptionInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Exception/InvalidArgumentException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Exception/LogicException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Exception/ProcessFailedException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Exception/ProcessTimedOutException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Exception/RuntimeException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/ExecutableFinder.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/InputStream.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/PhpExecutableFinder.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/PhpProcess.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Pipes/AbstractPipes.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Pipes/PipesInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Pipes/UnixPipes.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Pipes/WindowsPipes.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Process.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/ProcessBuilder.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/ProcessUtils.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/ExecutableFinderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/NonStopableProcess.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/PhpExecutableFinderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/PhpProcessTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/ProcessBuilderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/ProcessTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/ProcessUtilsTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/Tests/SignalListener.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/process/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/.gitignore
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Annotation/Route.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/CHANGELOG.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/CompiledRoute.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/DependencyInjection/RoutingResolverPass.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Exception/ExceptionInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Exception/InvalidParameterException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Exception/MethodNotAllowedException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Exception/MissingMandatoryParametersException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Exception/NoConfigurationException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Exception/ResourceNotFoundException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Exception/RouteNotFoundException.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Generator/UrlGenerator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Generator/UrlGeneratorInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/LICENSE
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/AnnotationClassLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/AnnotationFileLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/ClosureLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/Configurator/CollectionConfigurator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/Configurator/ImportConfigurator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/Configurator/RouteConfigurator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/Configurator/RoutingConfigurator.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/Configurator/Traits/AddTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/Configurator/Traits/RouteTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/DirectoryLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/GlobFileLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/ObjectRouteLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/PhpFileLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/XmlFileLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/YamlFileLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/Dumper/DumperCollection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/Dumper/DumperRoute.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/Dumper/StaticPrefixCollection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/RequestMatcherInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/UrlMatcher.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Matcher/UrlMatcherInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/README.md
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/RequestContext.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/RequestContextAwareInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Route.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/RouteCollection.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/RouteCollectionBuilder.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/RouteCompiler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/RouteCompilerInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Router.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/RouterInterface.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Annotation/RouteTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/CompiledRouteTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/DependencyInjection/RoutingResolverPassTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/BarClass.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/BazClass.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/FooClass.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/FooTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/CustomCompiledRoute.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/CustomRouteCompiler.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/CustomXmlFileLoader.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/OtherAnnotatedClasses/AnonymousClassInTrait.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/OtherAnnotatedClasses/NoStartTagClass.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/OtherAnnotatedClasses/VariadicClass.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/RedirectableUrlMatcher.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/annotated.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/bad_format.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/bar.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/import__controller.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/import__controller.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/import_controller.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/import_controller.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/import_override_defaults.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/import_override_defaults.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/override_defaults.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/override_defaults.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/routing.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/controller/routing.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/directory/recurse/routes1.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/directory/recurse/routes2.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/directory/routes3.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/directory_import/import.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher0.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher4.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher5.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher6.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher7.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/empty.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/file_resource.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/foo.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/foo1.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/bar.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/bar.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/baz.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/baz.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/import_multiple.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/import_multiple.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/import_single.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/import_single.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/php_dsl.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/php_dsl_bar.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/glob/php_dsl_baz.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/incomplete.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/list_defaults.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/list_in_list_defaults.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/list_in_map_defaults.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/list_null_values.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/map_defaults.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/map_in_list_defaults.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/map_in_map_defaults.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/map_null_values.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/missing_id.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/missing_path.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/nonesense_resource_plus_path.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/nonesense_type_without_resource.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/nonvalid.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/nonvalid2.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/nonvalidkeys.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/null_values.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/php_dsl.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/php_dsl_sub.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/scalar_defaults.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/special_route_name.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/validpattern.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/validpattern.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/validpattern.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/validresource.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/validresource.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/validresource.yml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/with_define_path_variable.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Fixtures/withdoctype.xml
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Generator/UrlGeneratorTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/AbstractAnnotationLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/AnnotationDirectoryLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/ClosureLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/DirectoryLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/GlobFileLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/ObjectRouteLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Matcher/DumpedRedirectableUrlMatcherTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Matcher/DumpedUrlMatcherTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Matcher/Dumper/DumperCollectionTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Matcher/Dumper/StaticPrefixCollectionTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Matcher/TraceableUrlMatcherTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/RequestContextTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/RouteCollectionBuilderTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/RouteCollectionTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/RouteCompilerTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/RouteTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/Tests/RouterTest.php
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/composer.json
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/php/vendor/symfony/routing/phpunit.xml.dist
delete mode 100644 main/app/sprinkles/core/assets/font-starcraft/css/font-starcraft.css
delete mode 100644 main/app/sprinkles/core/assets/font-starcraft/fonts/font-starcraft.eot
delete mode 100644 main/app/sprinkles/core/assets/font-starcraft/fonts/font-starcraft.svg
delete mode 100644 main/app/sprinkles/core/assets/font-starcraft/fonts/font-starcraft.ttf
delete mode 100644 main/app/sprinkles/core/assets/font-starcraft/fonts/font-starcraft.woff
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/css/AdminLTE-skins-all.css
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/css/AdminLTE.css
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/css/tablesorter-reflow.css
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/css/uf-alerts.css
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/css/uf-collection.css
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/css/uf-jqueryvalidation.css
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/css/userfrosting.css
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/README.md
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/android-chrome-144x144.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/android-chrome-192x192.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/android-chrome-256x256.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/android-chrome-36x36.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/android-chrome-384x384.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/android-chrome-48x48.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/android-chrome-512x512.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/android-chrome-72x72.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/android-chrome-96x96.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-114x114-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-114x114.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-120x120-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-120x120.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-144x144-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-144x144.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-152x152-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-152x152.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-180x180-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-180x180.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-57x57-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-57x57.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-60x60-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-60x60.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-72x72-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-72x72.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-76x76-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-76x76.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon-precomposed.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/apple-touch-icon.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/favicon-16x16.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/favicon-32x32.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/favicon.ico
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/ieconfig.xml
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/manifest.json
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/mstile-144x144.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/mstile-150x150.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/mstile-310x150.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/mstile-310x310.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/mstile-70x70.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/favicons/safari-pinned-tab.svg
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/images/cupcake.png
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/images/logo.svg
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/AdminLTE-custom.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/AdminLTE.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/attrchange.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/fortress-jqueryvalidation-methods.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/handlebars-helpers.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/query-string.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/tablesorter/widget-sort2Hash.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-alerts.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-captcha.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-collection.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-copy.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-form.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-init.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-jqueryvalidation-config.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-modal.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-table.js
delete mode 100644 main/app/sprinkles/core/assets/userfrosting/js/uf-tablesorter-parsers.js
delete mode 100644 main/app/sprinkles/core/bower.json
delete mode 100644 main/app/sprinkles/core/composer.json
delete mode 100644 main/app/sprinkles/core/config/default.php
delete mode 100644 main/app/sprinkles/core/config/dev.php
delete mode 100644 main/app/sprinkles/core/config/production.php
delete mode 100644 main/app/sprinkles/core/config/testing.php
delete mode 100644 main/app/sprinkles/core/extra/adjectives.php
delete mode 100644 main/app/sprinkles/core/extra/nouns.php
delete mode 100644 main/app/sprinkles/core/locale/ar/errors.php
delete mode 100644 main/app/sprinkles/core/locale/ar/messages.php
delete mode 100644 main/app/sprinkles/core/locale/ar/validate.php
delete mode 100644 main/app/sprinkles/core/locale/de_DE/errors.php
delete mode 100644 main/app/sprinkles/core/locale/de_DE/main.php
delete mode 100644 main/app/sprinkles/core/locale/de_DE/messages.php
delete mode 100644 main/app/sprinkles/core/locale/de_DE/validate.php
delete mode 100644 main/app/sprinkles/core/locale/en_US/errors.php
delete mode 100644 main/app/sprinkles/core/locale/en_US/main.php
delete mode 100644 main/app/sprinkles/core/locale/en_US/messages.php
delete mode 100644 main/app/sprinkles/core/locale/en_US/validate.php
delete mode 100644 main/app/sprinkles/core/locale/es_ES/errors.php
delete mode 100644 main/app/sprinkles/core/locale/es_ES/messages.php
delete mode 100644 main/app/sprinkles/core/locale/es_ES/validate.php
delete mode 100644 main/app/sprinkles/core/locale/fa/errors.php
delete mode 100644 main/app/sprinkles/core/locale/fa/messages.php
delete mode 100644 main/app/sprinkles/core/locale/fa/validate.php
delete mode 100644 main/app/sprinkles/core/locale/fr_FR/errors.php
delete mode 100644 main/app/sprinkles/core/locale/fr_FR/main.php
delete mode 100644 main/app/sprinkles/core/locale/fr_FR/messages.php
delete mode 100644 main/app/sprinkles/core/locale/fr_FR/validate.php
delete mode 100644 main/app/sprinkles/core/locale/it_IT/errors.php
delete mode 100644 main/app/sprinkles/core/locale/it_IT/messages.php
delete mode 100644 main/app/sprinkles/core/locale/it_IT/validate.php
delete mode 100644 main/app/sprinkles/core/locale/pt_PT/errors.php
delete mode 100644 main/app/sprinkles/core/locale/pt_PT/messages.php
delete mode 100644 main/app/sprinkles/core/locale/pt_PT/validate.php
delete mode 100644 main/app/sprinkles/core/locale/ru_RU/errors.php
delete mode 100644 main/app/sprinkles/core/locale/ru_RU/messages.php
delete mode 100644 main/app/sprinkles/core/locale/ru_RU/validate.php
delete mode 100644 main/app/sprinkles/core/locale/th_TH/errors.php
delete mode 100644 main/app/sprinkles/core/locale/th_TH/messages.php
delete mode 100644 main/app/sprinkles/core/locale/th_TH/validate.php
delete mode 100644 main/app/sprinkles/core/locale/tlh/errors.php
delete mode 100644 main/app/sprinkles/core/locale/tlh/main.php
delete mode 100644 main/app/sprinkles/core/locale/tlh/messages.php
delete mode 100644 main/app/sprinkles/core/locale/tlh/validate.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/ar.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/de.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/el.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/en.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/es.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/fr.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/id.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/it.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/ja.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/lv.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/pt-br.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/ro.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/ru.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/th.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/zh-cn.php
delete mode 100644 main/app/sprinkles/core/locale/valitron/zh-tw.php
delete mode 100644 main/app/sprinkles/core/locale/zh_CN/errors.php
delete mode 100644 main/app/sprinkles/core/locale/zh_CN/messages.php
delete mode 100644 main/app/sprinkles/core/locale/zh_CN/validate.php
delete mode 100644 main/app/sprinkles/core/routes/routes.php
delete mode 100644 main/app/sprinkles/core/schema/.gitkeep
delete mode 100644 main/app/sprinkles/core/src/Alert/AlertStream.php
delete mode 100644 main/app/sprinkles/core/src/Alert/CacheAlertStream.php
delete mode 100644 main/app/sprinkles/core/src/Alert/SessionAlertStream.php
delete mode 100644 main/app/sprinkles/core/src/Controller/CoreController.php
delete mode 100644 main/app/sprinkles/core/src/Controller/SimpleController.php
delete mode 100644 main/app/sprinkles/core/src/Core.php
delete mode 100644 main/app/sprinkles/core/src/Database/Builder.php
delete mode 100644 main/app/sprinkles/core/src/Database/DatabaseInvalidException.php
delete mode 100644 main/app/sprinkles/core/src/Database/Migrations/v400/SessionsTable.php
delete mode 100644 main/app/sprinkles/core/src/Database/Migrations/v400/ThrottlesTable.php
delete mode 100644 main/app/sprinkles/core/src/Database/Models/Concerns/HasRelationships.php
delete mode 100644 main/app/sprinkles/core/src/Database/Models/Model.php
delete mode 100644 main/app/sprinkles/core/src/Database/Models/Throttle.php
delete mode 100644 main/app/sprinkles/core/src/Database/Relations/BelongsToManyConstrained.php
delete mode 100644 main/app/sprinkles/core/src/Database/Relations/BelongsToManyThrough.php
delete mode 100644 main/app/sprinkles/core/src/Database/Relations/BelongsToManyUnique.php
delete mode 100644 main/app/sprinkles/core/src/Database/Relations/Concerns/Syncable.php
delete mode 100644 main/app/sprinkles/core/src/Database/Relations/Concerns/Unique.php
delete mode 100644 main/app/sprinkles/core/src/Database/Relations/HasManySyncable.php
delete mode 100644 main/app/sprinkles/core/src/Database/Relations/MorphManySyncable.php
delete mode 100644 main/app/sprinkles/core/src/Database/Relations/MorphToManyUnique.php
delete mode 100644 main/app/sprinkles/core/src/Error/ExceptionHandlerManager.php
delete mode 100644 main/app/sprinkles/core/src/Error/Handler/ExceptionHandler.php
delete mode 100644 main/app/sprinkles/core/src/Error/Handler/ExceptionHandlerInterface.php
delete mode 100644 main/app/sprinkles/core/src/Error/Handler/HttpExceptionHandler.php
delete mode 100644 main/app/sprinkles/core/src/Error/Handler/NotFoundExceptionHandler.php
delete mode 100644 main/app/sprinkles/core/src/Error/Handler/PhpMailerExceptionHandler.php
delete mode 100644 main/app/sprinkles/core/src/Error/Renderer/ErrorRenderer.php
delete mode 100644 main/app/sprinkles/core/src/Error/Renderer/ErrorRendererInterface.php
delete mode 100644 main/app/sprinkles/core/src/Error/Renderer/HtmlRenderer.php
delete mode 100644 main/app/sprinkles/core/src/Error/Renderer/JsonRenderer.php
delete mode 100644 main/app/sprinkles/core/src/Error/Renderer/PlainTextRenderer.php
delete mode 100644 main/app/sprinkles/core/src/Error/Renderer/WhoopsRenderer.php
delete mode 100644 main/app/sprinkles/core/src/Error/Renderer/XmlRenderer.php
delete mode 100644 main/app/sprinkles/core/src/Facades/Debug.php
delete mode 100644 main/app/sprinkles/core/src/Facades/Translator.php
delete mode 100644 main/app/sprinkles/core/src/Http/Concerns/DeterminesContentType.php
delete mode 100644 main/app/sprinkles/core/src/Log/DatabaseHandler.php
delete mode 100644 main/app/sprinkles/core/src/Log/MixedFormatter.php
delete mode 100644 main/app/sprinkles/core/src/Mail/EmailRecipient.php
delete mode 100644 main/app/sprinkles/core/src/Mail/MailMessage.php
delete mode 100644 main/app/sprinkles/core/src/Mail/Mailer.php
delete mode 100644 main/app/sprinkles/core/src/Mail/StaticMailMessage.php
delete mode 100644 main/app/sprinkles/core/src/Mail/TwigMailMessage.php
delete mode 100644 main/app/sprinkles/core/src/Model/UFModel.php
delete mode 100644 main/app/sprinkles/core/src/Router.php
delete mode 100644 main/app/sprinkles/core/src/ServicesProvider/ServicesProvider.php
delete mode 100644 main/app/sprinkles/core/src/Sprunje/Sprunje.php
delete mode 100644 main/app/sprinkles/core/src/Throttle/ThrottleRule.php
delete mode 100644 main/app/sprinkles/core/src/Throttle/Throttler.php
delete mode 100644 main/app/sprinkles/core/src/Throttle/ThrottlerException.php
delete mode 100644 main/app/sprinkles/core/src/Twig/CacheHelper.php
delete mode 100644 main/app/sprinkles/core/src/Twig/CoreExtension.php
delete mode 100644 main/app/sprinkles/core/src/Util/BadClassNameException.php
delete mode 100644 main/app/sprinkles/core/src/Util/Captcha.php
delete mode 100644 main/app/sprinkles/core/src/Util/CheckEnvironment.php
delete mode 100644 main/app/sprinkles/core/src/Util/ClassMapper.php
delete mode 100644 main/app/sprinkles/core/src/Util/EnvironmentInfo.php
delete mode 100644 main/app/sprinkles/core/src/Util/ShutdownHandler.php
delete mode 100644 main/app/sprinkles/core/src/Util/Util.php
delete mode 100644 main/app/sprinkles/core/templates/forms/csrf.html.twig
delete mode 100644 main/app/sprinkles/core/templates/mail/.gitkeep
delete mode 100644 main/app/sprinkles/core/templates/modals/modal.html.twig
delete mode 100644 main/app/sprinkles/core/templates/navigation/breadcrumb.html.twig
delete mode 100644 main/app/sprinkles/core/templates/navigation/main-nav.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/about.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/abstract/base.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/abstract/default.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/abstract/error.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/abstract/mainsite.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/error/400.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/error/404.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/error/config-errors.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/index.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/legal.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/partials/alerts.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/partials/analytics.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/partials/config.js.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/partials/favicons.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/partials/footer.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/partials/legal.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/partials/page.js.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/partials/privacy.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/privacy.html.twig
delete mode 100644 main/app/sprinkles/core/templates/pages/test.html.twig
delete mode 100644 main/app/sprinkles/core/templates/tables/table-paginated.html.twig
delete mode 100644 main/app/sprinkles/core/templates/tables/table-tool-menu.html.twig
delete mode 100644 main/app/sprinkles/core/tests/Integration/DatabaseTests.php
delete mode 100644 main/app/sprinkles/core/tests/Unit/BelongsToManyThroughTest.php
delete mode 100644 main/app/sprinkles/core/tests/Unit/DatabaseSyncableTest.php
delete mode 100644 main/app/sprinkles/core/tests/Unit/SprunjeTest.php
delete mode 100644 main/app/system/Bakery/Bakery.php
delete mode 100644 main/app/system/Bakery/BaseCommand.php
delete mode 100644 main/app/system/Bakery/Command/Bake.php
delete mode 100644 main/app/system/Bakery/Command/BuildAssets.php
delete mode 100644 main/app/system/Bakery/Command/ClearCache.php
delete mode 100644 main/app/system/Bakery/Command/Debug.php
delete mode 100644 main/app/system/Bakery/Command/Migrate.php
delete mode 100644 main/app/system/Bakery/Command/MigrateRefresh.php
delete mode 100644 main/app/system/Bakery/Command/MigrateReset.php
delete mode 100644 main/app/system/Bakery/Command/MigrateRollback.php
delete mode 100644 main/app/system/Bakery/Command/Setup.php
delete mode 100644 main/app/system/Bakery/Command/Test.php
delete mode 100644 main/app/system/Bakery/DatabaseTest.php
delete mode 100644 main/app/system/Bakery/Migration.php
delete mode 100644 main/app/system/Bakery/Migrator.php
delete mode 100644 main/app/system/Database/Migrations/v410/MigrationTable.php
delete mode 100644 main/app/system/Database/Model/Migrations.php
delete mode 100644 main/app/system/Facade.php
delete mode 100644 main/app/system/ServicesProvider.php
delete mode 100644 main/app/system/SlimAppEvent.php
delete mode 100644 main/app/system/Sprinkle/Sprinkle.php
delete mode 100644 main/app/system/Sprinkle/SprinkleManager.php
delete mode 100644 main/app/system/UserFrosting.php
delete mode 100644 main/app/tests/DatabaseTransactions.php
delete mode 100644 main/app/tests/TestCase.php
delete mode 100644 main/app/tests/Unit/ExampleTest.php
delete mode 100644 main/bakery
delete mode 100644 main/build/gulpfile.js
delete mode 100644 main/build/package-lock.json
delete mode 100644 main/build/package.json
delete mode 100644 main/composer.json
delete mode 100644 main/phpunit.xml
delete mode 100644 main/public/.htaccess
delete mode 100644 main/public/index.php
(limited to 'main')
diff --git a/main/.gitignore b/main/.gitignore
deleted file mode 100644
index b17e6aa..0000000
--- a/main/.gitignore
+++ /dev/null
@@ -1,65 +0,0 @@
-# Ignores my text editor metadata
-*.komodoproject
-
-# Ignores Mac metadata. You can configure this globally if you use a Mac: http://islegend.com/development/setting-global-gitignore-mac-windows/
-.DS_Store
-
-# Ignore developer resources
-_meta/*
-
-# Ignore personal config files (dev)
-app/.env
-
-# Ignore composer-generated files
-composer.lock
-composer.phar
-
-# Ignore log, cache, and sessions directories
-app/cache/*
-app/logs/*
-app/sessions/*
-
-# Unignore log, cache, and sessions .gitkeeps
-!app/cache/.gitkeep
-!app/logs/.gitkeep
-!app/sessions/.gitkeep
-
-# Ignore bower vendor assets
-/app/sprinkles/*/assets/vendor/
-
-# Ignore sprinkles.json config file
-app/sprinkles.json
-
-# Ignore sample site sprinkle
-app/sprinkles/site-dev
-
-# Ignore Composer vendor
-app/vendor/*
-
-# Ignore node modules
-build/node_modules/*
-
-# Ignore generated bundle schema files
-build/bundle.config.json
-build/bundle.result.json
-
-# Ignore temporary build assets
-build/temp
-
-# Ignore npm-debug.log
-build/npm-debug.log
-
-# Ignore compiled assets
-public/assets/*
-
-# Ignore uploads
-uploads/*
-
-# Ignore minified assets (v0.3.x)
-public/js/min/*
-public/css/min/*
-
-# Ignore personal config files (v0.3.x)
-app/config-userfrosting.php
-
-app/database/userfrosting.db
diff --git a/main/.travis.yml b/main/.travis.yml
deleted file mode 100644
index 4b516f7..0000000
--- a/main/.travis.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-sudo: false
-dist: trusty
-language: php
-
-services:
- - mysql
- - postgresql
-
-php:
- - 5.6
- - 7
- - 7.1
-
-env:
- matrix:
- - DB=mysql
- - DB=sqlite
- - DB=pgsql
-
-before_install:
- # copy sprinkles.json
- - cp app/sprinkles.example.json app/sprinkles.json
- # set up db
- - bash build/before_install.sh $DB
-
-before_script:
- # install deps and UF
- - composer install
- - php bakery migrate
-
-script:
- # run unit tests
- - composer test
-
-after_failure:
- - cat app/log/userfrosting.log
diff --git a/main/app/.htaccess b/main/app/.htaccess
deleted file mode 100644
index 912b0e9..0000000
--- a/main/app/.htaccess
+++ /dev/null
@@ -1,15 +0,0 @@
-# The `resources` directory should not be made publicly accessible (i.e., in the public document directory) at all.
-# But just in case you're an idiot, this should at least give you protection from exposing passwords and other sensitive info in your .env files.
-
-
-
-RewriteEngine On
-
-## Begin - Security
-# Block all direct access to files and folders beginning with a dot
-RewriteRule (^\.|/\.) - [F]
-# Block access to specific files in the root folder
-RewriteRule ^(LICENSE.txt|composer.lock|composer.json|\.htaccess|\.env)$ error [F]
-## End - Security
-
-
diff --git a/main/app/cache/.gitkeep b/main/app/cache/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/main/app/defines.php b/main/app/defines.php
deleted file mode 100644
index 30c4bff..0000000
--- a/main/app/defines.php
+++ /dev/null
@@ -1,52 +0,0 @@
-=5.6"
- },
- "autoload": {
- "psr-4": {
- "UserFrosting\\Sprinkle\\Account\\": "src/"
- }
- }
-}
diff --git a/main/app/sprinkles/account/config/default.php b/main/app/sprinkles/account/config/default.php
deleted file mode 100644
index 4f145ba..0000000
--- a/main/app/sprinkles/account/config/default.php
+++ /dev/null
@@ -1,79 +0,0 @@
- [
- 'auth' => FALSE
- ],
- // configuration for the 'password reset' feature
- 'password_reset' => [
- 'algorithm' => 'sha512',
- 'timeouts' => [
- 'create' => 86400,
- 'reset' => 10800
- ]
- ],
- // See https://github.com/gbirke/rememberme for an explanation of these settings
- 'remember_me' => [
- 'cookie' => [
- 'name' => 'rememberme'
- ],
- 'expire_time' => 604800,
- 'session' => [
- 'path' => '/'
- ],
- 'table' => [
- 'tableName' => 'persistences',
- 'credentialColumn' => 'user_id',
- 'tokenColumn' => 'token',
- 'persistentTokenColumn' => 'persistent_token',
- 'expiresColumn' => 'expires_at'
- ]
- ],
- 'reserved_user_ids' => [
- 'guest' => -1,
- 'master' => 1
- ],
- 'session' => [
- // The keys used in the session to store info about authenticated users
- 'keys' => [
- 'current_user_id' => 'account.current_user_id', // the key to use for storing the authenticated user's id
- 'captcha' => 'account.captcha' // Key used to store a captcha hash during captcha verification
- ]
- ],
- // "Site" settings that are automatically passed to Twig
- 'site' => [
- 'login' => [
- 'enable_email' => TRUE
- ],
- 'registration' => [
- 'enabled' => FALSE, // TODO: Datenschutzerklärung before enabling registration
- 'captcha' => TRUE,
- 'require_email_verification' => TRUE,
- 'user_defaults' => [
- 'locale' => 'en_US',
- 'group' => 'terran',
- // Default roles for newly registered users
- 'roles' => [
- 'user' => TRUE
- ]
- ]
- ]
- ],
- 'throttles' => [
- 'check_username_request' => NULL,
- 'password_reset_request' => NULL,
- 'registration_attempt' => NULL,
- 'sign_in_attempt' => NULL,
- 'verification_request' => NULL
- ],
- // configuration for the 'email verification' feature
- 'verification' => [
- 'algorithm' => 'sha512',
- 'timeout' => 10800
- ]
-];
diff --git a/main/app/sprinkles/account/config/production.php b/main/app/sprinkles/account/config/production.php
deleted file mode 100644
index 3ce9866..0000000
--- a/main/app/sprinkles/account/config/production.php
+++ /dev/null
@@ -1,67 +0,0 @@
- [
- 'check_username_request' => [
- 'method' => 'ip',
- 'interval' => 3600,
- 'delays' => [
- 40 => 1000
- ]
- ],
- 'password_reset_request' => [
- 'method' => 'ip',
- 'interval' => 3600,
- 'delays' => [
- 2 => 5,
- 3 => 10,
- 4 => 20,
- 5 => 40,
- 6 => 80,
- 7 => 600
- ]
- ],
- 'registration_attempt' => [
- 'method' => 'ip',
- 'interval' => 3600,
- 'delays' => [
- 2 => 5,
- 3 => 10,
- 4 => 20,
- 5 => 40,
- 6 => 80,
- 7 => 600
- ]
- ],
- 'sign_in_attempt' => [
- 'method' => 'ip',
- 'interval' => 3600,
- 'delays' => [
- 4 => 5,
- 5 => 10,
- 6 => 20,
- 7 => 40,
- 8 => 80,
- 9 => 600
- ]
- ],
- 'verification_request' => [
- 'method' => 'ip',
- 'interval' => 3600,
- 'delays' => [
- 2 => 5,
- 3 => 10,
- 4 => 20,
- 5 => 40,
- 6 => 80,
- 7 => 600
- ]
- ]
- ]
-];
diff --git a/main/app/sprinkles/account/factories/Permissions.php b/main/app/sprinkles/account/factories/Permissions.php
deleted file mode 100644
index 591f5fd..0000000
--- a/main/app/sprinkles/account/factories/Permissions.php
+++ /dev/null
@@ -1,19 +0,0 @@
-define('UserFrosting\Sprinkle\Account\Database\Models\Permission')->setDefinitions([
- 'slug' => Faker::word(),
- 'name' => Faker::word(),
- 'description' => Faker::paragraph(),
- 'conditions' => Faker::word()
-]);
diff --git a/main/app/sprinkles/account/factories/Roles.php b/main/app/sprinkles/account/factories/Roles.php
deleted file mode 100644
index cdbb5a3..0000000
--- a/main/app/sprinkles/account/factories/Roles.php
+++ /dev/null
@@ -1,18 +0,0 @@
-define('UserFrosting\Sprinkle\Account\Database\Models\Role')->setDefinitions([
- 'slug' => Faker::unique()->word(),
- 'name' => Faker::word(),
- 'description' => Faker::paragraph()
-]);
diff --git a/main/app/sprinkles/account/factories/Users.php b/main/app/sprinkles/account/factories/Users.php
deleted file mode 100644
index eb49f42..0000000
--- a/main/app/sprinkles/account/factories/Users.php
+++ /dev/null
@@ -1,23 +0,0 @@
-define('UserFrosting\Sprinkle\Account\Database\Models\User')->setDefinitions([
- 'user_name' => Faker::unique()->firstNameMale(),
- 'first_name' => Faker::firstNameMale(),
- 'last_name' => Faker::firstNameMale(),
- 'email' => Faker::unique()->email(),
- 'locale' => 'en_US',
- 'flag_verified' => 1,
- 'flag_enabled' => 1,
- 'password' => Faker::password()
-]);
diff --git a/main/app/sprinkles/account/locale/ar/messages.php b/main/app/sprinkles/account/locale/ar/messages.php
deleted file mode 100644
index 8f5485f..0000000
--- a/main/app/sprinkles/account/locale/ar/messages.php
+++ /dev/null
@@ -1,176 +0,0 @@
- [
- "@TRANSLATION" => "الحساب",
-
- "ACCESS_DENIED" => "يبدو أنك لا تملك صلاحية للقيام بذلك",
-
- "DISABLED" => "هذا الحساب معطل يمكنك الاتصال بنا للحصول على مزيد من المعلومات",
-
- "EMAIL_UPDATED" => "تم تجديد البريد الإلكتروني بالحساب",
-
- "INVALID" => "هذا الحساب غير موجود قد تم حذفه يمكنك الاتصا بنا للحصول على مزيد من المعلومات",
-
- "MASTER_NOT_EXISTS" => "لا يمكنك تسجيل حساب جديد حتى تم إنشاء الحساب الرئيسي",
- "MY" => "حسابي",
-
- "SESSION_COMPROMISED" => [
- "@TRANSLATION" => "تم اختراق جلسنك يجب عليك الخروج على كافة الأجهزة، ثم تسجيل الدخول مرة أخرى والتأكد من أن المعلومات الخاصة بك لم يعبث بها",
- "TITLE" => "من الممكن أن حسابك قد اخترق",
- "TEXT" => "ربما استخدم شخص معلومات التسجيل الدخول للدخول إلى هذه الصفحة. لسلامتك، تم انتهاء جميع الجلسات يرجا التسجيل مرة اخرى وتحقق من حسابك بسبب النشاط الغريب قد ترغب في تغيير كلمة المرور"
- ],
-
- "SESSION_EXPIRED" => "انتهت جلستك تستطيع تسجيل الدخول مرة أخرى",
-
- "SETTINGS" => [
- "@TRANSLATION" => "إعدادات الحساب",
- "DESCRIPTION" => "غير إعدادات حسابك، بما في ذلك البريد الإلكتروني، واسم وكلمة المرور
-",
- "UPDATED" => "تم تجديد إعدادات الحساب"
- ],
-
- "TOOLS" => "أدوات الحساب",
-
- "UNVERIFIED" => "لم يتم التحقق من حسابك بعد افحص في رسائل البريد الإلكتروني و ملف البريد المزعج للحصول على تعليمات تفعيل الحساب",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "لقد أرسلنا رابط جديدا لتحقق عبر البريد الإلكتروني إلى {{email}} افحص في رسائل البريد الإلكتروني و ملف البريد المزعج",
- "RESEND" => "إعادة ارسال بريد التحقق",
- "COMPLETE" => "لقد تم التحقق من حسابك بنجاح يمكنك الآن تسجيل الدخول",
- "EMAIL" => "ادخل عنوان البريد الإلكتروني الذي استخدمته للتسجيل، و سوف نرسل البريد الإلكتروني لتحقق مرة أخرى",
- "PAGE" => "إعادة إرسال البريد الإلكتروني التحقق من حسابك الجديد",
- "SEND" => "ارسل رابط للتحقق عبر البريد الالكتروني",
- "TOKEN_NOT_FOUND" => "رمز التحقق غير موجود أو تم تحقق الحساب من قبل",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "لا يوجد حساب ل {{email}}",
- "IN_USE" => "البريد الإلكتروني {{email}} قيد الاستخدام"
- ],
-
- "FIRST_NAME" => "الاسم الاول",
-
- "HEADER_MESSAGE_ROOT" => "تسجيل الدخول باسم المستخدم ROOT",
-
- "LAST_NAME" => "اسم العائلة",
-
- "LOCALEACCOUNT" => "اللغة التي تستخدم لحسابك",
-
- "LOGIN" => [
- "@TRANSLATION" => "تسجيل الدخول",
-
- "ALREADY_COMPLETE" => "انت بالفعل داخل",
- "SOCIAL" => "أو الدخول مع",
- "REQUIRED" => "عذرا، يجب عليك تسجيل الدخول للوصول إلى هذا المكان"
- ],
-
- "LOGOUT" => "تسجيل الخروج",
-
- "NAME" => "اسم",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "سجل الدخول إلى حسابك في {{site_name}} أو سجيل للحصول على حساب جديد",
- "SUBTITLE" => "التسجيل مجانا أو قم بتسجيل الدخول باستخدام حساب موجود",
- "TITLE" => "هيا نبدأ",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "كلمه المرور",
-
- "BETWEEN" => "ما بين {{min}}-{{max}} حروف",
-
- "CONFIRM" => "تأكيد كلمة المرور",
- "CONFIRM_CURRENT" => "تأكيد كلمه المرور الحالي",
- "CONFIRM_NEW" => "تأكيد كلمة المرور الجديدة",
- "CONFIRM_NEW_EXPLAIN" => "إعادة إدخال كلمة المرور الجديدة",
- "CONFIRM_NEW_HELP" => "لازم إذا كان المطلوب اختيار كلمة مرور جديدة",
- "CURRENT" => "كلمة المرور الحالية",
- "CURRENT_EXPLAIN" => "يجب عليك تأكيد كلمة المرور الحالية لإجراء التغييرات",
-
- "FORGOTTEN" => "كلمه المرور منسية",
- "FORGET" => [
- "@TRANSLATION" => "لقد نسيت كلمة المرور",
-
- "COULD_NOT_UPDATE" => "لا يمكن تحديث كلمة المرور",
- "EMAIL" => "ادخل عنوان البريد الإلكتروني الذي استخدمته للتسجيل وسوف نرسل تعليمات لإعادة تعيين كلمة المرور",
- "EMAIL_SEND" => "أرسل رابط تعيين كلمة المرور عبر البريد الالكتروني",
- "INVALID" => "لم يتم العثور على إعادة تعيين كلمة المرور، أو انتهت صلاحية رابط حاول إعادة تقديم طلبك",
- "PAGE" => "الحصول على رابط لإعادة تعيين كلمة المرور",
- "REQUEST_CANNED" => "إلغاء طلب كلمة المرور",
- "REQUEST_SENT" => "إذا تطابق البريد الإلكتروني {{email}} حسابا في نظامنا، فسيتم إرسال رابط إعادة تعيين كلمة المرور إلى {{email}}."
- ],
-
- "RESET" => [
- "@TRANSLATION" => "إعادة تعيين كلمة المرور",
- "CHOOSE" => "اختيار كلمة مرور جديدة للتواصل",
- "PAGE" => "اختيار كلمة مرور جديدة لحسابك",
- "SEND" => "تعيين كلمة المرور الجديدة وتسجيل الدخول"
- ],
-
- "HASH_FAILED" => "فشلت التجزئة كلمة المرور يرجى الاتصال بمسؤول الموقع",
- "INVALID" => "كلمة مرور الحالية لا تتطابق مع ما لدينا",
- "NEW" => "كلمة مرور الجديدة",
- "NOTHING_TO_UPDATE" => "لا يمكنك تحديث مع نفس كلمة مرور",
- "UPDATED" => "جدد كلمة مرور",
-
- "CREATE" => [
- "@TRANSLATION" => "إنشاء كلمة مرور",
- "PAGE" => "اختر كلمة مرور لحسابك الجديد",
- "SET" => "تعيين كلمة المرور وتسجيل الدخول"
- ]
- ],
-
- "REGISTER" => "تسجيل",
- "REGISTER_ME" => "سجلني",
- "SIGN_IN_HERE" => "هل لديك حساب؟ تسجيل الدخول هنا",
-
- "REGISTRATION" => [
- "BROKEN" => "نحن آسفون، هناك مشكلة مع عملية تسجيل الحساب يرجى الاتصال بنا مباشرة للحصول على المساعدة",
- "COMPLETE_TYPE1" => "لقد سجلت بنجاح يمكنك الآن تسجيل الدخول",
- "COMPLETE_TYPE2" => "لقد سجلت بنجاح سوف تتلقى قريبا رسالة التحقق تحتوي على رابط لتفعيل حسابك لن تكون قادرا على تسجيل الدخول حتى الانتهاء من هذه الخطوة",
- "DISABLED" => "عذرا، لقد تم تعطيل تسجيل اي حساب",
- "LOGOUT" => "لا يمكنك التسجيل للحصول على حساب أثناء تسجيل الدخول",
- "WELCOME" => "التسجيل سريع وبسيط"
- ],
-
- "RATE_LIMIT_EXCEEDED" => "تم تجاوز الحد عددا لهذا الإجراء يجب الانتظار {{delay}} ثواني قبل القيام بمحاولة أخرى",
- "REMEMBER_ME" => "تذكرنى",
- "REMEMBER_ME_ON_COMPUTER" => "تذكرني على هذا الحاسوب (غير مستحسن للحواسب العامة)",
-
- "SIGNIN" => "تسجيل الدخول",
- "SIGNIN_OR_REGISTER" => "تسجيل الدخول أو التسجيل",
- "SIGNUP" => "تسجيل",
-
- "TOS" => "الأحكام والشروط",
- "TOS_AGREEMENT" => "من خلال تسجيل حساب جديد في {{site_title}}, انت تقبل الأحكام والشروط",
- "TOS_FOR" => "الأحكام والشروط ل {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "اسم المستخدم",
-
- "CHOOSE" => "اختيار اسم مستخدم فريد",
- "INVALID" => "اسم المستخدم غير صالح",
- "IN_USE" => "اسم المستخدم {{user_name}} قيد الاستخدام"
- ],
-
- "USER_ID_INVALID" => "عدم وجود هوية المستخدم المطلوب",
- "USER_OR_EMAIL_INVALID" => "اسم المستخدم أو عنوان البريد الإلكتروني غير صالح",
- "USER_OR_PASS_INVALID" => "اسم المستخدم أو كلمة المرور غير صالحة",
-
- "WELCOME" => "مرحبا بعودتك, {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/ar/validate.php b/main/app/sprinkles/account/locale/ar/validate.php
deleted file mode 100644
index 0d6ff04..0000000
--- a/main/app/sprinkles/account/locale/ar/validate.php
+++ /dev/null
@@ -1,18 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "يجب أن تكون كلمة المرور وكلمة المرور التأكيدية نفس"
- ]
-];
diff --git a/main/app/sprinkles/account/locale/de_DE/messages.php b/main/app/sprinkles/account/locale/de_DE/messages.php
deleted file mode 100644
index a9d1264..0000000
--- a/main/app/sprinkles/account/locale/de_DE/messages.php
+++ /dev/null
@@ -1,188 +0,0 @@
- [
- "@TRANSLATION" => "Konto",
-
- "ACCESS_DENIED" => "Hmm, sieht aus als hätten Sie keine Berechtigung, um dies zu tun.",
-
- "DISABLED" => "Dieses Konto wurde deaktiviert. Bitte Kontaktieren Sie uns für weitere Informationen.",
-
- "EMAIL_UPDATED" => "E-Mail-Adresse aktualisiert.",
-
- "INVALID" => "Dieses Konto existiert nicht. Es wurde möglicherweise gelöscht. Bitte kontaktieren Sie uns für weitere Informationen.",
-
- "MASTER_NOT_EXISTS" => "Sie können kein neues Konto anlegen solange kein Root-Konto angelegt wurde!",
- "MY" => "Mein Konto",
-
- "SESSION_COMPROMISED" => [
- "@TRANSLATION" => "Ihre Sitzung wurde beeinträchtigt. Sie sollten sich auf allen Geräten abmelden, sich dann wieder anmelden und sicherstellen, dass Ihre Daten nicht manipuliert wurden.",
- "TITLE" => "Ihr Konto wurde möglicherweise beeinträchtigt",
- "TEXT" => "Möglicherweise ist es jemandem gelungen, Ihren Zugang zu dieser Seite zu übernehmen. Aus Sicherheitsgründen wurden Sie überall abgemeldet. Bitte melden Sie sich neu an und untersuchen Sie das Konto nach verdächtigen Aktivitäten. Außerdem sollten Sie Ihr Passwort ändern."
- ],
- "SESSION_EXPIRED" => "Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "Kontoeinstellungen",
- "DESCRIPTION" => "Aktualisieren Sie Ihre Kontoeinstellungen, einschließlich E-Mail, Name und Passwort.",
- "UPDATED" => "Kontoeinstellungen aktualisiert"
- ],
-
- "TOOLS" => "Konto-Werkzeuge",
-
- "UNVERIFIED" => "Ihr Konto wurde noch nicht bestätigt. Überprüfen Sie Ihr E-Mails/Spam-Ordner für die Konto-Aktivierungsanleitung.",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "Wir haben einen neuen Bestätigungslink an {{email}} gesendet. Überprüfen Sie Ihr E-Mail/Spam-Ordner oder versuchen Sie es später noch einmal.",
- "RESEND" => "Bestätigungsmail erneut senden",
- "COMPLETE" => "Sie haben Ihr Konto erfolgreich Verifiziert. Sie können sich jetzt anmelden.",
- "EMAIL" => "Bitte geben Sie die E-Mail-Adresse ein, mit der Sie sich registriert haben, Überprüfen Sie Ihr E-Mails/Spam-Ordner für die Bestätigungs-E-Mail.",
- "PAGE" => "Senden Sie die Bestätigungs-E-Mail erneut für Ihr neues Konto.",
- "SEND" => "Bestätigungslink erneut per E-Mail zusenden",
- "TOKEN_NOT_FOUND" => "Verifizierungstoken existiert nicht / Konto wurde bereits verifiziert"
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "Es gibt kein Konto für {{email}}.",
- "IN_USE" => "Die E-Mail Adresse {{email}} wird bereits verwendet.",
- "VERIFICATION_REQUIRED" => "E-Mail (Bestätigung benötigt - Benutzen Sie eine echte E-Mail Adresse!)"
- ],
-
- "EMAIL_OR_USERNAME" => "Benutzername oder E-mail Adresse",
-
- "FIRST_NAME" => "Vorname",
-
- "HEADER_MESSAGE_ROOT" => "Sie sind als Root-Benutzer angemeldet.",
-
- "LAST_NAME" => "Nachname",
-
- "LOCALE" => [
- "ACCOUNT" => "Die Sprache und das Gebietsschema für Ihr Konto",
- "INVALID" => "{{locale}} ist kein gültiges Gebietsschema."
- ],
-
- "LOGIN" => [
- "@TRANSLATION" => "Anmelden",
- "ALREADY_COMPLETE" => "Sie sind bereits eingeloggt!",
- "SOCIAL" => "Oder loggen Sie sich ein mit",
- "REQUIRED" => "Sorry, Sie müssen angemeldet sein. Um auf diese Ressource zugreifen zu können."
- ],
-
- "LOGOUT" => "Ausloggen",
-
- "NAME" => "Name",
-
- "NAME_AND_EMAIL" => "Name und E-Mail",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "Melden Sie sich in Ihr {{site_name}} Konto an oder registrieren Sie sich für ein neues Konto.",
- "SUBTITLE" => "Registrieren Sie sich kostenlos oder melden Sie sich mit einem bestehenden Konto an.",
- "TITLE" => "Lass uns anfangen!"
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "Passwort",
-
- "BETWEEN" => "Zwischen {{min}}-{{max}} Zeichen",
-
- "CONFIRM" => "Bestätige das Passwort",
- "CONFIRM_CURRENT" => "Bitte bestätige dein jetziges Passwort",
- "CONFIRM_NEW" => "Neues Passwort bestätigen",
- "CONFIRM_NEW_EXPLAIN" => "Geben Sie Ihr neues Passwort erneut ein",
- "CONFIRM_NEW_HELP" => "Erforderlich, wenn Sie ein neues Passwort wählen",
- "CREATE" => [
- "@TRANSLATION" => "Passwort setzen",
- "PAGE" => "Setzen Sie ein Passwort für den Account.",
- "SET" => "Passwort setzen und anmelden"
- ],
- "CURRENT" => "Aktuelles Passwort",
- "CURRENT_EXPLAIN" => "Sie müssen Ihr aktuelles Passwort bestätigen, um Änderungen vorzunehmen",
-
- "FORGOTTEN" => "Passwort vergessen",
- "FORGET" => [
- "@TRANSLATION" => "Ich habe mein Passwort vergessen",
-
- "COULD_NOT_UPDATE" => "Das Passwort konnte nicht aktualisiert werden.",
- "EMAIL" => "Bitte geben Sie die E-Mail-Adresse ein, mit der Sie sich registriert haben. Ein Link mit der Anweisungen zum Zurücksetzen Ihres Passworts wird Ihnen per E-Mail zugeschickt.",
- "EMAIL_SEND" => "Neue Passwort zurücksetzen E-Mail senden",
- "INVALID" => "Diese Anforderung zum Zurücksetzen des Passworts wurde nicht gefunden oder ist abgelaufen.Bitte versuchen Sie Ihre Anfrage erneut einzureichen.",
- "PAGE" => "Holen Sie sich einen Link, um Ihr Passwort zurückzusetzen.",
- "REQUEST_CANNED" => "Verlorene Passwortanforderung abgebrochen.",
- "REQUEST_SENT" => "Wenn die E-Mail {{email}} mit einem Account in unserem System übereinstimmt, wird ein Passwort-Reset-Link an {{email}} gesendet."
- ],
-
- "HASH_FAILED" => "Passwort Hashing fehlgeschlagen. Bitte kontaktieren Sie einen Administrator.",
- "INVALID" => "Das aktuelle Passwort stimmt nicht mit dem Datensatz überein",
- "NEW" => "Neues Passwort",
- "NOTHING_TO_UPDATE" => "Sie können nicht das gleiche Passwort zum Aktualisieren verwenden",
-
- "RESET" => [
- "@TRANSLATION" => "Passwort zurücksetzen",
- "CHOOSE" => "Bitte wählen Sie ein neues Passwort, um fortzufahren.",
- "PAGE" => "Wählen Sie ein neues Passwort für Ihr Konto.",
- "SEND" => "Neues Passwort festlegen und anmelden"
- ],
-
- "UPDATED" => "Konto Passwort aktualisiert"
- ],
-
- "PROFILE" => [
- "SETTINGS" => "Profileinstellungen",
- "UPDATED" => "Profileinstellungen aktualisiert"
- ],
-
- "RATE_LIMIT_EXCEEDED" => "Die grenze für diese Maßnahme wurde überschritten. Sie müssen weitere {{delay}} Sekunden warten, bevor Sie einen weiteren Versuch machen dürfen.",
-
- "REGISTER" => "Registrieren",
- "REGISTER_ME" => "Melden Sie mich an",
- "REGISTRATION" => [
- "BROKEN" => "Es tut uns leid, es gibt ein Problem mit unserer Registrierung. Bitte kontaktieren Sie uns direkt für Hilfe.",
- "COMPLETE_TYPE1" => "Sie haben sich erfolgreich registriert. Sie können sich jetzt anmelden.",
- "COMPLETE_TYPE2" => "Sie haben sich erfolgreich registriert. Sie erhalten in Kürze eine Bestätigungs-E-Mail mit einem Link zur Aktivierung Ihres Kontos. Sie können sich nicht anmelden, bis Sie diesen Schritt abgeschlossen haben.",
- "DISABLED" => "Es tut uns leid, Die Registrierung des Kontos ist deaktiviert.",
- "LOGOUT" => "Es tut uns leid, Sie können kein neues Konto registrieren, während Sie angemeldet sind. Bitte melden Sie sich zuerst ab.",
- "WELCOME" => "Die Registrierung ist schnell und einfach."
- ],
- "REMEMBER_ME" => "Erinnere dich an mich!",
- "REMEMBER_ME_ON_COMPUTER" => "Erinnere dich an mich auf diesem Computer (nicht für öffentliche Computer empfohlen)",
-
- "SIGN_IN_HERE" => "Sie haben bereits einen Account? Melden Sie sich hier an.",
- "SIGNIN" => "Anmelden",
- "SIGNIN_OR_REGISTER" => "Anmelden oder registrieren",
- "SIGNUP" => "Anmelden",
-
- "TOS" => "Geschäftsbedingungen",
- "TOS_AGREEMENT" => "Durch die Registrierung eines Kontos auf {{site_title}} akzeptieren Sie die Bedingungen .",
- "TOS_FOR" => "Allgemeine Geschäftsbedingungen für {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "Benutzername",
-
- "CHOOSE" => "Wählen Sie einen eindeutigen Benutzernamen",
- "INVALID" => "Ungültiger Benutzername",
- "IN_USE" => "Benutzername {{user_name}} wird bereits verwendet.",
- "NOT_AVAILABLE" => "Benutzername {{user_name}} ist nicht verfügbar. Wähle einen anderen Namen, der klicken Sie auf 'vorschlagen'."
- ],
-
- "USER_ID_INVALID" => "Die angeforderte Benutzer-ID existiert nicht.",
- "USER_OR_EMAIL_INVALID" => "Benutzername oder E-Mail-Adresse ist ungültig.",
- "USER_OR_PASS_INVALID" => "Benutzername oder Passwort ist ungültig.",
-
- "WELCOME" => "Willkommen zurück, {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/de_DE/validate.php b/main/app/sprinkles/account/locale/de_DE/validate.php
deleted file mode 100644
index 33fa254..0000000
--- a/main/app/sprinkles/account/locale/de_DE/validate.php
+++ /dev/null
@@ -1,21 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "Ihr Passwort und das Bestätigungspasswort müssen übereinstimmen.",
- "USERNAME" => "Benutzernamen dürfen nur aus Kleinbuchstaben, Zahlen, '.', '-' und '_' bestehen."
- ]
-];
diff --git a/main/app/sprinkles/account/locale/en_US/messages.php b/main/app/sprinkles/account/locale/en_US/messages.php
deleted file mode 100644
index 53306e4..0000000
--- a/main/app/sprinkles/account/locale/en_US/messages.php
+++ /dev/null
@@ -1,183 +0,0 @@
- [
- "@TRANSLATION" => "Account",
-
- "ACCESS_DENIED" => "Hmm, looks like you don't have permission to do that.",
-
- "DISABLED" => "This account has been disabled. Please contact us for more information.",
-
- "EMAIL_UPDATED" => "Account email updated",
-
- "INVALID" => "This account does not exist. It may have been deleted. Please contact us for more information.",
-
- "MASTER_NOT_EXISTS" => "You cannot register an account until the master account has been created!",
- "MY" => "My Account",
-
- "SESSION_COMPROMISED" => [
- "@TRANSLATION" => "Your session has been compromised. You should log out on all devices, then log back in and make sure that your data has not been tampered with.",
- "TITLE" => "Your account may have been compromised",
- "TEXT" => "Someone may have used your login information to acccess this page. For your safety, all sessions were logged out. Please log in and check your account for suspicious activity. You may also wish to change your password."
- ],
- "SESSION_EXPIRED" => "Your session has expired. Please sign in again.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "Account settings",
- "DESCRIPTION" => "Update your account settings, including email, name, and password.",
- "UPDATED" => "Account settings updated"
- ],
-
- "TOOLS" => "Account tools",
-
- "UNVERIFIED" => "Your account has not yet been verified. Check your emails / spam folder for account activation instructions.",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "We have emailed a new verification link to {{email}}. Please check your inbox and spam folders for this email.",
- "RESEND" => "Resend verification email",
- "COMPLETE" => "You have successfully verified your account. You can now login.",
- "EMAIL" => "Please enter the email address you used to sign up, and your verification email will be resent.",
- "PAGE" => "Resend the verification email for your new account.",
- "SEND" => "Email the verification link for my account",
- "TOKEN_NOT_FOUND" => "Verification token does not exist / Account is already verified",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "There is no account for {{email}}.",
- "IN_USE" => "Email {{email}} is already in use.",
- "VERIFICATION_REQUIRED" => "Email (verification required - use a real address!)"
- ],
-
- "EMAIL_OR_USERNAME" => "Username or email address",
-
- "FIRST_NAME" => "First name",
-
- "HEADER_MESSAGE_ROOT" => "YOU ARE SIGNED IN AS THE ROOT USER",
-
- "LAST_NAME" => "Last name",
- "LOCALE" => [
- "ACCOUNT" => "The language and locale to use for your account",
- "INVALID" => "{{locale}} is not a valid locale."
- ],
- "LOGIN" => [
- "@TRANSLATION" => "Login",
- "ALREADY_COMPLETE" => "You are already logged in!",
- "SOCIAL" => "Or login with",
- "REQUIRED" => "Sorry, you must be logged in to access this resource."
- ],
- "LOGOUT" => "Logout",
-
- "NAME" => "Name",
-
- "NAME_AND_EMAIL" => "Name and email",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "Sign in to your {{site_name}} account, or register for a new account.",
- "SUBTITLE" => "Register for free, or sign in with an existing account.",
- "TITLE" => "Let's get started!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "Password",
-
- "BETWEEN" => "Between {{min}}-{{max}} characters",
-
- "CONFIRM" => "Confirm password",
- "CONFIRM_CURRENT" => "Please confirm your current password",
- "CONFIRM_NEW" => "Confirm New Password",
- "CONFIRM_NEW_EXPLAIN" => "Re-enter your new password",
- "CONFIRM_NEW_HELP" => "Required only if selecting a new password",
- "CREATE" => [
- "@TRANSLATION" => "Create Password",
- "PAGE" => "Choose a password for your new account.",
- "SET" => "Set Password and Sign In"
- ],
- "CURRENT" => "Current Password",
- "CURRENT_EXPLAIN" => "You must confirm your current password to make changes",
-
- "FORGOTTEN" => "Forgotten Password",
- "FORGET" => [
- "@TRANSLATION" => "I forgot my password",
-
- "COULD_NOT_UPDATE" => "Couldn't update password.",
- "EMAIL" => "Please enter the email address you used to sign up. A link with instructions to reset your password will be emailed to you.",
- "EMAIL_SEND" => "Email Password Reset Link",
- "INVALID" => "This password reset request could not be found, or has expired. Please try resubmitting your request.",
- "PAGE" => "Get a link to reset your password.",
- "REQUEST_CANNED" => "Lost password request cancelled.",
- "REQUEST_SENT" => "If the email {{email}} matches an account in our system, a password reset link will be sent to {{email}}."
- ],
-
- "HASH_FAILED" => "Password hashing failed. Please contact a site administrator.",
- "INVALID" => "Current password doesn't match the one we have on record",
- "NEW" => "New Password",
- "NOTHING_TO_UPDATE" => "You cannot update with the same password",
-
- "RESET" => [
- "@TRANSLATION" => "Reset Password",
- "CHOOSE" => "Please choose a new password to continue.",
- "PAGE" => "Choose a new password for your account.",
- "SEND" => "Set New Password and Sign In"
- ],
-
- "UPDATED" => "Account password updated"
- ],
-
- "PROFILE" => [
- "SETTINGS" => "Profile settings",
- "UPDATED" => "Profile settings updated"
- ],
-
- "RATE_LIMIT_EXCEEDED" => "The rate limit for this action has been exceeded. You must wait another {{delay}} seconds before you will be allowed to make another attempt.",
-
- "REGISTER" => "Register",
- "REGISTER_ME" => "Sign me up",
- "REGISTRATION" => [
- "BROKEN" => "We're sorry, there is a problem with our account registration process. Please contact us directly for assistance.",
- "COMPLETE_TYPE1" => "You have successfully registered. You can now sign in.",
- "COMPLETE_TYPE2" => "You have successfully registered. A link to activate your account has been sent to {{email}}. You will not be able to sign in until you complete this step.",
- "DISABLED" => "We're sorry, account registration has been disabled.",
- "LOGOUT" => "I'm sorry, you cannot register for an account while logged in. Please log out first.",
- "WELCOME" => "Registration is fast and simple."
- ],
- "REMEMBER_ME" => "Keep me signed in",
- "REMEMBER_ME_ON_COMPUTER" => "Remember me on this computer (not recommended for public computers)",
-
- "SIGN_IN_HERE" => "Already have an account? Sign in here.",
- "SIGNIN" => "Sign in",
- "SIGNIN_OR_REGISTER" => "Sign in or register",
- "SIGNUP" => "Sign Up",
-
- "TOS" => "Terms and Conditions",
- "TOS_AGREEMENT" => "By registering an account with {{site_title}}, you accept the terms and conditions.",
- "TOS_FOR" => "Terms and Conditions for {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "Username",
-
- "CHOOSE" => "Choose a unique username",
- "INVALID" => "Invalid username",
- "IN_USE" => "Username {{user_name}} is already in use.",
- "NOT_AVAILABLE" => "Username {{user_name}} is not available. Choose a different name, or click 'suggest'."
- ],
-
- "USER_ID_INVALID" => "The requested user id does not exist.",
- "USER_OR_EMAIL_INVALID" => "Username or email address is invalid.",
- "USER_OR_PASS_INVALID" => "User not found or password is invalid.",
-
- "WELCOME" => "Welcome back, {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/en_US/validate.php b/main/app/sprinkles/account/locale/en_US/validate.php
deleted file mode 100644
index 6b33584..0000000
--- a/main/app/sprinkles/account/locale/en_US/validate.php
+++ /dev/null
@@ -1,19 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "Your password and confirmation password must match.",
- "USERNAME" => "Username may consist only of lowercase letters, numbers, '.', '-', and '_'."
- ]
-];
diff --git a/main/app/sprinkles/account/locale/es_ES/messages.php b/main/app/sprinkles/account/locale/es_ES/messages.php
deleted file mode 100644
index e084235..0000000
--- a/main/app/sprinkles/account/locale/es_ES/messages.php
+++ /dev/null
@@ -1,189 +0,0 @@
- [
- "@TRANSLATION" => "Perfil",
-
- "ACCESS_DENIED" => "Hmm, parece que no tienes permiso para hacer eso.",
-
- "DISABLED" => "Esta cuenta se ha inhabilitado. Por favor contáctenos para más información.",
-
- "EMAIL_UPDATED" => "Correo electrónico de la cuenta actualizado",
-
- "INVALID" => "Esta cuenta no existe. Puede haber sido eliminado. Por favor contáctenos para más información.",
-
- "MASTER_NOT_EXISTS" => "No puede registrar una cuenta hasta que se haya creado la cuenta principal.",
- "MY" => "Mi Perfil",
-
- "SESSION_COMPROMISED" => [
- "@TRANSLATION" => "Su sesión ha sido comprometida. Debe desconectarse de todos los dispositivos y, a continuación, volver a iniciar sesión y asegurarse de que sus datos no han sido manipulados.",
- "TITLE" => "Es posible que su cuenta se haya visto comprometida.",
- "TEXT" => "Alguien puede haber utilizado su información de acceso para acceder a esta página. Para su seguridad, todas las sesiones se cerraron. ingrese y compruebe si su actividad es sospechosa en su cuenta. También puede cambiar su contraseña."
- ],
- "SESSION_EXPIRED" => "Su sesión ha caducado. Inicie sesión nuevamente.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "Configuraciones de la cuenta",
- "DESCRIPTION" => "Actualice la configuración de su cuenta, incluido el correo electrónico, el nombre y la contraseña.",
- "UPDATED" => "Configuración de la cuenta actualizada"
- ],
-
- "TOOLS" => "Herramientas de la cuenta",
-
- "UNVERIFIED" => "Tu cuenta aún no se ha verificado. Revise sus correos electrónicos / carpeta de spam para obtener instrucciones sobre la activación de la cuenta.",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "Hemos enviado por correo electrónico un nuevo enlace de verificación a {{email}}. Comprueba tu bandeja de entrada y las carpetas de spam para este correo electrónico.",
- "RESEND" => "Reenviar correo electrónico de verificación",
- "COMPLETE" => "Ha verificado correctamente su cuenta. Ahora puede iniciar sesión.",
- "EMAIL" => "Ingrese la dirección de correo electrónico que utilizó para registrarse y su correo electrónico de verificación será enviado de nuevo.",
- "PAGE" => "Vuelva a enviar el correo electrónico de verificación de su nueva cuenta.",
- "SEND" => "Reenviar correo de verificación",
- "TOKEN_NOT_FOUND" => "El token de verificación no existe / La cuenta ya está verificada",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "No hay cuenta para {{email}} .",
- "IN_USE" => "El correo electrónico {{email}} ya está en uso.",
- "VERIFICATION_REQUIRED" => "Correo electrónico (se requiere verificación - ¡use una dirección real!)"
- ],
-
- "EMAIL_OR_USERNAME" => "Nombre de usuario o dirección de correo electrónico",
-
- "FIRST_NAME" => "Nombre",
-
- "HEADER_MESSAGE_ROOT" => "USTED HA INGRESADO COMO USUARIO ROOT",
-
- "LAST_NAME" => "Apellidos",
-
- "LOCALE" => [
- "ACCOUNT" => "El idioma y la configuración regional para utilizar en su cuenta",
- "INVALID" => "{{locale}} no es un idioma válido."
- ],
-
- "LOGIN" => [
- "@TRANSLATION" => "Acceder",
- "ALREADY_COMPLETE" => "¡Ya se ha autentificado!",
- "SOCIAL" => "O ingrese con",
- "REQUIRED" => "Lo sentimos, debes iniciar sesión para acceder a este recurso."
- ],
-
- "LOGOUT" => "Cerrar sesión",
-
- "NAME" => "Nombre",
-
- "NAME_AND_EMAIL" => "Nombre y correo electrónico",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "Inicie sesión en su cuenta de {{site_name}} o regístrese para obtener una nueva cuenta.",
- "SUBTITLE" => "Regístrese gratis o inicie sesión con una cuenta existente.",
- "TITLE" => "¡Empecemos!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "Contraseña",
-
- "BETWEEN" => "Entre {{min}} - {{max}} (recomendado 12)",
-
- "CONFIRM" => "Confirmar contraseña",
- "CONFIRM_CURRENT" => "Por favor, confirma tu contraseña actual",
- "CONFIRM_NEW" => "Confirmar nueva contraseña",
- "CONFIRM_NEW_EXPLAIN" => "Vuelve a ingresar tu nueva contraseña",
- "CONFIRM_NEW_HELP" => "Sólo se requiere si se selecciona una nueva contraseña",
- "CREATE" => [
- "@TRANSLATION" => "Crear contraseña",
- "PAGE" => "Elija una contraseña para su nueva cuenta.",
- "SET" => "Establecer contraseña e iniciar sesión"
- ],
- "CURRENT" => "Contraseña actual",
- "CURRENT_EXPLAIN" => "Debe confirmar su contraseña actual para realizar cambios",
-
- "FORGOTTEN" => "Contraseña olvidada",
- "FORGET" => [
- "@TRANSLATION" => "Olvidé mi contraseña",
-
- "COULD_NOT_UPDATE" => "No se pudo actualizar la contraseña.",
- "EMAIL" => "Introduce la dirección de correo electrónico que utilizaste para registrarte. Se le enviará por correo electrónico un enlace con las instrucciones para restablecer su contraseña.",
- "EMAIL_SEND" => "Contraseña de correo electrónico Restablecer enlace",
- "INVALID" => "No se pudo encontrar esta solicitud de restablecimiento de contraseña o ha caducado. Intenta volver a enviar tu solicitud .",
- "PAGE" => "Obtenga un enlace para restablecer su contraseña.",
- "REQUEST_CANNED" => "Se ha cancelado la solicitud de contraseña perdida.",
- "REQUEST_SENT" => "Se ha enviado un enlace de restablecimiento de contraseña a {{email}} ."
- ],
-
- "RESET" => [
- "@TRANSLATION" => "Restablecer la contraseña",
- "CHOOSE" => "Por favor, elija una nueva contraseña para continuar.",
- "PAGE" => "Elige una nueva contraseña para tu cuenta.",
- "SEND" => "Establecer nueva contraseña e iniciar sesión"
- ],
-
- "HASH_FAILED" => "El hash de la contraseña ha fallado. Póngase en contacto con un administrador del sitio.",
- "INVALID" => "La contraseña actual no coincide con la que tenemos registrada",
- "NEW" => "Nueva contraseña",
- "NOTHING_TO_UPDATE" => "No se puede actualizar con la misma contraseña",
- "UPDATED" => "Contraseña de la cuenta actualizada"
- ],
-
- "PROFILE" => [
- "SETTINGS" => "Configuración de perfil",
- "UPDATED" => "Configuración del perfil actualizada"
- ],
-
- "RATE_LIMIT_EXCEEDED" => "Se ha superado el límite de velocidad para esta acción. Debe esperar otro {{delay}} segundos antes de que se le permita hacer otro intento.",
-
- "REGISTER" => "Registro",
- "REGISTER_ME" => "Inscríbeme",
- "REGISTRATION" => [
- "BROKEN" => "Lo sentimos, hay un problema con nuestro proceso de registro de cuenta. Póngase en contacto con nosotros directamente para obtener ayuda.",
- "COMPLETE_TYPE1" => "Se ha registrado exitosamente. Ahora puede iniciar sesión.",
- "COMPLETE_TYPE2" => "Se ha registrado exitosamente. Se ha enviado un enlace para activar tu cuenta a {{email}} . No podrá iniciar sesión hasta que complete este paso.",
- "DISABLED" => "Lo sentimos, el registro de cuenta se ha deshabilitado.",
- "LOGOUT" => "Lo siento, no puede registrarse para una cuenta mientras está conectado. Por favor, cierra la sesión primero.",
- "WELCOME" => "El registro es rápido y sencillo."
- ],
-
- "REMEMBER_ME" => "¡Recuérdame!",
- "REMEMBER_ME_ON_COMPUTER" => "Recuérdeme en este ordenador (no se recomienda para ordenadores públicos)",
-
- "SIGNIN" => "Iniciar sesión",
- "SIGNIN_OR_REGISTER" => "Ingresa o Registro",
- "SIGNUP" => "Regístrate",
- "SUGGEST" => "Sugerencia",
- "HAVE_ACCOUNT" => "¿Ya tienes una cuenta?",
- "SIGN_IN_HERE" => "¿Ya tienes una cuenta? Acceda aquí. ",
-
-
- "TOS" => "Términos y Condiciones",
- "TOS_AGREEMENT" => "Al registrar una cuenta con {{site_title}}, acepta los términos y condiciones .",
- "TOS_FOR" => "Términos y condiciones para {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "Nombre de usuario",
-
- "CHOOSE" => "Elige un nombre de usuario único",
- "INVALID" => "Nombre de usuario no válido",
- "IN_USE" => "El nombre de usuario {{user_name}} ya está en uso.",
- "NOT_AVAILABLE" => "El nombre de usuario {{user_name}} no está disponible. Elija otro nombre o haga clic en \"sugerir\"."
- ],
-
- "USER_ID_INVALID" => "El ID de usuario solicitado no existe.",
- "USER_OR_EMAIL_INVALID" => "El nombre de usuario o la dirección de correo electrónico no son válidos.",
- "USER_OR_PASS_INVALID" => "Usuario no encontrado o la contraseña no es válida.",
-
- "WELCOME" => "Bienvenido de nuevo, {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/es_ES/validate.php b/main/app/sprinkles/account/locale/es_ES/validate.php
deleted file mode 100644
index 342ca14..0000000
--- a/main/app/sprinkles/account/locale/es_ES/validate.php
+++ /dev/null
@@ -1,19 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "Su contraseña y contraseña de confirmación deben coincidir.",
- "USERNAME" => "El nombre de usuario puede consistir sólo en letras minúsculas, números, '.', '-' y '_'."
- ]
-];
diff --git a/main/app/sprinkles/account/locale/fa/messages.php b/main/app/sprinkles/account/locale/fa/messages.php
deleted file mode 100644
index 00fba60..0000000
--- a/main/app/sprinkles/account/locale/fa/messages.php
+++ /dev/null
@@ -1,178 +0,0 @@
- [
- "@TRANSLATION" => "حساب",
-
- "ACCESS_DENIED" => "به نظر می آید که شما اجازه انجام این کار را ندارید",
-
- "DISABLED" => "این حساب کاربری غیر فعال شده است. برای اطلاعات بیشتر، لطفا با ما تماس برقرار کنید.",
-
- "EMAIL_UPDATED" => "آدرس پست الکترونیکی حساب، به روز رسانی شد",
-
- "INVALID" => "این اکانت موجود نیست. ممکن است که حذف شده باشد. برای اطلاعات بیشتر، لطفا با ما تماس برقرار کنید.",
-
- "MASTER_NOT_EXISTS" => "تا زمانی که حساب اصلی ساخته نشده است نمیتوانید حساب کاربری جدیدی بسازید.",
- "MY" => "حساب من",
-
- "SESSION_COMPROMISED" => "ممکن است سژن شما مورد حمله واقع شده باشد. بهتر است با همه دستگاه های خود از وب سایت خارج شوید و دوباره وارد شوید. همچنین توجه بفرمایید که اطلاعات حسابتان، مورد حمله واقع نشده باشد. ",
- "SESSION_COMPROMISED_TITLE" => "ممکن است که اکانت شما مورد حمله واقع شده باشد",
- "SESSION_EXPIRED" => "سژن شما به پایان رسیده است. لطفا دوباره وارد شوید.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "تنظیمات حساب",
- "DESCRIPTION" => "اطلاعات حسابتان یعنی پست الکترونیکی،نام و گذرواژه خود را به روز رسانی کنید",
- "UPDATED" => "تنظیمات حساب به روز رسانی شد"
- ],
-
- "TOOLS" => "ابزار حساب",
-
- "UNVERIFIED" => "شما هنوز آدرس پست الکترونیکی خود را فعال نکرده اید. برای فعال سازی لطفا ایمیل خود را چک کنید.",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "لینک فعال سازی برای ایمیل {{email}} ارسال شد. لطفا ایمیل خود را چک کنید.",
- "RESEND" => "ارسال دوباره ایمیل فعال سازی",
- "COMPLETE" => "شما پست الکترونیکی خود را با موفقیت فعال سازی کردید. حالا می توانید وارد شوید.",
- "EMAIL" => "لطفا آدرس پست الکترونیکی که با آن ثبت نام کردید وارد کنید تا ایمیل فعال سازی دوباره برایتان ارسال شود.",
- "PAGE" => "ارسال دوباره ایمیل فعال سازی برای حساب جدید شما",
- "SEND" => "ارسال ایمیل فعال سازی برای حساب کاربری",
- "TOKEN_NOT_FOUND" => "این حساب کاربری یا قبلا فعال شده است و یا کد فعال سازی موجود نیست.",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "حساب کاربری با {{email}} ثبت نشده است.",
- "IN_USE" => "ایمیل {{email}} قبلا استفاده شده است",
- "VERIFICATION_REQUIRED" => "آدرس پست الکترونیکی را بصورت صحیح وارد کنید"
- ],
-
- "EMAIL_OR_USERNAME" => "نام کاربری یا آدرس پست الکترونیکی",
-
- "FIRST_NAME" => "نام",
-
- "HEADER_MESSAGE_ROOT" => "شما بعنوان کاربر اصلی وارد شده اید",
-
- "LAST_NAME" => "نام خانوادگی",
-
- "LOCALE" => [
- "ACCOUNT" => "زبان انتخابی برای حساب شما",
- "INVALID" => "{{locale}} زبان صحیحی نیست"
- ],
-
- "LOGIN" => [
- "@TRANSLATION" => "ورود",
- "ALREADY_COMPLETE" => "شما قبلا وارد شده اید.",
- "SOCIAL" => "یا با روش های زیر وارد شوید",
- "REQUIRED" => "برای دیدن این صفحه لازم است که وارد شوید"
- ],
-
- "LOGOUT" => "خروج",
-
- "NAME" => "نام",
-
- "NAME_AND_EMAIL" => "نام و پست الکترونیکی",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "به حساب کاربری خود در {{site_name}} وارد شوید و یا حساب کاربری جدیدی بسازید",
- "SUBTITLE" => "ثبت نام کنید و یا با حساب کاربری خود وارد شوید",
- "TITLE" => "بیایید شروع کنیم!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "گذرواژه",
-
- "BETWEEN" => "بین {{min}}-{{max}} حرف",
-
- "CONFIRM" => "رمز عبور را وارد کنید",
- "CONFIRM_CURRENT" => "لطفا رمز عبور فعلی را تایید کنید",
- "CONFIRM_NEW" => "رمز عبور جدید را وارد کنید",
- "CONFIRM_NEW_EXPLAIN" => "رمز عبور جدید را تکرار کنید",
- "CONFIRM_NEW_HELP" => "فقط زمانی لازم است که می خواهید گذرواژه جدیدی انتخاب کنید",
- "CURRENT" => "گذرواژه فعلی",
- "CURRENT_EXPLAIN" => "شما باید گذرواژه فعلی خود را وارد کنید تا بتوانید اطلاعات را به روز رسانی کنید",
-
- "FORGOTTEN" => "فراموشی گذرواژه",
- "FORGET" => [
- "@TRANSLATION" => "گذرواژه خود را فراموش کرده ام",
-
- "COULD_NOT_UPDATE" => "گذرواژه به روز رسانی نشد",
- "EMAIL" => "لطفا آدرس پست الکترونیکی که در زمان ثبت نام استفاده کردید، وارد کنید. لینک بازیابی گذرواژه برای شما ایمیل خواهد شد.",
- "EMAIL_SEND" => "لینک بازیابی گذرواژه ایمیل شود",
- "INVALID" => "درخواست بازیابی کذرواژه پیدا نشد و یا منقضی شده است. لطفا درخواست را دوباره ارسال کنید",
- "PAGE" => "دریافت لینک بازیابی گذرواژه",
- "REQUEST_CANNED" => "درخواست فراموشی گذرواژه، حذف شد.",
- "REQUEST_SENT" => "ایمیل بازیابی گذرواژه به {{email}} ارسال شد."
- ],
-
- "RESET" => [
- "@TRANSLATION" => "تغییر گذرواژه",
- "CHOOSE" => "لطفا گذرواژه جدید را انتخاب کنید",
- "PAGE" => "برای حساب خود، گذرواژه جدیدی انتخاب کنید.",
- "SEND" => "گذرواژه جدید را انتخاب کرده و وارد شوید"
- ],
-
- "HASH_FAILED" => "هشینگ گذرواژه با مشکل روبرو شد. لطفا با مسولین وب سایت تماس برقرار کنید",
- "INVALID" => "گذرواژه فعلی درست وارد نشده است",
- "NEW" => "گذرواژه جدید",
- "NOTHING_TO_UPDATE" => "شما نمیتوانید همان گذرواژه را دوباره وارد کنید",
- "UPDATED" => "گذرواژه به روز رسانی شد"
- ],
-
- "PROFILE" => [
- "SETTINGS" => "تنظیمات شخصی حساب",
- "UPDATED" => "تنظیمات شخصی حساب به روز رسانی شد"
- ],
-
- "REGISTER" => "ثبت نام",
- "REGISTER_ME" => "ثبت نام کن",
-
- "REGISTRATION" => [
- "BROKEN" => "متاسفانه پروسه ثبت نام با مشکلی روبرو شد. برای دریافت کمک لطفا با ما تماس بگیرید.",
- "COMPLETE_TYPE1" => "شما با موفقیت ثبت نام کردید. حالا میتوانید وارد شوید.",
- "COMPLETE_TYPE2" => "شما با موفقیت ثبت نام کردید. لینک فعال سازی حساب به آدرس پست الکترونیکیتان {{email}} ارسال شد. بدون فعال سازی نمیتوانید وارد شوید.",
- "DISABLED" => "با عرض تاسف، امکان ثبت در وب سایت، غیر فعال شده است.",
- "LOGOUT" => "شما همزمان این که وارد شده اید نمیتوانید حساب کاربری جدیدی بسازید. لطفا ابتدا خارج شوید.",
- "WELCOME" => "سریع و ساده ثبت نام کنید"
- ],
-
- "RATE_LIMIT_EXCEEDED" => "شما محدودیت تعداد انجام این کار را پشت سر گذاشتید. لطفا {{delay}} ثانیه دیگر صبر کرده و دوباره تلاش کنید.",
- "REMEMBER_ME" => "من را به خاطر بسپار!",
- "REMEMBER_ME_ON_COMPUTER" => "من را در این دستگاه به خاطر بسپار (برای دستگاه های عمومی پیشنهاد نمی شود)",
-
- "SIGNIN" => "ورود",
- "SIGNIN_OR_REGISTER" => "ثبت نام کنید و یا وارد شوید",
- "SIGNUP" => "ثبت نام",
-
- "TOS" => "شرایط و مقررات",
- "TOS_AGREEMENT" => "با ثبت نام در {{site_title}} موافقت خود با شرایط و مقررات را نشان میدهید.",
- "TOS_FOR" => "شرایط و مقررات {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "نام کاربری",
-
- "CHOOSE" => "یک نام کاربری منحصر به فرد انتخاب کنید",
- "INVALID" => "نام کاربری معتبر نیست",
- "IN_USE" => "نام کاربری {{user_name}} قبلا استفاده شده است",
- "NOT_AVAILABLE" => "نام کاربری {{user_name}} موجود نیست. لطفا نام کاربری دیگری انتخاب کنید"
- ],
-
- "USER_ID_INVALID" => "آی دی کاربری مد نظر شما موجود نیست",
- "USER_OR_EMAIL_INVALID" => "نام کاربری و یا آدرس پست الکترونیکی معتبر نیست",
- "USER_OR_PASS_INVALID" => "کاربری یافت نشد و یا گذرواژه صحیح نیست",
-
- "WELCOME" => "خوش آمدید {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/fa/validate.php b/main/app/sprinkles/account/locale/fa/validate.php
deleted file mode 100644
index cb6739d..0000000
--- a/main/app/sprinkles/account/locale/fa/validate.php
+++ /dev/null
@@ -1,20 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "گذرواژه و تکرار آن باید با یکدیگر تطبیق پیدا کنند",
- "USERNAME" => "نام کاربری فقط میتواند از حروف کوچک، اعداد، '.'، '-' و '_' متشکل شوند."
- ]
-];
diff --git a/main/app/sprinkles/account/locale/fr_FR/messages.php b/main/app/sprinkles/account/locale/fr_FR/messages.php
deleted file mode 100644
index 6132dcb..0000000
--- a/main/app/sprinkles/account/locale/fr_FR/messages.php
+++ /dev/null
@@ -1,179 +0,0 @@
- [
- "@TRANSLATION" => "Compte d'utilisateur",
-
- "ACCESS_DENIED" => "Hmm, on dirait que vous n'avez pas la permission de faire ceci.",
-
- "DISABLED" => "Ce compte a été désactivé. Veuillez nous contacter pour plus d'informations.",
-
- "EMAIL_UPDATED" => "Adresse email mise à jour",
-
- "INVALID" => "Ce compte n'existe pas. Il a peut-être été supprimé. Veuillez nous contacter pour plus d'informations.",
-
- "MASTER_NOT_EXISTS" => "Vous ne pouvez pas enregistrer un compte tant que le compte principal n'a pas été créé!",
- "MY" => "Mon compte",
-
- "SESSION_COMPROMISED" => [
- "@TRANSLATION" => "Votre session a été compromise. Vous devez vous déconnecter de tous les périphériques, puis vous reconnecter et vous assurer que vos données n'ont pas été altérées.",
- "TITLE" => "Votre compte peut avoir été compromis"
- ],
- "SESSION_EXPIRED" => "Votre session a expiré. Veuillez vous connecter à nouveau.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "Paramètres du compte",
- "DESCRIPTION" => "Mettez à jour les paramètres de votre compte, y compris votre adresse e-mail, votre nom et votre mot de passe.",
- "UPDATED" => "Paramètres du compte mis à jour"
- ],
-
- "TOOLS" => "Outils du compte",
-
- "UNVERIFIED" => "Votre compte n'a pas encore été vérifié. Vérifiez vos emails / dossier spam pour les instructions d'activation du compte.",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "Nous avons envoyé un nouveau lien de vérification à {{email}}. Veuillez vérifier vos dossiers de boîte de réception et de spam pour ce courriel.",
- "RESEND" => "Renvoyer le courriel de validation",
- "COMPLETE" => "Votre compte a été validé. Vous pouvez maintenant vous connecter.",
- "EMAIL" => "Veuillez saisir l'adresse email que vous avez utilisée pour vous inscrire et votre courriel de vérification sera renvoyé.",
- "PAGE" => "Renvoyer l'email de validation de votre nouveau compte.",
- "SEND" => "Envoyer le lien de validation de mon compte",
- "TOKEN_NOT_FOUND" => "Le jeton de vérification n'existe pas / Le compte est déjà vérifié",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "Il n'y a aucun compte pour {{email}}.",
- "IN_USE" => "Le email {{email}} est déjà utilisé.",
- "VERIFICATION_REQUIRED" => "Email (vérification requise - utiliser une adresse réelle!)"
- ],
-
- "EMAIL_OR_USERNAME" => "Nom d'utilisateur ou adresse email",
-
- "FIRST_NAME" => "Prénom",
-
- "HEADER_MESSAGE_ROOT" => "VOUS ÊTES CONNECTÉ EN TANT QUE L'UTILISATEUR ROOT",
-
- "LAST_NAME" => "Nom de famille",
-
- "LOCALE" => [
- "ACCOUNT" => "La langue utilisé pour votre compte d'utilisateur",
- "INVALID" => "{{locale}} n'est pas une langue valide."
- ],
-
- "LOGIN" => [
- "@TRANSLATION" => "Connexion",
- "ALREADY_COMPLETE" => "Vous êtes déjà connecté!",
- "SOCIAL" => "Ou se connecter avec",
- "REQUIRED" => "Désolé, vous devez être connecté pour accéder à cette ressource."
- ],
-
- "LOGOUT" => "Déconnexion",
-
- "NAME" => "Nom",
-
- "NAME_AND_EMAIL" => "Nom et email",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "Connectez-vous à votre compte {{site_name}} ou enregistrez-vous pour un nouveau compte.",
- "SUBTITLE" => "Inscrivez-vous gratuitement ou connectez-vous avec un compte existant.",
- "TITLE" => "Commençons!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "Mot de passe",
-
- "BETWEEN" => "Entre {{min}} et {{max}} charactères",
-
- "CONFIRM" => "Confirmer le mot de passe",
- "CONFIRM_CURRENT" => "Veuillez confirmer votre mot de passe actuel",
- "CONFIRM_NEW" => "Confirmer le nouveau mot de passe",
- "CONFIRM_NEW_EXPLAIN" => "Confirmer le mot de passe",
- "CONFIRM_NEW_HELP" => "Obligatoire uniquement si vous sélectionnez un nouveau mot de passe",
- "CURRENT" => "Mot de passe actuel",
- "CURRENT_EXPLAIN" => "Vous devez confirmer votre mot de passe actuel pour apporter des modifications",
-
- "FORGOTTEN" => "Mot de passe oublié",
- "FORGET" => [
- "@TRANSLATION" => "J'ai oublié mon mot de passe",
-
- "COULD_NOT_UPDATE" => "Impossible de mettre à jour le mot de passe.",
- "EMAIL" => "Veuillez saisir l'adresse e-mail que vous avez utilisée pour vous inscrire. Un lien avec les instructions pour réinitialiser votre mot de passe vous sera envoyé par email.",
- "EMAIL_SEND" => "Envoyer le lien de réinitialisation",
- "INVALID" => "Cette requête de réinitialisation de mot de passe n'a pas pu être trouvée ou a expiré. Veuillez réessayer de soumettre votre demande .",
- "PAGE" => "Obtenir un lien pour réinitialiser votre mot de passe.",
- "REQUEST_CANNED" => "Demande de mot de passe perdu annulée.",
- "REQUEST_SENT" => "Si l'adresse e-mail {{email}} correspond à un compte dans notre système, un lien de réinitialisation de mot de passe sera envoyé à {{email}}."
- ],
-
- "RESET" => [
- "@TRANSLATION" => "Réinitialiser le mot de passe",
- "CHOOSE" => "Veuillez choisir un nouveau mot de passe pour continuer.",
- "PAGE" => "Choisissez un nouveau mot de passe pour votre compte.",
- "SEND" => "Définir un nouveau mot de passe"
- ],
-
- "HASH_FAILED" => "Le hachage du mot de passe a échoué. Veuillez contacter un administrateur de site.",
- "INVALID" => "Le mot de passe actuel ne correspond pas à celui que nous avons au dossier",
- "NEW" => "Nouveau mot de passe",
- "NOTHING_TO_UPDATE" => "Vous ne pouvez pas mettre à jour avec le même mot de passe",
- "UPDATED" => "Mot de passe du compte mis à jour"
- ],
-
- "PROFILE" => [
- "SETTINGS" => "Paramètres du profil",
- "UPDATED" => "Paramètres du profil mis à jour"
- ],
-
- "REGISTER" => "S'inscrire",
- "REGISTER_ME" => "S'inscrire",
-
- "REGISTRATION" => [
- "BROKEN" => "Nous sommes désolés, il ya un problème avec notre processus d'enregistrement de compte. Veuillez nous contacter directement pour obtenir de l'aide.",
- "COMPLETE_TYPE1" => "Vous êtes inscrit avec succès. Vous pouvez maintenant vous connecter.",
- "COMPLETE_TYPE2" => "Vous êtes inscrit avec succès. Vous recevrez bientôt un e-mail de validation contenant un lien pour activer votre compte. Vous ne pourrez pas vous connecter avant d'avoir terminé cette étape.",
- "DISABLED" => "Désolé, l'enregistrement de compte a été désactivé.",
- "LOGOUT" => "Désolé, vous ne pouvez pas vous inscrire tout en étant connecté. Veuillez vous déconnecter en premier.",
- "WELCOME" => "L'inscription est rapide et simple."
- ],
-
- "RATE_LIMIT_EXCEEDED" => "La limite de tentatives pour cette action a été dépassée. Vous devez attendre {{delay}} secondes avant de pouvoir effectuer une autre tentative.",
- "REMEMBER_ME" => "Se souvenir de moi!",
- "REMEMBER_ME_ON_COMPUTER" => "Se souvenir de moi sur cet ordinateur (non recommandé pour les ordinateurs publics)",
-
- "SIGNIN" => "Se connecter",
- "SIGNIN_OR_REGISTER" => "Se connecter ou s'inscrire",
- "SIGNUP" => "S'inscrire",
-
- "TOS" => "Termes et conditions",
- "TOS_AGREEMENT" => "En créant un compte avec {{site_title}}, vous acceptez les termes et conditions.",
- "TOS_FOR" => "Termes et conditions pour {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "Nom d'utilisateur",
-
- "CHOOSE" => "Choisissez un nom d'utilisateur unique",
- "INVALID" => "Nom d'utilisateur invalide",
- "IN_USE" => "Le nom d'utilisateur '{{username}}' est déjà utilisé.",
- "NOT_AVAILABLE" => "Le nom d'utilisateur {{user_name}} n'est pas disponible. Choisissez un autre nom, ou cliquez sur « suggérer »."
- ],
-
- "USER_ID_INVALID" => "L'identifiant d'utilisateur demandé n'existe pas.",
- "USER_OR_EMAIL_INVALID" => "Nom d'utilisateur ou adresse e-mail non valide.",
- "USER_OR_PASS_INVALID" => "Nom d'utilisateur ou mot de passe incorrect.",
-
- "WELCOME" => "Bienvenue {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/fr_FR/validate.php b/main/app/sprinkles/account/locale/fr_FR/validate.php
deleted file mode 100644
index 6e146ea..0000000
--- a/main/app/sprinkles/account/locale/fr_FR/validate.php
+++ /dev/null
@@ -1,18 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "Votre mot de passe et votre mot de passe de confirmation doivent correspondre."
- ]
-];
diff --git a/main/app/sprinkles/account/locale/it_IT/messages.php b/main/app/sprinkles/account/locale/it_IT/messages.php
deleted file mode 100644
index ea4da36..0000000
--- a/main/app/sprinkles/account/locale/it_IT/messages.php
+++ /dev/null
@@ -1,186 +0,0 @@
- [
- "@TRANSLATION" => "Account",
-
- "ACCESS_DENIED" => "Sembra tu non abbiamo il permesso di fare questo.",
-
- "DISABLED" => "Questo account è stato disattivato, contattaci per maggiori informazioni",
-
- "EMAIL_UPDATED" => "Email aggiornata",
-
- "INVALID" => "Questo account non esiste. Può essere stato cancellato. Vi preghiamo di contattarci per ulteriori informazioni.",
-
- "MASTER_NOT_EXISTS" => "Non puoi registrare un account finche l'account primario non sarà creato!",
- "MY" => "Il mio account",
-
- "SESSION_COMPROMISED" => [
- "@TRANSLATION" => "La tua sessione è stata compromessa. Devi eseguire il logout su tutti i dispositivi, quindi riaccenderti e assicurati che i tuoi dati non siano stati manomessi.",
- "TITLE" => "Il tuo account potrebbe essere stato compromesso",
- "TEXT" => "Qualcuno potrebbe aver utilizzato le tue informazioni di accesso per accedere a questa pagina. Per la tua sicurezza tutte le sessioni sono state disconnesse. Accedi e controlla l'account per attività sospette. Potresti anche desiderare di cambiare la tua password."
- ],
- "SESSION_EXPIRED" => "La tua sessione è scaduta. Accedi nuovamente.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "Impostazioni dell 'account",
- "DESCRIPTION" => "Aggiorna le impostazioni del tuo account, tra cui email, nome e password.",
- "UPDATED" => "Impostazioni account aggiornate"
- ],
-
- "TOOLS" => "Account tools",
-
- "UNVERIFIED" => "Il tuo account non è stato attivato. Controlla nella tua mail ( anche nella cartella dello spam ) per riceve le instruzioni per attivare il tuo account",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "Ti è stato inviato un nuovo codice di attivazione, controlla la tua email ({{email}}).",
- "RESEND" => "Invia nuovamente email di verifica.",
- "COMPLETE" => "Hai verificato con successo il tuo account. È ora possibile accedere.",
- "EMAIL" => "Inserisci l'indirizzo email che hai utilizzato per registrarti e la tua email di verifica sarà resentata.",
- "PAGE" => "Ripeti l'email di verifica per il tuo nuovo account.",
- "SEND" => "Inviilo il collegamento di verifica per il mio account",
- "TOKEN_NOT_FOUND" => "Il token non esiste / l'account è già stato attivato"
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "Non esiste alcun account per {{email}}.",
- "IN_USE" => "L'email '{{email}}' è già in uso",
- "VERIFICATION_REQUIRED" => "Email (verifica richiesta - utilizzare un indirizzo reale!)"
- ],
-
- "EMAIL_OR_USERNAME" => "Username o Indirizzo Email",
-
- "FIRST_NAME" => "Nome",
-
- "HEADER_MESSAGE_ROOT" => "LOGGATO COME ROOT",
-
- "LAST_NAME" => "Cognome",
- "LOCALE" => [
- "ACCOUNT" => "La lingua e la località da utilizzare per il tuo account",
- "INVALID" => "{{locale}} non è una località valida.",
-
-
- ],
- "LOGIN" => [
- "@TRANSLATION" => "Accesso",
- "ALREADY_COMPLETE" => "Sei già loggato!",
- "SOCIAL" => "O accedi con",
- "REQUIRED" => "Devi essere loggato per accedere a questa risorsa"
- ],
- "LOGOUT" => "Logout",
-
- "NAME" => "Nome",
-
- "NAME_AND_EMAIL" => "Nome e email",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "Accedi al tuo account {{site_name}} o registrati per un nuovo account.",
- "SUBTITLE" => "Registrati gratuitamente o accedi con un account esistente.",
- "TITLE" => "Iniziamo!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "Password",
-
- "BETWEEN" => "La password deve essere tra {{min}} e i {{max}} caratteri",
-
- "CONFIRM" => "Conferma la password",
- "CONFIRM_CURRENT" => "Conferma la password attuale",
- "CONFIRM_NEW" => "Conferma la tua nuova password",
- "CONFIRM_NEW_EXPLAIN" => "Inserisci nuovamente la nuova password",
- "CONFIRM_NEW_HELP" => "Richiesto solo se si seleziona una nuova password",
- "CREATE" => [
- "@TRANSLATION" => "Crea password",
- "PAGE" => "Scegli una password per il tuo nuovo account.",
- "SET" => "Imposta password e accedi"
- ],
- "CURRENT" => "Password attuale",
- "CURRENT_EXPLAIN" => "Devi confermare la tua password corrente per apportare modifiche",
-
- "FORGOTTEN" => "Password dimenticata",
- "FORGET" => [
- "@TRANSLATION" => "Ho dimenticato la mia password",
-
- "COULD_NOT_UPDATE" => "Password non aggiornata",
- "EMAIL" => "Inserisci l'indirizzo email che hai utilizzato per iscriverti. Un collegamento con le istruzioni per reimpostare la tua password verrà inviata via email.",
- "EMAIL_SEND" => "Email link di resetta password",
- "INVALID" => "Questa richiesta di ripristino della password non è stata trovata o è scaduta. Prova a riprovare la tua richiesta.",
- "PAGE" => "Ottieni un collegamento per reimpostare la tua password.",
- "REQUEST_CANNED" => "Richiesta di recupero password cancellata.",
- "REQUEST_SENT" => "Se l'email {{email}} corrisponde a un account nel nostro sistema, verrà inviato un collegamento per la reimpostazione della password a {{email}}."
- ],
-
- "HASH_FAILED" => "Hash della password fallito. Contatta l'amministratore di sistema.",
- "INVALID" => "La password corrente non corrisponde con quella in memoria",
- "NEW" => "Nuova Password",
- "NOTHING_TO_UPDATE" => "Non puoi aggiornare con la stessa password",
-
- "RESET" => [
- "@TRANSLATION" => "Resetta la Password",
- "CHOOSE" => "Inserisci la tua nuova password",
- "PAGE" => "Scegli una nuova password per il tuo account.",
- "SEND" => "Impostare nuova password e accedere"
- ],
-
- "UPDATED" => "Password aggiornata"
- ],
-
- "PROFILE" => [
- "SETTINGS" => "Impostazioni del profilo",
- "UPDATED" => "Le impostazioni del profilo sono aggiornate"
- ],
-
- "RATE_LIMIT_EXCEEDED" => "Il limite di velocità per questa azione è stato superato. Devi aspettare un altro {{delay}} secondi prima che ti sia permesso di fare un altro tentativo.",
- "REGISTER" => "Registrare",
- "REGISTER_ME" => "Iscrivimi",
- "REGISTRATION" => [
- "BROKEN" => "Ci dispiace, c'è un problema con il nostro processo di registrazione dell'account. Vi preghiamo di contattarci direttamente per assistenza.",
- "COMPLETE_TYPE1" => "Sei stato registrato con successo ora puoi eseguire il login",
- "COMPLETE_TYPE2" => "Sei stato registrato con successo. Riceverai presto una mail a {{email}} per l'attivazione. Devi attivare il tuo account prima di eseguire il login.",
- "DISABLED" => "La registrazione di nuovi account è stata bloccata",
- "LOGOUT" => "Non è possibile registrare un account mentre si è loggati",
- "WELCOME" => "La registrazione è semplice e veloce"
- ],
- "REMEMBER_ME" => "Ricordami!",
- "REMEMBER_ME_ON_COMPUTER" => "Ricordami su questo computer (non consigliato per i computer pubblici)",
-
- "SIGN_IN_HERE" => "Hai già un account? Accedi qui",
- "SIGNIN" => "Accedi",
- "SIGNIN_OR_REGISTER" => "Accedi o registri",
- "SIGNUP" => "Registrazione",
-
- "TOS" => "Termini e condizioni",
- "TOS_AGREEMENT" => "Registrando un account con {{site_title}}, accetti il termini e condizioni.",
- "TOS_FOR" => "Termini e condizioni per {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "Username",
-
- "CHOOSE" => "Inserisci il tuo username",
- "INVALID" => "Username non valido",
- "IN_USE" => "Il nome utente '{{user_name}}' è già in uso",
- "NOT_AVAILABLE" => "Il nome utente {{user_name}} non è disponibile. Scegli un nome diverso, oppure fai clic su \"suggerisci\"."
- ],
-
- "USER_ID_INVALID" => "User ID richiesto non è valido",
- "USER_OR_EMAIL_INVALID" => "L'indirizzo mail o il nome utente non sono validi",
- "USER_OR_PASS_INVALID" => "Il nome utente o la password non sono validi",
-
- "WELCOME" => "Bentornato, {{display_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/it_IT/validate.php b/main/app/sprinkles/account/locale/it_IT/validate.php
deleted file mode 100644
index 511ea61..0000000
--- a/main/app/sprinkles/account/locale/it_IT/validate.php
+++ /dev/null
@@ -1,21 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "I due campi devono combaciare",
- "USERNAME" => "L'username può essere composto da caratteri alfanumerici, '.', '-', e '_'."
- ]
-];
diff --git a/main/app/sprinkles/account/locale/pt_PT/messages.php b/main/app/sprinkles/account/locale/pt_PT/messages.php
deleted file mode 100644
index 4b0c2e4..0000000
--- a/main/app/sprinkles/account/locale/pt_PT/messages.php
+++ /dev/null
@@ -1,166 +0,0 @@
- [
- "@TRANSLATION" => "Conta",
-
- "ACCESS_DENIED" => "Hmm, parece que não tem permissões para fazer isso.",
-
- "DISABLED" => "Esta conta foi desativada. Por favor contacte-nos para mais informações.",
-
- "EMAIL_UPDATED" => "Email da conta atualizado",
-
- "INVALID" => "Esta conta não existe. Pode ter sido removida. Por favor contacte-nos para mais informações.",
-
- "MASTER_NOT_EXISTS" => "Não pode registrar uma conta enquanto a conta principal não for criada!",
- "MY" => "A minha conta",
-
- "SESSION_COMPROMISED" => [
- "@TRANSLATION" => "A sua sessão foi comprometida. Deverá fechar todas as sessões, voltar a iniciar sessão e verificar que os seus dados não foram alterados por alheios.",
- "TITLE" => "A sua sessão pode ter sido comprometida"
- ],
- "SESSION_EXPIRED" => "A sua sessão expirou. Por favor inicie nova sessão.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "Definições de conta",
- "DESCRIPTION" => "Atualize as suas definições, incluindo email, nome e password.",
- "UPDATED" => "Definições de conta atualizadas"
- ],
-
- "TOOLS" => "Ferramentas de conta",
-
- "UNVERIFIED" => "A sua conta ainda não foi verificada. Consulte o seu email (incluindo a pasta de spam) para instruções de ativação.",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "Enviámos um link de verificação para o endereço {{email}}. Por favor consulte o seu email (incluindo a pasta de spam).",
- "RESEND" => "Enviar novamente email de verificação",
- "COMPLETE" => "Verificou com sucesso a sua conta. Pode iniciar sessão.",
- "EMAIL" => "Por favor introduza o endereço de email que utilizou no registro e um email de verificação será enviado.",
- "PAGE" => "Reenviar email de verificação para a sua nova conta.",
- "SEND" => "Enviar email com link de verificação",
- "TOKEN_NOT_FOUND" => "Token de verificação inexistente / Conta já verificada",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "Não existe nenhuma conta para {{email}}.",
- "IN_USE" => "O email {{email}} já se encontra em uso."
- ],
-
- "FIRST_NAME" => "Primeiro nome",
-
- "HEADER_MESSAGE_ROOT" => "INICIOU SESSÃO COM A CONTA ROOT",
-
- "LAST_NAME" => "Último nome",
-
- "LOCALE.ACCOUNT" => "Linguagem e localização a utilizar na sua conta",
-
- "LOGIN" => [
- "@TRANSLATION" => "Entrar",
-
- "ALREADY_COMPLETE" => "Sessão já iniciada!",
- "SOCIAL" => "Ou inicie sessão com",
- "REQUIRED" => "Lamentamos, tem de iniciar sessão para aceder a este recurso."
- ],
-
- "LOGOUT" => "Sair",
-
- "NAME" => "Nome",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "Inicie sessão na sua conta {{site_name}}, ou registre-se para uma nova conta.",
- "SUBTITLE" => "Registre-se gratuitamente, ou inicie sessão com uma conta existente.",
- "TITLE" => "Vamos começar!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "Password",
-
- "BETWEEN" => "Entre {{min}}-{{max}} carateres",
-
- "CONFIRM" => "Confirme a password",
- "CONFIRM_CURRENT" => "Por favor confirme a sua password atual",
- "CONFIRM_NEW" => "Confirmar Nova Password",
- "CONFIRM_NEW_EXPLAIN" => "Re-introduza a sua nova password",
- "CONFIRM_NEW_HELP" => "Apenas necessário se escolher uma nova password",
- "CURRENT" => "Password Atual",
- "CURRENT_EXPLAIN" => "Tem de confirmar a sua password atual para efetuar alterações",
-
- "FORGOTTEN" => "Password Esquecida",
- "FORGET" => [
- "@TRANSLATION" => "Esqueci a minha password",
-
- "COULD_NOT_UPDATE" => "Não foi possível atualizar a password.",
- "EMAIL" => "Por favor introduza o endereço de email que utilizou no registro. Enviaremos um email com instruções para efetuar o reset à sua password.",
- "EMAIL_SEND" => "Enviar email com link de reset da password",
- "INVALID" => "This password reset request could not be found, or has expired. Please try resubmitting your request.",
- "PAGE" => "Obtenha um link para fazer reset à sua password.",
- "REQUEST_CANNED" => "Pedido de password esquecida foi cancelado.",
- "REQUEST_SENT" => "Se o email {{email}} corresponder a uma conta em nosso sistema, um link de redefinição de senha será enviado para {{email}}."
- ],
-
- "RESET" => [
- "@TRANSLATION" => "Reset Password",
- "CHOOSE" => "Por favor escolha uma nova password para continuar.",
- "PAGE" => "Escolha uma nova password para a sua conta.",
- "SEND" => "Definir nova password e registrar"
- ],
-
- "HASH_FAILED" => "Falhou o hashing da password. Por favor contacte um administrador do site.",
- "INVALID" => "A password atual não coincide com a que temos em sistema",
- "NEW" => "Nova Password",
- "NOTHING_TO_UPDATE" => "Não pode atualizar para a mesma password",
- "UPDATED" => "Password da conta foi atualizada"
- ],
-
- "REGISTER" => "Registrar",
- "REGISTER_ME" => "Registrar-me",
-
- "REGISTRATION" => [
- "BROKEN" => "Lamentamos, existe um problema com o nosso processo de registro. Contacte-nos diretamente para assistência.",
- "COMPLETE_TYPE1" => "Registrou-se com sucesso. Pode iniciar sessão.",
- "COMPLETE_TYPE2" => "Registrou-se com sucesso. Receberá em breve um email de verificação contendo um link para verificar a sua conta. Não será possível iniciar sessão até completar este passo.",
- "DISABLED" => "Lamentamos, o registro de novas contas foi desativado.",
- "LOGOUT" => "Não pode registrar uma nova conta enquanto tiver sessão iniciada. Por favor feche a sua sessão primeiro.",
- "WELCOME" => "O registro é rápido e simples."
- ],
-
- "RATE_LIMIT_EXCEEDED" => "Excedeu o número de tentativas para esta ação. Tem de aguardar {{delay}} segundos até lhe ser permitida nova tentativa.",
- "REMEMBER_ME" => "Lembrar de mim!",
- "REMEMBER_ME_ON_COMPUTER" => "Lembrar de mim neste computador (não recomendado em computadores públicos)",
-
- "SIGNIN" => "Iniciar Sessão",
- "SIGNIN_OR_REGISTER" => "Iniciar sessão ou registrar",
- "SIGNUP" => "Registrar",
-
- "TOS" => "Termos e Condições",
- "TOS_AGREEMENT" => "Ao registrar uma conta em {{site_title}}, está a aceitar os termos e condições.",
- "TOS_FOR" => "Termos e Condições para {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "Nome de utilizador",
-
- "CHOOSE" => "Escolha um nome de utilizador único",
- "INVALID" => "Nome de utilizador inválido",
- "IN_USE" => "O nome de utilizador {{user_name}} já se encontra em uso."
- ],
-
- "USER_ID_INVALID" => "O id de utilizador solicitado não existe.",
- "USER_OR_EMAIL_INVALID" => "Nome de utilizador ou endereço de email inválidos.",
- "USER_OR_PASS_INVALID" => "Nome de utilizador ou password inválidos.",
-
- "WELCOME" => "Bem-vindo, {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/pt_PT/validate.php b/main/app/sprinkles/account/locale/pt_PT/validate.php
deleted file mode 100644
index dca0111..0000000
--- a/main/app/sprinkles/account/locale/pt_PT/validate.php
+++ /dev/null
@@ -1,18 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "A password e respetiva confirmação têm de coincidir."
- ]
-];
diff --git a/main/app/sprinkles/account/locale/ru_RU/messages.php b/main/app/sprinkles/account/locale/ru_RU/messages.php
deleted file mode 100644
index 9149d04..0000000
--- a/main/app/sprinkles/account/locale/ru_RU/messages.php
+++ /dev/null
@@ -1,183 +0,0 @@
- [
- "@TRANSLATION" => "Аккаунт",
-
- "ACCESS_DENIED" => "Для получения доступа у вас недостаточно прав.",
-
- "DISABLED" => "Аккаунт отключен. Пожалуйста, свяжитесь с нами для получения дополнительной информации.",
-
- "EMAIL_UPDATED" => "Email аккаунта обновлён",
-
- "INVALID" => "Этот аккаунт не существует. Возможно, он удалён. Пожалуйста, свяжитесь с нами для получения дополнительной информации.",
-
- "MASTER_NOT_EXISTS" => "Вы не можете зарегистрировать аккаунт до тех пор, пока основная учётная запись не будет создана!",
- "MY" => "Мой профиль",
-
- "SESSION_COMPROMISED" => [
- "@TRANSLATION" => "Ваша сессия была скомпрометирована. Вы должны выйти на всех устройствах, а затем снова войти и убедиться, что ваши данные не были изменены.",
- "TITLE" => "Возможно, ваш аккаунт был скомпрометированн",
- "TEXT" => "Возможно, кто-то использовал ваши данные для входа на эту страницу. В целях безопасности все сеансы были завершены. Пожалуйста, повторно войдите и проверьте свой аккаунт на подозрительную активность. Рекомендуем сменить пароль."
- ],
- "SESSION_EXPIRED" => "Срок вашей сессии истек. Пожалуйста войдите еще раз.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "Настройки аккаунта",
- "DESCRIPTION" => "Обновите настройки своего аккаунта, включая адрес электронной почты, имя и пароль.",
- "UPDATED" => "Данные аккаунта обновлены"
- ],
-
- "TOOLS" => "Инструменты аккаунта",
-
- "UNVERIFIED" => "Ваш аккаунт ещё не подтверждён. Проверьте вашу email почту, в том числе папку спам и следуйте инструкциям.",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "Мы отправили на ваш email новую ссылку для активации {{email}}. Пожалуйста, проверьте папку \"Входящие\" и \"Спам\".",
- "RESEND" => "Повторно отправить письмо с подтверждением",
- "COMPLETE" => "Вы успешно подтвердили свой аккаунт. Теперь вы можете войти.",
- "EMAIL" => "Введите email, который вы использовали для регистрации, вам будет повторно отправлено письмо с подтверждением.",
- "PAGE" => "Повторно оправить письмо подтверждения на email для нового аккаунта.",
- "SEND" => "Проверка по электронной почте для аккаунта",
- "TOKEN_NOT_FOUND" => "Код подтверждения не действителен либо аккаунт уже подтверждён",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "Нет не одного аккаунта с {{email}} .",
- "IN_USE" => "Email {{email}} уже используется.",
- "VERIFICATION_REQUIRED" => "Email (указывайте верный - необходим для активации!)"
- ],
-
- "EMAIL_OR_USERNAME" => "Имя пользователя или Email",
-
- "FIRST_NAME" => "Имя",
-
- "HEADER_MESSAGE_ROOT" => "ВЫ АВТОРИЗОВАНЫ С СУПЕР-ПРАВАМИ",
-
- "LAST_NAME" => "Фамилия",
- "LOCALE" => [
- "ACCOUNT" => "Основной язык для вашего аккаунта",
- "INVALID" => "{{locale}} язык недопустим."
- ],
- "LOGIN" => [
- "@TRANSLATION" => "Вход",
- "ALREADY_COMPLETE" => "Вы уже выполнили вход!",
- "SOCIAL" => "Или войти через",
- "REQUIRED" => "Извините, Вы должны авторизоваться для доступа к этому ресурсу."
- ],
- "LOGOUT" => "Выход",
-
- "NAME" => "Имя",
-
- "NAME_AND_EMAIL" => "Имя и email",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "Войдите в свой аккаунт {{site_name}}, или Зарегистрируйтесь.",
- "SUBTITLE" => "Зарегистрироваться или войти в существующий аккаунт.",
- "TITLE" => "Приступим!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "Пароль",
-
- "BETWEEN" => "Кол-во {{min}}-{{max}} символов",
-
- "CONFIRM" => "Подтверждение пароля",
- "CONFIRM_CURRENT" => "Пожалуйста, введите ваш текущий пароль",
- "CONFIRM_NEW" => "Подтвердите новый пароль",
- "CONFIRM_NEW_EXPLAIN" => "Повторно введите Ваш новый пароль",
- "CONFIRM_NEW_HELP" => "Требуется только при выборе нового пароля",
- "CREATE" => [
- "@TRANSLATION" => "Создать пароль",
- "PAGE" => "Выберите пароль для вашего аккаунта.",
- "SET" => "Установить пароль и войти"
- ],
- "CURRENT" => "Текущий пароль",
- "CURRENT_EXPLAIN" => "Для продолжения вы должны ввести текущий пароль",
-
- "FORGOTTEN" => "Забытый пароль?",
- "FORGET" => [
- "@TRANSLATION" => "Я забыл свой пароль",
-
- "COULD_NOT_UPDATE" => "Не удалось обновить пароль.",
- "EMAIL" => "Пожалуйста, введите адрес электронной почты, который Вы использовали при регистрации. Ссылка с инструкцией по сбросу пароля будет отправлена вам по электронной почте.",
- "EMAIL_SEND" => "Ссылка сброса пароля по Email",
- "INVALID" => "Этот запрос сброса пароля не может быть найден, или истек. Пожалуйста, попробуйте повторно сбросить пароль.",
- "PAGE" => "Получите ссылку для сброса пароля.",
- "REQUEST_CANNED" => "Запрос на сброс пароля отменен.",
- "REQUEST_SENT" => "Если email {{email}} существует в нашей системе у какого-либо аккаунта, ссылка на сброс пароля будет направлена на {{email}}."
- ],
-
- "HASH_FAILED" => "Хэширование пароля не удалось. Пожалуйста, попробуйте другой пароль, либо свяжитесь с администратором сайта.",
- "INVALID" => "Текущий пароль не соответствует тому, который задан в системе.",
- "NEW" => "Новый пароль",
- "NOTHING_TO_UPDATE" => "Невозможно обновить с тем же паролем",
-
- "RESET" => [
- "@TRANSLATION" => "Сбросить пароль",
- "CHOOSE" => "Пожалуйста, выберите новый пароль, чтобы продолжить.",
- "PAGE" => "Выберите новый пароль для вашего аккаунта.",
- "SEND" => "Задать новый пароль и войти"
- ],
-
- "UPDATED" => "Пароль аккаунта обновлён"
- ],
-
- "PROFILE" => [
- "SETTINGS" => "Настройки профиля",
- "UPDATED" => "Настройки профиля обновлены"
- ],
-
- "RATE_LIMIT_EXCEEDED" => "Превышен лимит попыток для этого действия. Вы должны подождать еще {{delay}} секунд, прежде чем вам вам будет разрешено сделать ещё попытку.",
-
- "REGISTER" => "Регистрация",
- "REGISTER_ME" => "Зарегистрируйте меня",
- "REGISTRATION" => [
- "BROKEN" => "К сожалению, есть проблема с регистрации аккаунта. Свяжитесь с нами напрямую для получения помощи.",
- "COMPLETE_TYPE1" => "Вы успешно зарегистрировались. Теперь вы можете войти.",
- "COMPLETE_TYPE2" => "Вы успешно зарегистрировались. Ссылка для активации вашего аккаунта была отправлена на {{email}}. Вы сможете войти в систему только после активации аккаунта.",
- "DISABLED" => "Извините, регистрация аккаунта была отключена.",
- "LOGOUT" => "Извините, вы не можете зарегистрироваться когда уже авторизовались в системе. Сначала выйдите из системы.",
- "WELCOME" => "Быстрая и простая регистрация."
- ],
- "REMEMBER_ME" => "Запомнить",
- "REMEMBER_ME_ON_COMPUTER" => "Запомнить меня на этом компьютере (не рекомендуется для общедоступных компьютеров)",
-
- "SIGN_IN_HERE" => "Уже есть аккаунт? войти.",
- "SIGNIN" => "Вход",
- "SIGNIN_OR_REGISTER" => "Регистрация или вход",
- "SIGNUP" => "Вход",
-
- "TOS" => "Пользовательское соглашение",
- "TOS_AGREEMENT" => "Регистрируя аккаунт на {{site_title}}, вы принимаете условия и положения.",
- "TOS_FOR" => "Правила и условия для {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "Пользователь",
-
- "CHOOSE" => "Выберите имя пользователя",
- "INVALID" => "Недопустимое имя пользователя",
- "IN_USE" => "{{user_name}} имя пользователя уже используется.",
- "NOT_AVAILABLE" => "Имя пользователя {{user_name}} не доступно. Выберите другое имя или нажмите кнопку «предложить»."
- ],
-
- "USER_ID_INVALID" => "ID запрашиваемого пользователя не существует.",
- "USER_OR_EMAIL_INVALID" => "Имя пользователя или email не верный.",
- "USER_OR_PASS_INVALID" => "Пользователь не найден или пароль является недействительным.",
-
- "WELCOME" => "Добро пожаловать, {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/ru_RU/validate.php b/main/app/sprinkles/account/locale/ru_RU/validate.php
deleted file mode 100644
index 44ff0ae..0000000
--- a/main/app/sprinkles/account/locale/ru_RU/validate.php
+++ /dev/null
@@ -1,19 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "Пароли не совпадают.",
- "USERNAME" => "Имя может состоять только из строчных букв, цифр, '.', '-' и «_»."
- ]
-];
diff --git a/main/app/sprinkles/account/locale/th_TH/messages.php b/main/app/sprinkles/account/locale/th_TH/messages.php
deleted file mode 100644
index 0aaf1de..0000000
--- a/main/app/sprinkles/account/locale/th_TH/messages.php
+++ /dev/null
@@ -1,164 +0,0 @@
- [
- "@TRANSLATION" => "บัญชี",
-
- "ACCESS_DENIED" => "หืมม ดูเหมือนว่าคุณไม่ได้รับอนุญาตให้ทำเช่นนั้น",
-
- "DISABLED" => "บัญชีนี้ถูกปิดการใช้งานไปแล้ว กรุณาติดต่อเราสำหรับข้อมูลเพิ่มเติม",
-
- "EMAIL_UPDATED" => "ปรับปรุงบัญชีอีเมลแล้ว",
-
- "INVALID" => "ไม่พบบัญชีนี้ มันอาจถูกลบไปแล้ว กรุณาติดต่อเราสำหรับข้อมูลเพิ่มเติม",
-
- "MASTER_NOT_EXISTS" => "คุณไม่สามารถสมัครสมาชิกได้จนกว่าจะสร้างบัญชีหลัก!",
- "MY" => "บัญชีของฉัน",
-
- "SESSION_COMPROMISED" => "เซสชันของคุณถูกลักลอบใช้ คุณควรจะออกจากระบบบนอุปกรณ์ทั้งหมดแล้วกลับเข้าสู่ระบบและตรวจสอบให้แน่ใจว่าไม่มีการแก้ไขข้อมูลของคุณ",
- "SESSION_COMPROMISED_TITLE" => "บัญชีของคุณอาจถูกบุกรุก",
- "SESSION_EXPIRED" => "เซสชันของคุณหมดอายุ กรุณาเข้าสู่ระบบอีกครั้ง",
-
- "SETTINGS" => [
- "@TRANSLATION" => "การตั้งค่าบัญชี",
- "DESCRIPTION" => "ปรับปรุงการตั้งค่าบัญชีของคุณ รวมไปถึงอีเมล ชื่อ และรหัสผ่าน",
- "UPDATED" => "ปรับปรุงการตั้งค่าบัญชีของคุณแล้ว"
- ],
-
- "TOOLS" => "เครื่องมือบัญชี",
-
- "UNVERIFIED" => "บัญชีของคุณยังไม่ได้รับการยืนยัน กรุณาตรวจสอบกล่องอีเมลและจดหมายขยะของคุณสำหรับขั้นตอนการเปิดใช้งานบัญชี",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "เราได้ส่งลิงก์สำหรับการยืนยันใหม่ไปยังอีเมล {{email}} กรุณาตรวจสอบอีเมลนี้ในกล่องอีเมลและจดหมายขยะของคุณ",
- "RESEND" => "ส่งอีเมลยืนยันอีกครั้ง",
- "COMPLETE" => "คุณได้ยืนยันอีเมลของคุณเรียบร้อยแล้ว คุณสามารถเข้าสู่ระบบได้ทันที",
- "EMAIL" => "กรุณากรอกอีเมลที่คุณได้ใช้สมัครไว้แล้วอีเมลยืนยันจะถูกส่งไปให้ใหม่",
- "PAGE" => "ส่งอีเมลยืนยันสำหรับบัญชีของฉันใหม่",
- "SEND" => "ส่งอีเมลยืนยันให้บัญชีของฉัน",
- "TOKEN_NOT_FOUND" => "ไม่พบโทเคนยืนยันอีเมล / บัญชีนี้ได้ยืนยันแล้ว",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "อีเมล {{email}} ไม่มีอยู่จริง",
- "IN_USE" => "อีเมล {{email}} ได้ถูกใช้งานแล้ว"
- ],
-
- "FIRST_NAME" => "ชื่อจริง",
-
- "HEADER_MESSAGE_ROOT" => "คุณได้เข้าสู่ระบบเป็นผู้ดูแลสูงสุด",
-
- "LAST_NAME" => "นามสกุล",
-
- "LOCALE.ACCOUNT" => "ภาษาและสถานที่ที่จะใช้สำหรับบัญชีของคุณ",
-
- "LOGIN" => [
- "@TRANSLATION" => "เข้าสู่ะระบบ",
-
- "ALREADY_COMPLETE" => "คุณได้เข้าสู่ระบบอยู่แล้ว!",
- "SOCIAL" => "หรือเข้าสู่ระบบด้วย",
- "REQUIRED" => "ขออภัย คุณจะต้องเข้าสู่ระบบเพื่อเข้าถึงส่วนนี้"
- ],
-
- "LOGOUT" => "ออกจากระบบ",
-
- "NAME" => "ชื่อ",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "เข้าสู่ระบบไปยังบัญชี {{site_name}} หรือสมัครสมาชิกสำหรับบัญชีใหม่",
- "SUBTITLE" => "สมัครสมาชิกฟรี หรือเข้าสู่ระบบด้วยบัญชีที่มีอยู่",
- "TITLE" => "มาเริ่มกันเลย!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "รหัสผ่าน",
-
- "BETWEEN" => "ระหว่าง {{min}}-{{max}} ตัวอักษร",
-
- "CONFIRM" => "ยืนยันรหัสผ่าน",
- "CONFIRM_CURRENT" => "กรุณายืนยันรหัสผ่านปัจจุบันของคุณ",
- "CONFIRM_NEW" => "ยืนยันรหัสผ่านใหม่",
- "CONFIRM_NEW_EXPLAIN" => "กรอกรหัสผ่านใหม่ของคุณอีกครั้ง",
- "CONFIRM_NEW_HELP" => "กรอกเฉพาะเมื่อคุณต้องการตั้งรหัสผ่านใหม่",
- "CURRENT" => "รหัสผ่านปัจจุบัน",
- "CURRENT_EXPLAIN" => "คุณจะต้องยืนยันรหัสผ่านปัจจุบันเพื่อแก้ไขข้อมูล",
-
- "FORGOTTEN" => "ลืมรหัสผ่าน",
- "FORGET" => [
- "@TRANSLATION" => "ฉันลืมรหัสผ่านของฉัน",
-
- "COULD_NOT_UPDATE" => "ไม่สามารถปรับปรุงรหัสผ่าน",
- "EMAIL" => "กรุณากรอกที่อยู่อีเมลที่คุณเคยใช้เข้าสู่ระบบ ลิงก์ขั้นตอนการรีเซ็ตรหัสผ่านของคุณจะถูกส่งไปให้คุณ",
- "EMAIL_SEND" => "ลิงก์รีเซ็ตรหัสผ่านจากอีเมล",
- "INVALID" => "ขอรีเซ็ตรหัสผ่านนี้ไม่มีอยู่ หรือหมดอายุไปแล้ว กรุณาลอง ส่งคำขอของคุณอีกครั้ง",
- "PAGE" => "รับลิงก์สำหรับการรีเซ็ตรหัสผ่านของคุณ",
- "REQUEST_CANNED" => "คำขอลืมรหัสผ่านได้ถูกยกเลิก",
- "REQUEST_SENT" => "หากอีเมล {{email}} ตรงกับบัญชีในระบบของเราลิงก์การรีเซ็ตรหัสผ่านจะถูกส่งไปที่ {{email}}"
- ],
-
- "RESET" => [
- "@TRANSLATION" => "รีเซ็ตรหัสผ่าน",
- "CHOOSE" => "กรุณาเลือกรหัสผ่านใหม่เพื่อดำเนินการต่อ",
- "PAGE" => "เลือกรหัสผ่านใหม่สำหรับบัญชีของคุณ",
- "SEND" => "ตั้งรหัสผ่านใหม่และเข้าสู่ระบบ"
- ],
-
- "HASH_FAILED" => "เข้ารหัสรหัสผ่านล้มเหลว กรุณาติดต่อผู้ดูแลระบบของเว็บไซต์",
- "INVALID" => "รหัสผ่านปัจจุบันไม่ตรงกับรหัสผ่านที่เราบันทึกไว้",
- "NEW" => "รหัสผ่านใหม่",
- "NOTHING_TO_UPDATE" => "คุณไม่สามารถปรังปรุงด้วยรหัสผ่านเดียวกัน",
- "UPDATED" => "ปรังปรุงรหัสผ่านของบัญชีแล้ว"
- ],
-
- "REGISTER" => "สมัครสมาชิก",
- "REGISTER_ME" => "ให้ฉันสมัครสมาชิกด้วย",
-
- "REGISTRATION" => [
- "BROKEN" => "เราขออภัย มันมีปัญหาในการดำเนินการสมัครสมาชิกของเรา กรุณาติดต่อเราโดยตรงเพื่อขอความช่วยเหลือ",
- "COMPLETE_TYPE1" => "คุณได้สมัครสมาชิกเรียบร้อยแล้ว คุณสามารถเข้าสู่ระบบได้ทันที",
- "COMPLETE_TYPE2" => "คุณได้สมัครสมาชิกเรียบร้อยแล้ว คุณจะได้รับอีเมลยืนยันที่มีลิงก์สำหรับเปิดใช้งานบัญชีของคุณอยู่ คุณจะไม่สามารถเข้าสู่ระบบจนกว่าคุณจะยืนยันอีเมลแล้ว",
- "DISABLED" => "เราขออภัย ระบบสมัครสมาชิกได้ถูกปิดไว้",
- "LOGOUT" => "เราขออภัย คุณไม่สามารถสมัครสมาชิกขณะที่เข้าสู่ระบบอยู่ กรุณาออกจากระบบก่อน",
- "WELCOME" => "การสมัครสมาชิกนั้นรวดเร็ว และง่ายดาย"
- ],
-
- "RATE_LIMIT_EXCEEDED" => "ถึงขีดจำกัดสำหรับการกระทำนี้แล้ว คุณจะต้องรออีก {{delay}} วินาที ก่อนที่คุณจะได้รับอนุญาตให้ลองใหม่อีกครั้ง",
- "REMEMBER_ME" => "จำฉันไว้ในระบบ!",
- "REMEMBER_ME_ON_COMPUTER" => "จำฉันไว้ในระบบบนคอมพิวเตอร์นี้ (ไม่แนะนำสำหรับคอมพิวเตอร์สาธารณะ)",
-
- "SIGNIN" => "เข้าสู่ะระบบ",
- "SIGNIN_OR_REGISTER" => "เข้าสู่ระบบหรือสมัครสมาชิก",
- "SIGNUP" => "สมัครสมาชิก",
-
- "TOS" => "ข้อตกลงและเงื่อนไข",
- "TOS_AGREEMENT" => "ในการสมัครสมาชิกกับ {{site_title}} หมายถึงคุณยอมรับ ข้อตกลงและเงื่อนไข แล้ว",
- "TOS_FOR" => "ข้อตกลงและเงื่อนไขสำหรับ {{title}}",
-
- "USERNAME" => [
- "@TRANSLATION" => "ชื่อผู้ใช้",
-
- "CHOOSE" => "เลือกชื่อผู้ใช้ที่เป็นเป็นเอกลักษณ์",
- "INVALID" => "ชื่อผู้ใช้ไม่ถูกต้อง",
- "IN_USE" => "ชื่อผู้ใช้ {{user_name}} ถูกใช้งานแล้ว"
- ],
-
- "USER_ID_INVALID" => "ไม่พบหมายเลขผู้ใช้ที่ร้องขอมา",
- "USER_OR_EMAIL_INVALID" => "ชื่อผู้ใช้หรือที่อยู่อีเมลไม่ถูกต้อง",
- "USER_OR_PASS_INVALID" => "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง",
-
- "WELCOME" => "ยินดีต้อนรับ {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/th_TH/validate.php b/main/app/sprinkles/account/locale/th_TH/validate.php
deleted file mode 100644
index 7e2945b..0000000
--- a/main/app/sprinkles/account/locale/th_TH/validate.php
+++ /dev/null
@@ -1,18 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "รหัสผ่านและรหัสผ่านยืนยันของคุณจะต้องตรงกัน"
- ]
-];
diff --git a/main/app/sprinkles/account/locale/tr/messages.php b/main/app/sprinkles/account/locale/tr/messages.php
deleted file mode 100644
index 2698676..0000000
--- a/main/app/sprinkles/account/locale/tr/messages.php
+++ /dev/null
@@ -1,183 +0,0 @@
- [
- "@TRANSLATION" => "Hesap",
-
- "ACCESS_DENIED" => "Hmm. görünüşe göre böyle bir şey için izne sahip değilsiniz.",
-
- "DISABLED" => "Bu hesap durduruldu. Daha çok bilgi için bizimle iletişime geçin.",
-
- "EMAIL_UPDATED" => "Hesap maili güncellendi",
-
- "INVALID" => "Bu hesap bulunamadı. Silinmiş olabilir. Daha çok bilgi için bizimle iletişime geçin.",
-
- "MASTER_NOT_EXISTS" => "Ana hesap oluşturuluncaya kadar bir hesap oluşturamazsın!",
- "MY" => "Hesabım",
-
- "SESSION_COMPROMISED" => [
- "@TRANSLATION" => "Oturumunuz tehlikeye atıldı. Tüm cihazlardan çıkmanız, daha sonra giriş yapmanız ve bilgilerinizin değiştirilmediğini kontrol etmeniz gerekir.",
- "TITLE" => "Hesabınız tehlikeye atılmış olabilir",
- "TEXT" => "Birisi bu sayfayı ele geçirmek için giriş verilerinizi kullanmış olabilir. Güvenliğiniz için tüm oturumlar günlüğe kaydedildi. Lütfen giriş yapınve şüpheli hareketler için hesabınızı kontrol edin. Ayrıca şifrenizi değiştirmek isteyebilirsiniz."
- ],
- "SESSION_EXPIRED" => "Oturumunuz sona erdi. Lütfen tekrar oturum açın.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "Hesap ayarları",
- "DESCRIPTION" => "E-posta, isim ve parolanız da dahil olmak üzere hesap ayarlarınızı güncelleyin.",
- "UPDATED" => "Hesap ayarları güncellendi"
- ],
-
- "TOOLS" => "Hesap araçları",
-
- "UNVERIFIED" => "Hesap henüz onaylanmadı. Hesap etkinleştirme talimatları için e-postalarınızı ve spam klasörünüzü kontrol edin.",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "{{email}} için yeni bir doğrulama bağlantısı e-posta ile gönderildi. Lütfen bu e-postanın gelen kutusunu ve spam klasörlerini kontrol edin.",
- "RESEND" => "Doğrulama e-postasını tekrar gönder",
- "COMPLETE" => "Hesabınızı başarıyla doğruladınız. Şimdi giriş yapabilirsiniz.",
- "EMAIL" => "Kaydolmak için kullandığınız e-posta adresinizi giriniz, ve doğrulama e-postanızı tekrar gönderin.",
- "PAGE" => "Yeni hesabınız için doğrulama e-postasını tekrar gönder.",
- "SEND" => "Hesabım için doğrulama bağlantısını e-posta ile gönder",
- "TOKEN_NOT_FOUND" => "Doğrulama belirteci bulunumadı / Hesap zaten doğrulandı",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "{{email}} için hesap yoktur.",
- "IN_USE" => "E-posta {{email}} zaten kullanılıyor.",
- "VERIFICATION_REQUIRED" => "E-posta (doğrulama gerekli - gerçek bir adres kullanın!)"
- ],
-
- "EMAIL_OR_USERNAME" => "Kullanıcı adı veya e-posta adresi",
-
- "FIRST_NAME" => "Adınız",
-
- "HEADER_MESSAGE_ROOT" => "Kök kullanıcı olarak giriş yaptın",
-
- "LAST_NAME" => "Soyadı",
- "LOCALE" => [
- "ACCOUNT" => "Hesabınız için kullanılacak dil ve yerel ayar",
- "INVALID" => "{{locale}} geçersiz bir yerel."
- ],
- "LOGIN" => [
- "@TRANSLATION" => "Oturum Aç",
- "ALREADY_COMPLETE" => "Zaten oturum açtınız!",
- "SOCIAL" => "Veya şununla oturum aç",
- "REQUIRED" => "Üzgünüm, bu sayfaya ulaşmak için oturum açmalısın."
- ],
- "LOGOUT" => "Oturumu kapat",
-
- "NAME" => "Ad",
-
- "NAME_AND_EMAIL" => "Ad ve e-posta",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "{{site_name}} hesabınız ile giriş yapın ya da yeni bir hesap oluşturun.",
- "SUBTITLE" => "Ücretsiz üye ol veya mevcut bir hesap ile giriş yapın.",
- "TITLE" => "Hadi başlayalım!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "Parola",
-
- "BETWEEN" => "{{min}}-{{max}} karakterler arasında",
-
- "CONFIRM" => "Şifreyi onayla",
- "CONFIRM_CURRENT" => "Lütfen şuanki parolanızı giriniz",
- "CONFIRM_NEW" => "Yeni parolayı onayla",
- "CONFIRM_NEW_EXPLAIN" => "Yeni parolayı tekrar gir",
- "CONFIRM_NEW_HELP" => "Sadece yeni bir şifre seçerseniz gerekli",
- "CREATE" => [
- "@TRANSLATION" => "Parola Oluştur",
- "PAGE" => "Yeni hesabınız için bir şifre belirleyin.",
- "SET" => "Parolayı Ayarla ve Giriş Yap"
- ],
- "CURRENT" => "Şimdiki Parola",
- "CURRENT_EXPLAIN" => "Değişiklikler için şimdiki parolanız ile onaylamalısınız",
-
- "FORGOTTEN" => "Unutulan Şifre",
- "FORGET" => [
- "@TRANSLATION" => "Şifremi unuttum",
-
- "COULD_NOT_UPDATE" => "Şifre güncellenemedi.",
- "EMAIL" => "Lütfen kaydolmak için kullandığınız e-posta adresini giriniz. Şifrenizi sıfırlama talimatlarıyla bir bir bağlantı e-postanıza gönderilecektir.",
- "EMAIL_SEND" => "E-posta şifre sıfırlama bağlantısı",
- "INVALID" => "Bu şifre sıfırlama isteği bulunamadı ya da süresi bitmiş. Lütfen isteğinizi yeniden göndermeyideneyin.",
- "PAGE" => "Şifrenizi sıfırlamak için bir bağlantı oluşturun.",
- "REQUEST_CANNED" => "Kayıp parola isteği iptal edildi.",
- "REQUEST_SENT" => "Eğer e-posta{{email}} sistemdeki bir hesap ile eşleşirse, bir şifre yenileme bağlantısı{{email}} gönderilir."
- ],
-
- "HASH_FAILED" => "Parola karma başarısız oldu. Lütfen bir site yöneticisiyle iletişime geçin.",
- "INVALID" => "Şimdiki şifre kayıt edilen şifre ile eşleşmiyor",
- "NEW" => "Yeni Şifre",
- "NOTHING_TO_UPDATE" => "Aynı şifre ile güncelleyemezsiniz",
-
- "RESET" => [
- "@TRANSLATION" => "Şifre sıfırlama",
- "CHOOSE" => "Lütfen devam etmek için yeni bir şifre belirleyiniz.",
- "PAGE" => "Hesabınız için yeni bir şifre belirleyiniz.",
- "SEND" => "Yeni şifre ayarla ve giriş yap"
- ],
-
- "UPDATED" => "Hesap şifresi güncellendi"
- ],
-
- "PROFILE" => [
- "SETTINGS" => "Profil ayarları",
- "UPDATED" => "Profil ayarları güncellendi"
- ],
-
- "RATE_LIMIT_EXCEEDED" => "Bu işlem için belirlenen son oran aşıldı. Başka bir deneme yapmanıza izin verilene kadar {{delay}} bir süre beklemelisiniz.",
-
- "REGISTER" => "Kaydol",
- "REGISTER_ME" => "Beni kaydet",
- "REGISTRATION" => [
- "BROKEN" => "Üzgünüz, hesap kayıt işlemimizde bir sorun var. Lütfen destek almak için doğrudan bizimle iletişime geçin.",
- "COMPLETE_TYPE1" => "Kaydınız başarıyla tamamlandı. Şimdi giriş yapabilirsiniz.",
- "COMPLETE_TYPE2" => "Kaydınız başarıyla tamamlandı. Hesabınızı aktifleştirmek için bir bağlantı gönderildi{{email}}. Bu adımı tamamlayana kadar oturum açamazsınız.",
- "DISABLED" => "Üzgünüz, hesap kaydı devre dışı bırakıldı.",
- "LOGOUT" => "Üzgünüm, oturumunuz açıkken yeni bir hesap oluşturamazsınız. Lütfen önce oturumunuzdan çıkış yapınız.",
- "WELCOME" => "Kaydolmak hızlı ve basittir."
- ],
- "REMEMBER_ME" => "Beni hatırla!",
- "REMEMBER_ME_ON_COMPUTER" => "Bu bilgisayarda beni hatırla ( genel bilgisayarlar için önerilmez)",
-
- "SIGN_IN_HERE" => "Zaten bir hesaba sahip misiniz?burada giriş yap",
- "SIGNIN" => "Giriş yap",
- "SIGNIN_OR_REGISTER" => "Giriş yap veya kayıt ol",
- "SIGNUP" => "Üye ol",
-
- "TOS" => "Şartlar ve Koşullar",
- "TOS_AGREEMENT" => "Bir hesap ile kaydolarak {{site_title}} sen kabul edersin şartlar ve koşulları.",
- "TOS_FOR" => "{{title}} için şartlar ve koşullar",
-
- "USERNAME" => [
- "@TRANSLATION" => "Kullanıcı Adı",
-
- "CHOOSE" => "Benzersiz bir kullanıcı adı seç",
- "INVALID" => "Geçersiz kullanıcı adı",
- "IN_USE" => "{{user_name}} kullanıcı adı zaten mevcut.",
- "NOT_AVAILABLE" => "{{user_name}} kullanıcı adı kullanılamaz. Farklı bir isim veya 'öneriye' tıklayın."
- ],
-
- "USER_ID_INVALID" => "İstenen kullanıcı adı mevcut değil.",
- "USER_OR_EMAIL_INVALID" => "Kullanıcı adı veya e-posta adresi hatalı.",
- "USER_OR_PASS_INVALID" => "Kullanıcı bulunamadı ya da şifre hatalı.",
-
- "WELCOME" => "Tekrar Hoşgeldiniz.{{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/tr/validate.php b/main/app/sprinkles/account/locale/tr/validate.php
deleted file mode 100644
index e392979..0000000
--- a/main/app/sprinkles/account/locale/tr/validate.php
+++ /dev/null
@@ -1,19 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "Şifreniz ve onaylama şifreniz eşleşmiyor.",
- "USERNAME" => "Kullanıcı adınız sadece küçük harfler, sayılar, '.', '-', ve '_' içerebilir."
- ]
-];
diff --git a/main/app/sprinkles/account/locale/zh_CN/messages.php b/main/app/sprinkles/account/locale/zh_CN/messages.php
deleted file mode 100644
index 61a89df..0000000
--- a/main/app/sprinkles/account/locale/zh_CN/messages.php
+++ /dev/null
@@ -1,177 +0,0 @@
- [
- "@TRANSLATION" => "账户",
-
- "ACCESS_DENIED" => "噢, 你好像没有权限这么做.",
-
- "DISABLED" => "这个账户已被禁用. 请联系我们获取更多信息.",
-
- "EMAIL_UPDATED" => "账户邮箱更新成功",
-
- "INVALID" => "此账户不存在. 可能已被删除. 请联系我们获取更多信息.",
-
- "MASTER_NOT_EXISTS" => "在创建超级账户之前你不能注册",
- "MY" => "我的账户",
-
- "SESSION_COMPROMISED" => "你的会话已泄露. 你应该在所有的设备上注销, 然后再登陆确保你的数据没被修改.",
- "SESSION_COMPROMISED_TITLE" => "你的账户可能被盗用",
- "SESSION_EXPIRED" => "会话已过期. 请重新登陆.",
-
- "SETTINGS" => [
- "@TRANSLATION" => "账户设置",
- "DESCRIPTION" => "更新你的账户, 包括邮箱、姓名和密码.",
- "UPDATED" => "账户更新成功"
- ],
-
- "TOOLS" => "账户工具",
-
- "UNVERIFIED" => "你的账户还没有验证. 检查你的(垃圾)邮箱文件夹进行验证.",
-
- "VERIFICATION" => [
- "NEW_LINK_SENT" => "我们发送了新的验证链接 {{email}}. 请检查你的收件箱或垃圾邮件进行验证.",
- "RESEND" => "重新发送验证邮件",
- "COMPLETE" => "你已成功验证. 现在可以登陆了.",
- "EMAIL" => "请输入你登陆时的邮箱, 然后将会发送验证邮件.",
- "PAGE" => "重新发送验证邮件给你的新账户.",
- "SEND" => "为我的账户发送验证邮件",
- "TOKEN_NOT_FOUND" => "验证令牌不存在 / 账户已经验证",
- ]
- ],
-
- "EMAIL" => [
- "INVALID" => "{{email}} 没有账户注册.",
- "IN_USE" => "邮箱 {{email}} 已被使用.",
- "VERIFICATION_REQUIRED" => "邮箱 (需要进行验证 - 请使用一个有效的!)"
- ],
-
- "EMAIL_OR_USERNAME" => "用户名或邮箱地址",
-
- "FIRST_NAME" => "名字",
-
- "HEADER_MESSAGE_ROOT" => "你现在以超级用户登陆",
-
- "LAST_NAME" => "姓氏",
-
- "LOCALE" => [
- "ACCOUNT" => "设置你账户的地区和语言",
- "INVALID" => "{{locale}} 不是一个有效的地区."
- ],
-
- "LOGIN" => [
- "@TRANSLATION" => "登陆",
- "ALREADY_COMPLETE" => "你已经登陆!",
- "SOCIAL" => "用其他方式登陆",
- "REQUIRED" => "对不起, 你需要登陆才能获取资源."
- ],
-
- "LOGOUT" => "注销",
-
- "NAME" => "名字",
-
- "NAME_AND_EMAIL" => "名字和邮箱",
-
- "PAGE" => [
- "LOGIN" => [
- "DESCRIPTION" => "用 {{site_name}} 账户登陆, 或者创建新账户.",
- "SUBTITLE" => "免费注册, 或用已有账户登陆.",
- "TITLE" => "让我们开始吧!",
- ]
- ],
-
- "PASSWORD" => [
- "@TRANSLATION" => "密码",
-
- "BETWEEN" => "字符长度 {{min}}-{{max}} ",
-
- "CONFIRM" => "确认密码",
- "CONFIRM_CURRENT" => "请确认当前密码",
- "CONFIRM_NEW" => "确认新密码",
- "CONFIRM_NEW_EXPLAIN" => "重新输入新密码",
- "CONFIRM_NEW_HELP" => "选择了新密码时才需要",
- "CURRENT" => "密码正确",
- "CURRENT_EXPLAIN" => "你必须要确认密码再进行修改",
-
- "FORGOTTEN" => "忘记密码",
- "FORGET" => [
- "@TRANSLATION" => "我忘记了密码",
-
- "COULD_NOT_UPDATE" => "无法更新密码.",
- "EMAIL" => "请输入你登陆时的邮箱. 重置密码的链接将会发送给你.",
- "EMAIL_SEND" => "发送重置密码链接",
- "INVALID" => "这个重置密码请求无法使用, 或已过期. 请 重新发送请求.",
- "PAGE" => "获取重置密码的链接.",
- "REQUEST_CANNED" => "取消重置请求.",
- "REQUEST_SENT" => "重置密码的链接已经发送 {{email}}."
- ],
-
- "RESET" => [
- "@TRANSLATION" => "重置密码",
- "CHOOSE" => "请输入新密码.",
- "PAGE" => "为账户设置新密码.",
- "SEND" => "设置密码并登陆"
- ],
-
- "HASH_FAILED" => "密码验证失败. 请联系网站管理.",
- "INVALID" => "当前密码无法与记录匹配",
- "NEW" => "新密码",
- "NOTHING_TO_UPDATE" => "新密码不能与旧密码相同",
- "UPDATED" => "账户密码更新成功"
- ],
-
- "PROFILE" => [
- "SETTINGS" => "简介设置",
- "UPDATED" => "简介设置成功"
- ],
-
- "REGISTER" => "注册",
- "REGISTER_ME" => "注册",
-
- "REGISTRATION" => [
- "BROKEN" => "抱歉, 账户注册过程发送错误. 请联系我们寻求帮助.",
- "COMPLETE_TYPE1" => "你已注册成功. 现在可以登陆了.",
- "COMPLETE_TYPE2" => "成功注册. 激活链接已经发送给 {{email}}. 激活之前无法登陆.",
- "DISABLED" => "抱歉, 账户注册以禁用.",
- "LOGOUT" => "抱歉, 登陆时不能注册. 请先注销.",
- "WELCOME" => "注册简单快速."
- ],
-
- "RATE_LIMIT_EXCEEDED" => "行动速度过快. 请等 {{delay}} 秒后再尝试新的操作.",
- "REMEMBER_ME" => "记住我!",
- "REMEMBER_ME_ON_COMPUTER" => "在此电脑上记住我 (不推荐在公共电脑上)",
-
- "SIGNIN" => "登陆",
- "SIGNIN_OR_REGISTER" => "登陆或注册",
- "SIGNUP" => "注销",
-
- "TOS" => "条款和说明",
- "TOS_AGREEMENT" => "在 {{site_title}} 注册, 你需要接收 条款和说明.",
- "TOS_FOR" => "{{title}}的条款和说明",
-
- "USERNAME" => [
- "@TRANSLATION" => "用户名",
-
- "CHOOSE" => "取一个唯一的用户名",
- "INVALID" => "无效的用户名",
- "IN_USE" => "用户名 {{user_name}} 已存在.",
- "NOT_AVAILABLE" => "用户名 {{user_name}} 不可用. 重新选择用户名, 或者点击 '建议'."
- ],
-
- "USER_ID_INVALID" => "请求的用户不存在.",
- "USER_OR_EMAIL_INVALID" => "用户名或邮箱无效.",
- "USER_OR_PASS_INVALID" => "没有发现用户或密码错误.",
-
- "WELCOME" => "欢迎回来, {{first_name}}"
-];
diff --git a/main/app/sprinkles/account/locale/zh_CN/validate.php b/main/app/sprinkles/account/locale/zh_CN/validate.php
deleted file mode 100644
index b0ecff3..0000000
--- a/main/app/sprinkles/account/locale/zh_CN/validate.php
+++ /dev/null
@@ -1,19 +0,0 @@
- [
- "PASSWORD_MISMATCH" => "密码不一致.",
- "USERNAME" => "用户名必须以小写字母, 数字, '.', '-', 和 '_'组成."
- ]
-];
diff --git a/main/app/sprinkles/account/routes/routes.php b/main/app/sprinkles/account/routes/routes.php
deleted file mode 100644
index 8198255..0000000
--- a/main/app/sprinkles/account/routes/routes.php
+++ /dev/null
@@ -1,59 +0,0 @@
-group('/account', function () {
- $this->get('/captcha', 'UserFrosting\Sprinkle\Account\Controller\AccountController:imageCaptcha');
-
- $this->get('/check-username', 'UserFrosting\Sprinkle\Account\Controller\AccountController:checkUsername');
-
- $this->get('/forgot-password', 'UserFrosting\Sprinkle\Account\Controller\AccountController:pageForgotPassword')
- ->setName('forgot-password');
-
- $this->get('/logout', 'UserFrosting\Sprinkle\Account\Controller\AccountController:logout')
- ->add('authGuard');
-
- $this->get('/resend-verification', 'UserFrosting\Sprinkle\Account\Controller\AccountController:pageResendVerification');
-
- $this->get('/set-password/confirm', 'UserFrosting\Sprinkle\Account\Controller\AccountController:pageResetPassword');
-
- $this->get('/set-password/deny', 'UserFrosting\Sprinkle\Account\Controller\AccountController:denyResetPassword');
-
- $this->get('/register', 'UserFrosting\Sprinkle\Account\Controller\AccountController:pageRegister')
- ->add('checkEnvironment')
- ->setName('register');
-
- $this->get('/settings', 'UserFrosting\Sprinkle\Account\Controller\AccountController:pageSettings')
- ->add('authGuard');
-
- $this->get('/sign-in', 'UserFrosting\Sprinkle\Account\Controller\AccountController:pageSignIn')
- ->add('checkEnvironment')
- ->setName('login');
-
- $this->get('/suggest-username', 'UserFrosting\Sprinkle\Account\Controller\AccountController:suggestUsername');
-
- $this->get('/verify', 'UserFrosting\Sprinkle\Account\Controller\AccountController:verify');
-
- $this->post('/forgot-password', 'UserFrosting\Sprinkle\Account\Controller\AccountController:forgotPassword');
-
- $this->post('/login', 'UserFrosting\Sprinkle\Account\Controller\AccountController:login');
-
- $this->post('/register', 'UserFrosting\Sprinkle\Account\Controller\AccountController:register');
-
- $this->post('/resend-verification', 'UserFrosting\Sprinkle\Account\Controller\AccountController:resendVerification');
-
- $this->post('/set-password', 'UserFrosting\Sprinkle\Account\Controller\AccountController:setPassword');
-
- $this->post('/settings', 'UserFrosting\Sprinkle\Account\Controller\AccountController:settings')
- ->add('authGuard')
- ->setName('settings');
-
- $this->post('/settings/profile', 'UserFrosting\Sprinkle\Account\Controller\AccountController:profile')
- ->add('authGuard');
-});
-
-$app->get('/modals/account/tos', 'UserFrosting\Sprinkle\Account\Controller\AccountController:getModalAccountTos');
diff --git a/main/app/sprinkles/account/schema/requests/account-settings.yaml b/main/app/sprinkles/account/schema/requests/account-settings.yaml
deleted file mode 100644
index 4a2d368..0000000
--- a/main/app/sprinkles/account/schema/requests/account-settings.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
----
-passwordcheck:
- validators:
- required:
- message: PASSWORD.CONFIRM_CURRENT
-email:
- validators:
- required:
- label: "&EMAIL"
- message: VALIDATE.REQUIRED
- length:
- label: "&EMAIL"
- min: 1
- max: 150
- message: VALIDATE.LENGTH_RANGE
- email:
- message: VALIDATE.INVALID_EMAIL
-password:
- validators:
- length:
- label: "&PASSWORD"
- min: 12
- max: 100
- message: VALIDATE.LENGTH_RANGE
-passwordc:
- validators:
- matches:
- field: password
- label: "&PASSWORD.CONFIRM"
- message: VALIDATE.PASSWORD_MISMATCH
- length:
- label: "&PASSWORD.CONFIRM"
- min: 12
- max: 100
- message: VALIDATE.LENGTH_RANGE
diff --git a/main/app/sprinkles/account/schema/requests/account-verify.yaml b/main/app/sprinkles/account/schema/requests/account-verify.yaml
deleted file mode 100644
index 01f3155..0000000
--- a/main/app/sprinkles/account/schema/requests/account-verify.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-token:
- validators:
- required:
- label: validation token
- message: VALIDATION.REQUIRED
diff --git a/main/app/sprinkles/account/schema/requests/check-username.yaml b/main/app/sprinkles/account/schema/requests/check-username.yaml
deleted file mode 100644
index 778b5e5..0000000
--- a/main/app/sprinkles/account/schema/requests/check-username.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-user_name:
- validators:
- length:
- label: "&USERNAME"
- min: 1
- max: 50
- message: VALIDATE.LENGTH_RANGE
- no_leading_whitespace:
- label: "&USERNAME"
- message: VALIDATE.NO_LEAD_WS
- no_trailing_whitespace:
- label: "&USERNAME"
- message: VALIDATE.NO_TRAIL_WS
- username:
- label: "&USERNAME"
- message: VALIDATE.USERNAME
diff --git a/main/app/sprinkles/account/schema/requests/deny-password.yaml b/main/app/sprinkles/account/schema/requests/deny-password.yaml
deleted file mode 100644
index 3b3e919..0000000
--- a/main/app/sprinkles/account/schema/requests/deny-password.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-token:
- validators:
- required:
- message: PASSWORD.FORGET.INVALID
diff --git a/main/app/sprinkles/account/schema/requests/forgot-password.yaml b/main/app/sprinkles/account/schema/requests/forgot-password.yaml
deleted file mode 100644
index 70072b5..0000000
--- a/main/app/sprinkles/account/schema/requests/forgot-password.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-email:
- validators:
- required:
- label: "&EMAIL"
- message: VALIDATE.REQUIRED
diff --git a/main/app/sprinkles/account/schema/requests/login.yaml b/main/app/sprinkles/account/schema/requests/login.yaml
deleted file mode 100644
index b78596a..0000000
--- a/main/app/sprinkles/account/schema/requests/login.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-user_name:
- validators:
- required:
- label: "&USERNAME"
- message: VALIDATE.REQUIRED
- no_leading_whitespace:
- label: "&USERNAME"
- message: VALIDATE.NO_LEAD_WS
- no_trailing_whitespace:
- label: "&USERNAME"
- message: VALIDATE.NO_TRAIL_WS
-password:
- validators:
- required:
- label: "&PASSWORD"
- message: VALIDATE.REQUIRED
-rememberme:
- default: false
diff --git a/main/app/sprinkles/account/schema/requests/profile-settings.yaml b/main/app/sprinkles/account/schema/requests/profile-settings.yaml
deleted file mode 100644
index c2b5ee8..0000000
--- a/main/app/sprinkles/account/schema/requests/profile-settings.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-first_name:
- validators:
- length:
- label: "&FIRST_NAME"
- min: 1
- max: 20
- message: VALIDATE.LENGTH_RANGE
- required:
- label: "&FIRST_NAME"
- message: VALIDATE.REQUIRED
-last_name:
- validators:
- length:
- label: "&LAST_NAME"
- min: 1
- max: 30
- message: VALIDATE.LENGTH_RANGE
-locale:
- validators:
- required:
- label: "&LOCALE"
- domain: server
- message: VALIDATE.REQUIRED
diff --git a/main/app/sprinkles/account/schema/requests/register.yaml b/main/app/sprinkles/account/schema/requests/register.yaml
deleted file mode 100644
index 75dae59..0000000
--- a/main/app/sprinkles/account/schema/requests/register.yaml
+++ /dev/null
@@ -1,75 +0,0 @@
----
-user_name:
- validators:
- length:
- label: "&USERNAME"
- min: 1
- max: 50
- message: VALIDATE.LENGTH_RANGE
- no_leading_whitespace:
- label: "&USERNAME"
- message: VALIDATE.NO_LEAD_WS
- no_trailing_whitespace:
- label: "&USERNAME"
- message: VALIDATE.NO_TRAIL_WS
- required:
- label: "&USERNAME"
- message: VALIDATE.REQUIRED
- username:
- label: "&USERNAME"
- message: VALIDATE.USERNAME
-first_name:
- validators:
- length:
- label: "&FIRST_NAME"
- min: 1
- max: 20
- message: VALIDATE.LENGTH_RANGE
- required:
- label: "&FIRST_NAME"
- message: VALIDATE.REQUIRED
-last_name:
- validators:
- length:
- label: "&LAST_NAME"
- min: 1
- max: 30
- message: VALIDATE.LENGTH_RANGE
-email:
- validators:
- required:
- label: "&EMAIL"
- message: VALIDATE.REQUIRED
- length:
- label: "&EMAIL"
- min: 1
- max: 150
- message: VALIDATE.LENGTH_RANGE
- email:
- message: VALIDATE.INVALID_EMAIL
-password:
- validators:
- required:
- label: "&PASSWORD"
- message: VALIDATE.REQUIRED
- length:
- label: "&PASSWORD"
- min: 12
- max: 100
- message: VALIDATE.LENGTH_RANGE
-passwordc:
- validators:
- required:
- label: "&PASSWORD.CONFIRM"
- message: VALIDATE.REQUIRED
- matches:
- field: password
- label: "&PASSWORD.CONFIRM"
- message: VALIDATE.PASSWORD_MISMATCH
- length:
- label: "&PASSWORD.CONFIRM"
- min: 12
- max: 100
- message: VALIDATE.LENGTH_RANGE
-captcha:
- validators:
diff --git a/main/app/sprinkles/account/schema/requests/resend-verification.yaml b/main/app/sprinkles/account/schema/requests/resend-verification.yaml
deleted file mode 100644
index 70072b5..0000000
--- a/main/app/sprinkles/account/schema/requests/resend-verification.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-email:
- validators:
- required:
- label: "&EMAIL"
- message: VALIDATE.REQUIRED
diff --git a/main/app/sprinkles/account/schema/requests/set-password.yaml b/main/app/sprinkles/account/schema/requests/set-password.yaml
deleted file mode 100644
index ae59d1c..0000000
--- a/main/app/sprinkles/account/schema/requests/set-password.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-password:
- validators:
- required:
- label: "&PASSWORD"
- message: VALIDATE.REQUIRED
- length:
- label: "&PASSWORD"
- min: 12
- max: 100
- message: VALIDATE.LENGTH_RANGE
-passwordc:
- validators:
- required:
- label: "&PASSWORD.CONFIRM"
- message: VALIDATE.REQUIRED
- matches:
- field: password
- label: "&PASSWORD.CONFIRM"
- message: VALIDATE.PASSWORD_MISMATCH
- length:
- label: "&PASSWORD.CONFIRM"
- min: 12
- max: 100
- message: VALIDATE.LENGTH_RANGE
-token:
- validators:
- required:
- message: PASSWORD.FORGET.INVALID
diff --git a/main/app/sprinkles/account/src/Account.php b/main/app/sprinkles/account/src/Account.php
deleted file mode 100644
index 1faccf4..0000000
--- a/main/app/sprinkles/account/src/Account.php
+++ /dev/null
@@ -1,21 +0,0 @@
-authenticator = $authenticator;
- }
-
- /**
- * Invoke the AuthGuard middleware, throwing an exception if there is no authenticated user in the session.
- *
- * @param \Psr\Http\Message\ServerRequestInterface $request PSR7 request
- * @param \Psr\Http\Message\ResponseInterface $response PSR7 response
- * @param callable $next Next middleware
- *
- * @return \Psr\Http\Message\ResponseInterface
- */
- public function __invoke($request, $response, $next) {
- if (!$this->authenticator->check()) {
- throw new AuthExpiredException();
- } else {
- return $next($request, $response);
- }
-
- return $response;
- }
-}
diff --git a/main/app/sprinkles/account/src/Authenticate/Authenticator.php b/main/app/sprinkles/account/src/Authenticate/Authenticator.php
deleted file mode 100644
index a4586e4..0000000
--- a/main/app/sprinkles/account/src/Authenticate/Authenticator.php
+++ /dev/null
@@ -1,407 +0,0 @@
-classMapper = $classMapper;
- $this->session = $session;
- $this->config = $config;
- $this->cache = $cache;
-
- // Initialize RememberMe storage
- $this->rememberMeStorage = new RememberMePDO($this->config['remember_me.table']);
-
- // Get the actual PDO instance from Eloquent
- $pdo = Capsule::connection()->getPdo();
-
- $this->rememberMeStorage->setConnection($pdo);
-
- // Set up RememberMe
- $this->rememberMe = new RememberMe($this->rememberMeStorage);
- // Set cookie name
- $cookieName = $this->config['session.name'] . '-' . $this->config['remember_me.cookie.name'];
- $this->rememberMe->getCookie()->setName($cookieName);
-
- // Change cookie path
- $this->rememberMe->getCookie()->setPath($this->config['remember_me.session.path']);
-
- // Set expire time, if specified
- if ($this->config->has('remember_me.expire_time') && ($this->config->has('remember_me.expire_time') != NULL)) {
- $this->rememberMe->getCookie()->setExpireTime($this->config['remember_me.expire_time']);
- }
-
- $this->user = NULL;
-
- $this->viaRemember = FALSE;
- }
-
- /**
- * Attempts to authenticate a user based on a supplied identity and password.
- *
- * If successful, the user's id is stored in session.
- */
- public function attempt($identityColumn, $identityValue, $password, $rememberMe = FALSE) {
- // Try to load the user, using the specified conditions
- $user = $this->classMapper->staticMethod('user', 'where', $identityColumn, $identityValue)->first();
-
- if (!$user) {
- throw new InvalidCredentialsException();
- }
-
- // Check that the user has a password set (so, rule out newly created accounts without a password)
- if (!$user->password) {
- throw new InvalidCredentialsException();
- }
-
- // Check that the user's account is enabled
- if ($user->flag_enabled == 0) {
- throw new AccountDisabledException();
- }
-
- // Check that the user's account is verified (if verification is required)
- if ($this->config['site.registration.require_email_verification'] && $user->flag_verified == 0) {
- throw new AccountNotVerifiedException();
- }
-
- // Here is my password. May I please assume the identify of this user now?
- if (Password::verify($password, $user->password)) {
- $this->login($user, $rememberMe);
- return $user;
- } else {
- // We know the password is at fault here (as opposed to the identity), but lets not give away the combination in case of someone bruteforcing
- throw new InvalidCredentialsException();
- }
- }
-
- /**
- * Determine if the current user is authenticated.
- *
- * @return bool
- */
- public function check() {
- return !is_null($this->user());
- }
-
- /**
- * Determine if the current user is a guest (unauthenticated).
- *
- * @return bool
- */
- public function guest() {
- return !$this->check();
- }
-
- /**
- * Process an account login request.
- *
- * This method logs in the specified user, allowing the client to assume the user's identity for the duration of the session.
- * @param User $user The user to log in.
- * @param bool $rememberMe Set to true to make this a "persistent session", i.e. one that will re-login even after the session expires.
- * @odo Figure out a way to update the currentUser service to reflect the logged-in user *immediately* in the service provider.
- * As it stands, the currentUser service will still reflect a "guest user" for the remainder of the request.
- */
- public function login($user, $rememberMe = FALSE) {
- $oldId = session_id();
- $this->session->regenerateId(TRUE);
-
- // Since regenerateId deletes the old session, we'll do the same in cache
- $this->flushSessionCache($oldId);
-
- // If the user wants to be remembered, create Rememberme cookie
- if ($rememberMe) {
- $this->rememberMe->createCookie($user->id);
- } else {
- $this->rememberMe->clearCookie();
- }
-
- // Assume identity
- $key = $this->config['session.keys.current_user_id'];
- $this->session[$key] = $user->id;
-
- // Set auth mode
- $this->viaRemember = FALSE;
-
- // User login actions
- $user->onLogin();
- }
-
- /**
- * Processes an account logout request.
- *
- * Logs the currently authenticated user out, destroying the PHP session and clearing the persistent session.
- * This can optionally remove persistent sessions across all browsers/devices, since there can be a "RememberMe" cookie
- * and corresponding database entries in multiple browsers/devices. See http://jaspan.com/improved_persistent_login_cookie_best_practice.
- *
- * @param bool $complete If set to true, will ensure that the user is logged out from *all* browsers on all devices.
- */
- public function logout($complete = FALSE) {
- $currentUserId = $this->session->get($this->config['session.keys.current_user_id']);
-
- // This removes all of the user's persistent logins from the database
- if ($complete) {
- $this->storage->cleanAllTriplets($currentUserId);
- }
-
- // Clear the rememberMe cookie
- $this->rememberMe->clearCookie();
-
- // User logout actions
- if ($currentUserId) {
- $currentUser = $this->classMapper->staticMethod('user', 'find', $currentUserId);
- if ($currentUser) {
- $currentUser->onLogout();
- }
- }
-
- $this->user = NULL;
- $this->loggedOut = TRUE;
-
- $oldId = session_id();
-
- // Completely destroy the session
- $this->session->destroy();
-
- // Since regenerateId deletes the old session, we'll do the same in cache
- $this->flushSessionCache($oldId);
-
- // Restart the session service
- $this->session->start();
- }
-
- /**
- * Try to get the currently authenticated user, returning a guest user if none was found.
- *
- * Tries to re-establish a session for "remember-me" users who have been logged out due to an expired session.
- * @return User|null
- * @throws AuthExpiredException
- * @throws AuthCompromisedException
- * @throws AccountInvalidException
- * @throws AccountDisabledException
- */
- public function user() {
- $user = NULL;
-
- if (!$this->loggedOut) {
-
- // Return any cached user
- if (!is_null($this->user)) {
- return $this->user;
- }
-
- // If this throws a PDOException we catch it and return null than allowing the exception to propagate.
- // This is because the error handler relies on Twig, which relies on a Twig Extension, which relies on the global current_user variable.
- // So, we really don't want this method to throw any database exceptions.
- try {
- // Now, check to see if we have a user in session
- $user = $this->loginSessionUser();
-
- // If no user was found in the session, try to login via RememberMe cookie
- if (!$user) {
- $user = $this->loginRememberedUser();
- }
- } catch (\PDOException $e) {
- $user = NULL;
- }
- }
-
- return $this->user = $user;
- }
-
- /**
- * Determine whether the current user was authenticated using a remember me cookie.
- *
- * This function is useful when users are performing sensitive operations, and you may want to force them to re-authenticate.
- * @return bool
- */
- public function viaRemember() {
- return $this->viaRemember;
- }
-
- /**
- * Attempt to log in the client from their rememberMe token (in their cookie).
- *
- * @return User|bool If successful, the User object of the remembered user. Otherwise, return false.
- * @throws AuthCompromisedException The client attempted to log in with an invalid rememberMe token.
- */
- protected function loginRememberedUser() {
- /** @var \Birke\Rememberme\LoginResult $loginResult */
- $loginResult = $this->rememberMe->login();
-
- if ($loginResult->isSuccess()) {
- // Update in session
- $this->session[$this->config['session.keys.current_user_id']] = $loginResult->getCredential();
- // There is a chance that an attacker has stolen the login token,
- // so we store the fact that the user was logged in via RememberMe (instead of login form)
- $this->viaRemember = TRUE;
- } else {
- // If $rememberMe->login() was not successful, check if the token was invalid as well. This means the cookie was stolen.
- if ($loginResult->hasPossibleManipulation()) {
- throw new AuthCompromisedException();
- }
- }
-
- return $this->validateUserAccount($loginResult->getCredential());
- }
-
- /**
- * Attempt to log in the client from the session.
- *
- * @return User|null If successful, the User object of the user in session. Otherwise, return null.
- * @throws AuthExpiredException The client attempted to use an expired rememberMe token.
- */
- protected function loginSessionUser() {
- $userId = $this->session->get($this->config['session.keys.current_user_id']);
-
- // If a user_id was found in the session, check any rememberMe cookie that was submitted.
- // If they submitted an expired rememberMe cookie, then we need to log them out.
- if ($userId) {
- if (!$this->validateRememberMeCookie()) {
- $this->logout();
- throw new AuthExpiredException();
- }
- }
-
- return $this->validateUserAccount($userId);
- }
-
- /**
- * Determine if the cookie contains a valid rememberMe token.
- *
- * @return bool
- */
- protected function validateRememberMeCookie() {
- $cookieValue = $this->rememberMe->getCookie()->getValue();
- if (!$cookieValue) {
- return TRUE;
- }
- $triplet = RememberMeTriplet::fromString($cookieValue);
- if (!$triplet->isValid()) {
- return FALSE;
- }
-
- return TRUE;
- }
-
- /**
- * Tries to load the specified user by id from the database.
- *
- * Checks that the account is valid and enabled, throwing an exception if not.
- * @param int $userId
- * @return User|null
- * @throws AccountInvalidException
- * @throws AccountDisabledException
- */
- protected function validateUserAccount($userId) {
- if ($userId) {
- $user = $this->classMapper->staticMethod('user', 'find', $userId);
-
- // If the user doesn't exist any more, throw an exception.
- if (!$user) {
- throw new AccountInvalidException();
- }
-
- // If the user has been disabled since their last request, throw an exception.
- if (!$user->flag_enabled) {
- throw new AccountDisabledException();
- }
-
- return $user;
- } else {
- return NULL;
- }
- }
-
- /**
- * Flush the cache associated with a session id
- *
- * @param string $id The session id
- * @return bool
- */
- public function flushSessionCache($id) {
- return $this->cache->tags('_s' . $id)->flush();
- }
-}
diff --git a/main/app/sprinkles/account/src/Authenticate/Exception/AccountDisabledException.php b/main/app/sprinkles/account/src/Authenticate/Exception/AccountDisabledException.php
deleted file mode 100644
index 314fcc3..0000000
--- a/main/app/sprinkles/account/src/Authenticate/Exception/AccountDisabledException.php
+++ /dev/null
@@ -1,22 +0,0 @@
- $this->cost($options),
- ]);
-
- if (!$hash) {
- throw new HashFailedException();
- }
-
- return $hash;
- }
-
- /**
- * Verify a plaintext password against the user's hashed password.
- *
- * @param string $password The plaintext password to verify.
- * @param string $hash The hash to compare against.
- * @param array $options
- * @return boolean True if the password matches, false otherwise.
- */
- public function verify($password, $hash, array $options = []) {
- $hashType = $this->getHashType($hash);
-
- if ($hashType == 'sha1') {
- // Legacy UserCake passwords
- $salt = substr($hash, 0, 25); // Extract the salt from the hash
- $inputHash = $salt . sha1($salt . $password);
-
- return (hash_equals($inputHash, $hash) === TRUE);
-
- } else if ($hashType == 'legacy') {
- // Homegrown implementation (assuming that current install has been using a cost parameter of 12)
- // Used for manual implementation of bcrypt.
- // Note that this legacy hashing put the salt at the _end_ for some reason.
- $salt = substr($hash, 60);
- $inputHash = crypt($password, '$2y$12$' . $salt);
- $correctHash = substr($hash, 0, 60);
-
- return (hash_equals($inputHash, $correctHash) === TRUE);
- }
-
- // Modern implementation
- return password_verify($password, $hash);
- }
-
- /**
- * Extract the cost value from the options array.
- *
- * @param array $options
- * @return int
- */
- protected function cost(array $options = []) {
- return isset($options['rounds']) ? $options['rounds'] : $this->defaultRounds;
- }
-}
diff --git a/main/app/sprinkles/account/src/Authorize/AccessConditionExpression.php b/main/app/sprinkles/account/src/Authorize/AccessConditionExpression.php
deleted file mode 100644
index 8a8225e..0000000
--- a/main/app/sprinkles/account/src/Authorize/AccessConditionExpression.php
+++ /dev/null
@@ -1,138 +0,0 @@
-nodeVisitor = $nodeVisitor;
- $this->user = $user;
- $this->parser = new Parser(new EmulativeLexer);
- $this->traverser = new NodeTraverser;
- $this->traverser->addVisitor($nodeVisitor);
- $this->prettyPrinter = new StandardPrettyPrinter;
- $this->logger = $logger;
- $this->debug = $debug;
- }
-
- /**
- * Evaluates a condition expression, based on the given parameters.
- *
- * The special parameter `self` is an array of the current user's data.
- * This get included automatically, and so does not need to be passed in.
- * @param string $condition a boolean expression composed of calls to AccessCondition functions.
- * @param array[mixed] $params the parameters to be used when evaluating the expression.
- * @return bool true if the condition is passed for the given parameters, otherwise returns false.
- */
- public function evaluateCondition($condition, $params) {
- // Set the reserved `self` parameters.
- // This replaces any values of `self` specified in the arguments, thus preventing them from being overridden in malicious user input.
- // (For example, from an unfiltered request body).
- $params['self'] = $this->user->export();
-
- $this->nodeVisitor->setParams($params);
-
- $code = "debug) {
- $this->logger->debug("Evaluating access condition '$condition' with parameters:", $params);
- }
-
- // Traverse the parse tree, and execute any callbacks found using the supplied parameters.
- // Replace the function node with the return value of the callback.
- try {
- // parse
- $stmts = $this->parser->parse($code);
-
- // traverse
- $stmts = $this->traverser->traverse($stmts);
-
- // Evaluate boolean statement. It is safe to use eval() here, because our expression has been reduced entirely to a boolean expression.
- $expr = $this->prettyPrinter->prettyPrintExpr($stmts[0]);
- $expr_eval = "return " . $expr . ";\n";
- $result = eval($expr_eval);
-
- if ($this->debug) {
- $this->logger->debug("Expression '$expr' evaluates to " . ($result == TRUE ? "true" : "false"));
- }
-
- return $result;
- } catch (PhpParserException $e) {
- if ($this->debug) {
- $this->logger->debug("Error parsing access condition '$condition':" . $e->getMessage());
- }
- return FALSE; // Access fails if the access condition can't be parsed.
- } catch (AuthorizationException $e) {
- if ($this->debug) {
- $this->logger->debug("Error parsing access condition '$condition':" . $e->getMessage());
- }
- return FALSE;
- }
- }
-}
diff --git a/main/app/sprinkles/account/src/Authorize/AuthorizationException.php b/main/app/sprinkles/account/src/Authorize/AuthorizationException.php
deleted file mode 100644
index f93e847..0000000
--- a/main/app/sprinkles/account/src/Authorize/AuthorizationException.php
+++ /dev/null
@@ -1,24 +0,0 @@
-ci = $ci;
- $this->callbacks = $callbacks;
- }
-
- /**
- * Register an authorization callback, which can then be used in permission conditions.
- *
- * To add additional callbacks, simply extend the `authorizer` service in your Sprinkle's service provider.
- * @param string $name
- * @param callable $callback
- */
- public function addCallback($name, $callback) {
- $this->callbacks[$name] = $callback;
- return $this;
- }
-
- /**
- * Get all authorization callbacks.
- *
- * @return callable[]
- */
- public function getCallbacks() {
- return $this->callbacks;
- }
-
- /**
- * Checks whether or not a user has access on a particular permission slug.
- *
- * Determine if this user has access to the given $slug under the given $params.
- *
- * @param UserFrosting\Sprinkle\Account\Database\Models\User $user
- * @param string $slug The permission slug to check for access.
- * @param array $params [optional] An array of field names => values, specifying any additional data to provide the authorization module
- * when determining whether or not this user has access.
- * @return boolean True if the user has access, false otherwise.
- */
- public function checkAccess(User $user, $slug, array $params = []) {
- $debug = $this->ci->config['debug.auth'];
-
- if ($debug) {
- $trace = array_slice(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3), 1);
- $this->ci->authLogger->debug("Authorization check requested at: ", $trace);
- $this->ci->authLogger->debug("Checking authorization for user {$user->id} ('{$user->user_name}') on permission '$slug'...");
- }
-
- if ($this->ci->authenticator->guest()) {
- if ($debug) {
- $this->ci->authLogger->debug("User is not logged in. Access denied.");
- }
- return FALSE;
- }
-
- // The master (root) account has access to everything.
- // Need to use loose comparison for now, because some DBs return `id` as a string.
-
- if ($user->id == $this->ci->config['reserved_user_ids.master']) {
- if ($debug) {
- $this->ci->authLogger->debug("User is the master (root) user. Access granted.");
- }
- return TRUE;
- }
-
- // Find all permissions that apply to this user (via roles), and check if any evaluate to true.
- $permissions = $user->getCachedPermissions();
-
- if (empty($permissions) || !isset($permissions[$slug])) {
- if ($debug) {
- $this->ci->authLogger->debug("No matching permissions found. Access denied.");
- }
- return FALSE;
- }
-
- $permissions = $permissions[$slug];
-
- if ($debug) {
- $this->ci->authLogger->debug("Found matching permissions: \n" . print_r($this->getPermissionsArrayDebugInfo($permissions), TRUE));
- }
-
- $nodeVisitor = new ParserNodeFunctionEvaluator($this->callbacks, $this->ci->authLogger, $debug);
- $ace = new AccessConditionExpression($nodeVisitor, $user, $this->ci->authLogger, $debug);
-
- foreach ($permissions as $permission) {
- $pass = $ace->evaluateCondition($permission->conditions, $params);
- if ($pass) {
- if ($debug) {
- $this->ci->authLogger->debug("User passed conditions '{$permission->conditions}' . Access granted.");
- }
- return TRUE;
- }
- }
-
- if ($debug) {
- $this->ci->authLogger->debug("User failed to pass any of the matched permissions. Access denied.");
- }
-
- return FALSE;
- }
-
- /**
- * Remove extraneous information from the permission to reduce verbosity.
- *
- * @param array
- * @return array
- */
- protected function getPermissionsArrayDebugInfo($permissions) {
- $permissionsInfo = [];
- foreach ($permissions as $permission) {
- $permissionData = array_only($permission->toArray(), ['id', 'slug', 'name', 'conditions', 'description']);
- // Remove this until we can find an efficient way to only load these once during debugging
- //$permissionData['roles_via'] = $permission->roles_via->pluck('id')->all();
- $permissionsInfo[] = $permissionData;
- }
-
- return $permissionsInfo;
- }
-}
diff --git a/main/app/sprinkles/account/src/Authorize/ParserNodeFunctionEvaluator.php b/main/app/sprinkles/account/src/Authorize/ParserNodeFunctionEvaluator.php
deleted file mode 100644
index af26d9a..0000000
--- a/main/app/sprinkles/account/src/Authorize/ParserNodeFunctionEvaluator.php
+++ /dev/null
@@ -1,189 +0,0 @@
-callbacks = $callbacks;
- $this->prettyPrinter = new StandardPrettyPrinter;
- $this->logger = $logger;
- $this->debug = $debug;
- $this->params = [];
- }
-
- public function leaveNode(Node $node) {
- // Look for function calls
- if ($node instanceof \PhpParser\Node\Expr\FuncCall) {
- $eval = new \PhpParser\Node\Scalar\LNumber;
-
- // Get the method name
- $callbackName = $node->name->toString();
- // Get the method arguments
- $argNodes = $node->args;
-
- $args = [];
- $argsInfo = [];
- foreach ($argNodes as $arg) {
- $argString = $this->prettyPrinter->prettyPrintExpr($arg->value);
-
- // Debugger info
- $currentArgInfo = [
- 'expression' => $argString
- ];
- // Resolve parameter placeholders ('variable' names (either single-word or array-dot identifiers))
- if (($arg->value instanceof \PhpParser\Node\Expr\BinaryOp\Concat) || ($arg->value instanceof \PhpParser\Node\Expr\ConstFetch)) {
- $value = $this->resolveParamPath($argString);
- $currentArgInfo['type'] = "parameter";
- $currentArgInfo['resolved_value'] = $value;
- // Resolve arrays
- } else if ($arg->value instanceof \PhpParser\Node\Expr\Array_) {
- $value = $this->resolveArray($arg);
- $currentArgInfo['type'] = "array";
- $currentArgInfo['resolved_value'] = print_r($value, TRUE);
- // Resolve strings
- } else if ($arg->value instanceof \PhpParser\Node\Scalar\String_) {
- $value = $arg->value->value;
- $currentArgInfo['type'] = "string";
- $currentArgInfo['resolved_value'] = $value;
- // Resolve numbers
- } else if ($arg->value instanceof \PhpParser\Node\Scalar\DNumber) {
- $value = $arg->value->value;
- $currentArgInfo['type'] = "float";
- $currentArgInfo['resolved_value'] = $value;
- } else if ($arg->value instanceof \PhpParser\Node\Scalar\LNumber) {
- $value = $arg->value->value;
- $currentArgInfo['type'] = "integer";
- $currentArgInfo['resolved_value'] = $value;
- // Anything else is simply interpreted as its literal string value
- } else {
- $value = $argString;
- $currentArgInfo['type'] = "unknown";
- $currentArgInfo['resolved_value'] = $value;
- }
-
- $args[] = $value;
- $argsInfo[] = $currentArgInfo;
- }
-
- if ($this->debug) {
- if (count($args)) {
- $this->logger->debug("Evaluating callback '$callbackName' on: ", $argsInfo);
- } else {
- $this->logger->debug("Evaluating callback '$callbackName'...");
- }
- }
-
- // Call the specified access condition callback with the specified arguments.
- if (isset($this->callbacks[$callbackName]) && is_callable($this->callbacks[$callbackName])) {
- $result = call_user_func_array($this->callbacks[$callbackName], $args);
- } else {
- throw new AuthorizationException("Authorization failed: Access condition method '$callbackName' does not exist.");
- }
-
- if ($this->debug) {
- $this->logger->debug("Result: " . ($result ? "1" : "0"));
- }
-
- return new \PhpParser\Node\Scalar\LNumber($result ? "1" : "0");
- }
- }
-
- public function setParams($params) {
- $this->params = $params;
- }
-
- /**
- * Resolve an array expression in a condition expression into an actual array.
- *
- * @param string $arg the array, represented as a string.
- * @return array[mixed] the array, as a plain ol' PHP array.
- */
- private function resolveArray($arg) {
- $arr = [];
- $items = (array)$arg->value->items;
- foreach ($items as $item) {
- if ($item->key) {
- $arr[$item->key] = $item->value->value;
- } else {
- $arr[] = $item->value->value;
- }
- }
- return $arr;
- }
-
- /**
- * Resolve a parameter path (e.g. "user.id", "post", etc) into its value.
- *
- * @param string $path the name of the parameter to resolve, based on the parameters set in this object.
- * @throws Exception the path could not be resolved. Path is malformed or key does not exist.
- * @return mixed the value of the specified parameter.
- */
- private function resolveParamPath($path) {
- $pathTokens = explode(".", $path);
- $value = $this->params;
- foreach ($pathTokens as $token) {
- $token = trim($token);
- if (is_array($value) && isset($value[$token])) {
- $value = $value[$token];
- continue;
- } else if (is_object($value) && isset($value->$token)) {
- $value = $value->$token;
- continue;
- } else {
- throw new AuthorizationException("Cannot resolve the path \"$path\". Error at token \"$token\".");
- }
- }
- return $value;
- }
-}
diff --git a/main/app/sprinkles/account/src/Bakery/CreateAdminUser.php b/main/app/sprinkles/account/src/Bakery/CreateAdminUser.php
deleted file mode 100644
index 178c2b3..0000000
--- a/main/app/sprinkles/account/src/Bakery/CreateAdminUser.php
+++ /dev/null
@@ -1,321 +0,0 @@
-setName("create-admin")
- ->setDescription("Create the initial admin (root) user account");
- }
-
- /**
- * {@inheritDoc}
- */
- protected function execute(InputInterface $input, OutputInterface $output) {
- $this->io->title("Root account setup");
-
- // Need the database
- try {
- $this->io->writeln("Testing database connection", OutputInterface::VERBOSITY_VERBOSE);
- $this->testDB();
- $this->io->writeln("Ok", OutputInterface::VERBOSITY_VERBOSE);
- } catch (\Exception $e) {
- $this->io->error($e->getMessage());
- exit(1);
- }
-
- // Need migration table
- if (!Capsule::schema()->hasColumn('migrations', 'id')) {
- $this->io->error("Migrations doesn't appear to have been run! Make sure the database is properly migrated by using the `php bakery migrate` command.");
- exit(1);
- }
-
- // Make sure the required mirgations have been run
- foreach ($this->dependencies as $migration) {
- if (!Migrations::where('migration', $migration)->exists()) {
- $this->io->error("Migration `$migration` doesn't appear to have been run! Make sure all migrations are up to date by using the `php bakery migrate` command.");
- exit(1);
- }
- }
-
- // Make sure that there are no users currently in the user table
- // We setup the root account here so it can be done independent of the version check
- if (User::count() > 0) {
-
- $this->io->note("Table 'users' is not empty. Skipping root account setup. To set up the root account again, please truncate or drop the table and try again.");
-
- } else {
-
- $this->io->writeln("Please answer the following questions to create the root account:\n");
-
- // Get the account details
- $userName = $this->askUsername();
- $email = $this->askEmail();
- $firstName = $this->askFirstName();
- $lastName = $this->askLastName();
- $password = $this->askPassword();
-
- // Ok, now we've got the info and we can create the new user.
- $this->io->write("\nSaving the root user details...");
- $rootUser = new User([
- "user_name" => $userName,
- "email" => $email,
- "first_name" => $firstName,
- "last_name" => $lastName,
- "password" => Password::hash($password)
- ]);
-
- $rootUser->save();
-
- $defaultRoles = [
- 'user' => Role::where('slug', 'user')->first(),
- 'group-admin' => Role::where('slug', 'group-admin')->first(),
- 'site-admin' => Role::where('slug', 'site-admin')->first()
- ];
-
- foreach ($defaultRoles as $slug => $role) {
- if ($role) {
- $rootUser->roles()->attach($role->id);
- }
- }
-
- $this->io->success("Root user creation successful!");
- }
- }
-
- /**
- * Ask for the username
- *
- * @access protected
- * @return void
- */
- protected function askUsername() {
- while (!isset($userName) || !$this->validateUsername($userName)) {
- $userName = $this->io->ask("Choose a root username (1-50 characters, no leading or trailing whitespace)");
- }
- return $userName;
- }
-
- /**
- * Validate the username.
- *
- * @access protected
- * @param mixed $userName
- * @return void
- */
- protected function validateUsername($userName) {
- // Validate length
- if (strlen($userName) < 1 || strlen($userName) > 50) {
- $this->io->error("Username must be between 1-50 characters");
- return FALSE;
- }
-
- // Validate format
- $options = [
- 'options' => [
- 'regexp' => "/^\S((.*\S)|)$/"
- ]
- ];
- $validate = filter_var($userName, FILTER_VALIDATE_REGEXP, $options);
- if (!$validate) {
- $this->io->error("Username can't have any leading or trailing whitespace");
- return FALSE;
- }
-
- return TRUE;
- }
-
- /**
- * Ask for the email
- *
- * @access protected
- * @return void
- */
- protected function askEmail() {
- while (!isset($email) || !$this->validateEmail($email)) {
- $email = $this->io->ask("Enter a valid email address (1-254 characters, must be compatible with FILTER_VALIDATE_EMAIL)");
- }
- return $email;
- }
-
- /**
- * Validate the email.
- *
- * @access protected
- * @param mixed $email
- * @return void
- */
- protected function validateEmail($email) {
- // Validate length
- if (strlen($email) < 1 || strlen($email) > 254) {
- $this->io->error("Email must be between 1-254 characters");
- return FALSE;
- }
-
- // Validate format
- if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
- $this->io->error("Email must be compatible with FILTER_VALIDATE_EMAIL");
- return FALSE;
- }
-
- return TRUE;
- }
-
- /**
- * Ask for the first name
- *
- * @access protected
- * @return void
- */
- protected function askFirstName() {
- while (!isset($firstName) || !$this->validateFirstName($firstName)) {
- $firstName = $this->io->ask("Enter the user first name (1-20 characters)");
- }
- return $firstName;
- }
-
- /**
- * validateFirstName function.
- *
- * @access protected
- * @param mixed $name
- * @return void
- */
- protected function validateFirstName($firstName) {
- // Validate length
- if (strlen($firstName) < 1 || strlen($firstName) > 20) {
- $this->io->error("First name must be between 1-20 characters");
- return FALSE;
- }
-
- return TRUE;
- }
-
- /**
- * Ask for the last name
- *
- * @access protected
- * @return void
- */
- protected function askLastName() {
- while (!isset($lastName) || !$this->validateLastName($lastName)) {
- $lastName = $this->io->ask("Enter the user last name (1-30 characters)");
- }
- return $lastName;
- }
-
- /**
- * validateLastName function.
- *
- * @access protected
- * @param mixed $lastName
- * @return void
- */
- protected function validateLastName($lastName) {
- // Validate length
- if (strlen($lastName) < 1 || strlen($lastName) > 30) {
- $this->io->error("Last name must be between 1-30 characters");
- return FALSE;
- }
-
- return TRUE;
- }
-
- /**
- * Ask for the password
- *
- * @access protected
- * @return void
- */
- protected function askPassword() {
- while (!isset($password) || !$this->validatePassword($password) || !$this->confirmPassword($password)) {
- $password = $this->io->askHidden("Enter password (12-255 characters)");
- }
- return $password;
- }
-
- /**
- * validatePassword function.
- *
- * @access protected
- * @param mixed $password
- * @return void
- */
- protected function validatePassword($password) {
- if (strlen($password) < 12 || strlen($password) > 255) {
- $this->io->error("Password must be between 12-255 characters");
- return FALSE;
- }
-
- return TRUE;
- }
-
- /**
- * confirmPassword function.
- *
- * @access protected
- * @param mixed $passwordToConfirm
- * @return void
- */
- protected function confirmPassword($passwordToConfirm) {
- while (!isset($password)) {
- $password = $this->io->askHidden("Please re-enter the chosen password");
- }
- return $this->validatePasswordConfirmation($password, $passwordToConfirm);
- }
-
- /**
- * validatePasswordConfirmation function.
- *
- * @access protected
- * @param mixed $password
- * @param mixed $passwordToConfirm
- * @return void
- */
- protected function validatePasswordConfirmation($password, $passwordToConfirm) {
- if ($password != $passwordToConfirm) {
- $this->io->error("Passwords do not match, please try again.");
- return FALSE;
- }
-
- return TRUE;
- }
-}
\ No newline at end of file
diff --git a/main/app/sprinkles/account/src/Controller/AccountController.php b/main/app/sprinkles/account/src/Controller/AccountController.php
deleted file mode 100644
index c4201a7..0000000
--- a/main/app/sprinkles/account/src/Controller/AccountController.php
+++ /dev/null
@@ -1,1271 +0,0 @@
-ci->alerts;
-
- // GET parameters
- $params = $request->getQueryParams();
-
- // Load request schema
- $schema = new RequestSchema('schema://requests/check-username.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- // Validate, and halt on validation errors.
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- // O: encapsulate the communication of error messages from ServerSideValidator to the BadRequestException
- $e = new BadRequestException('Missing or malformed request data!');
- foreach ($validator->errors() as $idx => $field) {
- foreach ($field as $eidx => $error) {
- $e->addUserMessage($error);
- }
- }
- throw $e;
- }
-
- /** @var \UserFrosting\Sprinkle\Core\Throttle\Throttler $throttler */
- $throttler = $this->ci->throttler;
- $delay = $throttler->getDelay('check_username_request');
-
- // Throttle requests
- if ($delay > 0) {
- return $response->withStatus(429);
- }
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- /** @var \UserFrosting\I18n\MessageTranslator $translator */
- $translator = $this->ci->translator;
-
- // Log throttleable event
- $throttler->logEvent('check_username_request');
-
- if ($classMapper->staticMethod('user', 'findUnique', $data['user_name'], 'user_name')) {
- $message = $translator->translate('USERNAME.NOT_AVAILABLE', $data);
- return $response->write($message)->withStatus(200);
- } else {
- return $response->write('true')->withStatus(200);
- }
- }
-
- /**
- * Processes a request to cancel a password reset request.
- *
- * This is provided so that users can cancel a password reset request, if they made it in error or if it was not initiated by themselves.
- * Processes the request from the password reset link, checking that:
- * 1. The provided token is associated with an existing user account, who has a pending password reset request.
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function denyResetPassword(Request $request, Response $response, $args) {
- // GET parameters
- $params = $request->getQueryParams();
-
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- $loginPage = $this->ci->router->pathFor('login');
-
- // Load validation rules
- $schema = new RequestSchema('schema://requests/deny-password.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- // Validate, and halt on validation errors. Since this is a GET request, we need to redirect on failure
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- $ms->addValidationErrors($validator);
- // 400 code + redirect is perfectly fine, according to user Dilaz in #laravel
- return $response->withRedirect($loginPage, 400);
- }
-
- $passwordReset = $this->ci->repoPasswordReset->cancel($data['token']);
-
- if (!$passwordReset) {
- $ms->addMessageTranslated('danger', 'PASSWORD.FORGET.INVALID');
- return $response->withRedirect($loginPage, 400);
- }
-
- $ms->addMessageTranslated('success', 'PASSWORD.FORGET.REQUEST_CANNED');
- return $response->withRedirect($loginPage);
- }
-
- /**
- * Processes a request to email a forgotten password reset link to the user.
- *
- * Processes the request from the form on the "forgot password" page, checking that:
- * 1. The rate limit for this type of request is being observed.
- * 2. The provided email address belongs to a registered account;
- * 3. The submitted data is valid.
- * Note that we have removed the requirement that a password reset request not already be in progress.
- * This is because we need to allow users to re-request a reset, even if they lose the first reset email.
- * This route is "public access".
- * Request type: POST
- * @odo require additional user information
- * @odo prevent password reset requests for root account?
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function forgotPassword(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- // Get POST parameters
- $params = $request->getParsedBody();
-
- // Load the request schema
- $schema = new RequestSchema('schema://requests/forgot-password.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- // Validate, and halt on validation errors. Failed validation attempts do not count towards throttling limit.
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- $ms->addValidationErrors($validator);
- return $response->withStatus(400);
- }
-
- // Throttle requests
-
- /** @var \UserFrosting\Sprinkle\Core\Throttle\Throttler $throttler */
- $throttler = $this->ci->throttler;
-
- $throttleData = [
- 'email' => $data['email']
- ];
- $delay = $throttler->getDelay('password_reset_request', $throttleData);
-
- if ($delay > 0) {
- $ms->addMessageTranslated('danger', 'RATE_LIMIT_EXCEEDED', ['delay' => $delay]);
- return $response->withStatus(429);
- }
-
- // All checks passed! log events/activities, update user, and send email
- // Begin transaction - DB will be rolled back if an exception occurs
- Capsule::transaction(function () use ($classMapper, $data, $throttler, $throttleData, $config) {
-
- // Log throttleable event
- $throttler->logEvent('password_reset_request', $throttleData);
-
- // Load the user, by email address
- $user = $classMapper->staticMethod('user', 'where', 'email', $data['email'])->first();
-
- // Check that the email exists.
- // If there is no user with that email address, we should still pretend like we succeeded, to prevent account enumeration
- if ($user) {
- // Try to generate a new password reset request.
- // Use timeout for "reset password"
- $passwordReset = $this->ci->repoPasswordReset->create($user, $config['password_reset.timeouts.reset']);
-
- // Create and send email
- $message = new TwigMailMessage($this->ci->view, 'mail/password-reset.html.twig');
- $message->from($config['address_book.admin'])
- ->addEmailRecipient(new EmailRecipient($user->email, $user->full_name))
- ->addParams([
- 'user' => $user,
- 'token' => $passwordReset->getToken(),
- 'request_date' => Carbon::now()->format('Y-m-d H:i:s')
- ]);
-
- $this->ci->mailer->send($message);
- }
- });
-
- $ms->addMessageTranslated('success', 'PASSWORD.FORGET.REQUEST_SENT', ['email' => $data['email']]);
- return $response->withStatus(200);
- }
-
- /**
- * Returns a modal containing account terms of service.
- *
- * This does NOT render a complete page. Instead, it renders the HTML for the form, which can be embedded in other pages.
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function getModalAccountTos(Request $request, Response $response, $args) {
- return $this->ci->view->render($response, 'modals/tos.html.twig');
- }
-
- /**
- * Generate a random captcha, store it to the session, and return the captcha image.
- *
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function imageCaptcha(Request $request, Response $response, $args) {
- $captcha = new Captcha($this->ci->session, $this->ci->config['session.keys.captcha']);
- $captcha->generateRandomCode();
-
- return $response->withStatus(200)
- ->withHeader('Content-Type', 'image/png;base64')
- ->write($captcha->getImage());
- }
-
- /**
- * Processes an account login request.
- *
- * Processes the request from the form on the login page, checking that:
- * 1. The user is not already logged in.
- * 2. The rate limit for this type of request is being observed.
- * 3. Email login is enabled, if an email address was used.
- * 4. The user account exists.
- * 5. The user account is enabled and verified.
- * 6. The user entered a valid username/email and password.
- * This route, by definition, is "public access".
- * Request type: POST
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function login(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Account\Database\Models\User $currentUser */
- $currentUser = $this->ci->currentUser;
-
- /** @var \UserFrosting\Sprinkle\Account\Authenticate\Authenticator $authenticator */
- $authenticator = $this->ci->authenticator;
-
- // Return 200 success if user is already logged in
- if ($authenticator->check()) {
- $ms->addMessageTranslated('warning', 'LOGIN.ALREADY_COMPLETE');
- return $response->withStatus(200);
- }
-
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- // Get POST parameters
- $params = $request->getParsedBody();
-
- // Load the request schema
- $schema = new RequestSchema('schema://requests/login.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- // Validate, and halt on validation errors. Failed validation attempts do not count towards throttling limit.
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- $ms->addValidationErrors($validator);
- return $response->withStatus(400);
- }
-
- // Determine whether we are trying to log in with an email address or a username
- $isEmail = filter_var($data['user_name'], FILTER_VALIDATE_EMAIL);
-
- // Throttle requests
-
- /** @var \UserFrosting\Sprinkle\Core\Throttle\Throttler $throttler */
- $throttler = $this->ci->throttler;
-
- $userIdentifier = $data['user_name'];
-
- $throttleData = [
- 'user_identifier' => $userIdentifier
- ];
-
- $delay = $throttler->getDelay('sign_in_attempt', $throttleData);
- if ($delay > 0) {
- $ms->addMessageTranslated('danger', 'RATE_LIMIT_EXCEEDED', [
- 'delay' => $delay
- ]);
- return $response->withStatus(429);
- }
-
- // Log throttleable event
- $throttler->logEvent('sign_in_attempt', $throttleData);
-
- // If credential is an email address, but email login is not enabled, raise an error.
- // Note that we do this after logging throttle event, so this error counts towards throttling limit.
- if ($isEmail && !$config['site.login.enable_email']) {
- $ms->addMessageTranslated('danger', 'USER_OR_PASS_INVALID');
- return $response->withStatus(403);
- }
-
- // Try to authenticate the user. Authenticator will throw an exception on failure.
- /** @var \UserFrosting\Sprinkle\Account\Authenticate\Authenticator $authenticator */
- $authenticator = $this->ci->authenticator;
-
- $currentUser = $authenticator->attempt(($isEmail ? 'email' : 'user_name'), $userIdentifier, $data['password'], $data['rememberme']);
-
- $ms->addMessageTranslated('success', 'WELCOME', $currentUser->export());
-
- // Set redirect, if relevant
- $redirectOnLogin = $this->ci->get('redirect.onLogin');
-
- return $redirectOnLogin($request, $response, $args);
- }
-
- /**
- * Log the user out completely, including destroying any "remember me" token.
- *
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function logout(Request $request, Response $response, $args) {
- // Destroy the session
- $this->ci->authenticator->logout();
-
- // Return to home page
- $config = $this->ci->config;
- return $response->withStatus(302)->withHeader('Location', $config['site.uri.public']);
- }
-
- /**
- * Render the "forgot password" page.
- *
- * This creates a simple form to allow users who forgot their password to have a time-limited password reset link emailed to them.
- * By default, this is a "public page" (does not require authentication).
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function pageForgotPassword(Request $request, Response $response, $args) {
- // Load validation rules
- $schema = new RequestSchema('schema://requests/forgot-password.yaml');
- $validator = new JqueryValidationAdapter($schema, $this->ci->translator);
-
- return $this->ci->view->render($response, 'pages/forgot-password.html.twig', [
- 'page' => [
- 'validators' => [
- 'forgot_password' => $validator->rules('json', FALSE)
- ]
- ]
- ]);
- }
-
-
- /**
- * Render the account registration page for UserFrosting.
- *
- * This allows new (non-authenticated) users to create a new account for themselves on your website (if enabled).
- * By definition, this is a "public page" (does not require authentication).
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function pageRegister(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- if (!$config['site.registration.enabled']) {
- throw new NotFoundException($request, $response);
- }
-
- /** @var \UserFrosting\Sprinkle\Account\Authenticate\Authenticator $authenticator */
- $authenticator = $this->ci->authenticator;
-
- // Redirect if user is already logged in
- if ($authenticator->check()) {
- $redirect = $this->ci->get('redirect.onAlreadyLoggedIn');
-
- return $redirect($request, $response, $args);
- }
-
- // Load validation rules
- $schema = new RequestSchema('schema://requests/register.yaml');
- $validatorRegister = new JqueryValidationAdapter($schema, $this->ci->translator);
-
- return $this->ci->view->render($response, 'pages/register.html.twig', [
- 'page' => [
- 'validators' => [
- 'register' => $validatorRegister->rules('json', FALSE)
- ]
- ]
- ]);
- }
-
- /**
- * Render the "resend verification email" page.
- *
- * This is a form that allows users who lost their account verification link to have the link resent to their email address.
- * By default, this is a "public page" (does not require authentication).
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function pageResendVerification(Request $request, Response $response, $args) {
- // Load validation rules
- $schema = new RequestSchema('schema://requests/resend-verification.yaml');
- $validator = new JqueryValidationAdapter($schema, $this->ci->translator);
-
- return $this->ci->view->render($response, 'pages/resend-verification.html.twig', [
- 'page' => [
- 'validators' => [
- 'resend_verification' => $validator->rules('json', FALSE)
- ]
- ]
- ]);
- }
-
- /**
- * Reset password page.
- *
- * Renders the new password page for password reset requests.
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function pageResetPassword(Request $request, Response $response, $args) {
- // Insert the user's secret token from the link into the password reset form
- $params = $request->getQueryParams();
-
- // Load validation rules - note this uses the same schema as "set password"
- $schema = new RequestSchema('schema://requests/set-password.yaml');
- $validator = new JqueryValidationAdapter($schema, $this->ci->translator);
-
- return $this->ci->view->render($response, 'pages/reset-password.html.twig', [
- 'page' => [
- 'validators' => [
- 'set_password' => $validator->rules('json', FALSE)
- ]
- ],
- 'token' => isset($params['token']) ? $params['token'] : '',
- ]);
- }
-
- /**
- * Render the "set password" page.
- *
- * Renders the page where new users who have had accounts created for them by another user, can set their password.
- * By default, this is a "public page" (does not require authentication).
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function pageSetPassword(Request $request, Response $response, $args) {
- // Insert the user's secret token from the link into the password set form
- $params = $request->getQueryParams();
-
- // Load validation rules
- $schema = new RequestSchema('schema://requests/set-password.yaml');
- $validator = new JqueryValidationAdapter($schema, $this->ci->translator);
-
- return $this->ci->view->render($response, 'pages/set-password.html.twig', [
- 'page' => [
- 'validators' => [
- 'set_password' => $validator->rules('json', FALSE)
- ]
- ],
- 'token' => isset($params['token']) ? $params['token'] : '',
- ]);
- }
-
- /**
- * Account settings page.
- *
- * Provides a form for users to modify various properties of their account, such as name, email, locale, etc.
- * Any fields that the user does not have permission to modify will be automatically disabled.
- * This page requires authentication.
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function pageSettings(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Account\Authorize\AuthorizationManager */
- $authorizer = $this->ci->authorizer;
-
- /** @var \UserFrosting\Sprinkle\Account\Database\Models\User $currentUser */
- $currentUser = $this->ci->currentUser;
-
- // Access-controlled page
- if (!$authorizer->checkAccess($currentUser, 'uri_account_settings')) {
- throw new ForbiddenException();
- }
-
- // Load validation rules
- $schema = new RequestSchema('schema://requests/account-settings.yaml');
- $validatorAccountSettings = new JqueryValidationAdapter($schema, $this->ci->translator);
-
- $schema = new RequestSchema('schema://requests/profile-settings.yaml');
- $validatorProfileSettings = new JqueryValidationAdapter($schema, $this->ci->translator);
-
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- // Get a list of all locales
- $locales = $config->getDefined('site.locales.available');
-
- return $this->ci->view->render($response, 'pages/account-settings.html.twig', [
- 'locales' => $locales,
- 'page' => [
- 'validators' => [
- 'account_settings' => $validatorAccountSettings->rules('json', FALSE),
- 'profile_settings' => $validatorProfileSettings->rules('json', FALSE)
- ],
- 'visibility' => ($authorizer->checkAccess($currentUser, 'update_account_settings') ? '' : 'disabled')
- ]
- ]);
- }
-
- /**
- * Render the account sign-in page for UserFrosting.
- *
- * This allows existing users to sign in.
- * By definition, this is a "public page" (does not require authentication).
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function pageSignIn(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- /** @var \UserFrosting\Sprinkle\Account\Authenticate\Authenticator $authenticator */
- $authenticator = $this->ci->authenticator;
-
- // Redirect if user is already logged in
- if ($authenticator->check()) {
- $redirect = $this->ci->get('redirect.onAlreadyLoggedIn');
-
- return $redirect($request, $response, $args);
- }
-
- // Load validation rules
- $schema = new RequestSchema('schema://requests/login.yaml');
- $validatorLogin = new JqueryValidationAdapter($schema, $this->ci->translator);
-
- return $this->ci->view->render($response, 'pages/sign-in.html.twig', [
- 'page' => [
- 'validators' => [
- 'login' => $validatorLogin->rules('json', FALSE)
- ]
- ]
- ]);
- }
-
- /**
- * Processes a request to update a user's profile information.
- *
- * Processes the request from the user profile settings form, checking that:
- * 1. They have the necessary permissions to update the posted field(s);
- * 2. The submitted data is valid.
- * This route requires authentication.
- * Request type: POST
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function profile(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Account\Authorize\AuthorizationManager */
- $authorizer = $this->ci->authorizer;
-
- /** @var \UserFrosting\Sprinkle\Account\Database\Models\User $currentUser */
- $currentUser = $this->ci->currentUser;
-
- // Access control for entire resource - check that the current user has permission to modify themselves
- // See recipe "per-field access control" for dynamic fine-grained control over which properties a user can modify.
- if (!$authorizer->checkAccess($currentUser, 'update_account_settings')) {
- $ms->addMessageTranslated('danger', 'ACCOUNT.ACCESS_DENIED');
- return $response->withStatus(403);
- }
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- // POST parameters
- $params = $request->getParsedBody();
-
- // Load the request schema
- $schema = new RequestSchema('schema://requests/profile-settings.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- $error = FALSE;
-
- // Validate, and halt on validation errors.
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- $ms->addValidationErrors($validator);
- $error = TRUE;
- }
-
- // Check that locale is valid
- $locales = $config->getDefined('site.locales.available');
- if (!array_key_exists($data['locale'], $locales)) {
- $ms->addMessageTranslated('danger', 'LOCALE.INVALID', $data);
- $error = TRUE;
- }
-
- if ($error) {
- return $response->withStatus(400);
- }
-
- // Looks good, let's update with new values!
- // Note that only fields listed in `profile-settings.yaml` will be permitted in $data, so this prevents the user from updating all columns in the DB
- $currentUser->fill($data);
-
- $currentUser->save();
-
- // Create activity record
- $this->ci->userActivityLogger->info("User {$currentUser->user_name} updated their profile settings.", [
- 'type' => 'update_profile_settings'
- ]);
-
- $ms->addMessageTranslated('success', 'PROFILE.UPDATED');
- return $response->withStatus(200);
- }
-
- /**
- * Processes an new account registration request.
- *
- * This is throttled to prevent account enumeration, since it needs to divulge when a username/email has been used.
- * Processes the request from the form on the registration page, checking that:
- * 1. The honeypot was not modified;
- * 2. The master account has already been created (during installation);
- * 3. Account registration is enabled;
- * 4. The user is not already logged in;
- * 5. Valid information was entered;
- * 6. The captcha, if enabled, is correct;
- * 7. The username and email are not already taken.
- * Automatically sends an activation link upon success, if account activation is enabled.
- * This route is "public access".
- * Request type: POST
- * Returns the User Object for the user record that was created.
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function register(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- // Get POST parameters: user_name, first_name, last_name, email, password, passwordc, captcha, spiderbro, csrf_token
- $params = $request->getParsedBody();
-
- // Check the honeypot. 'spiderbro' is not a real field, it is hidden on the main page and must be submitted with its default value for this to be processed.
- if (!isset($params['spiderbro']) || $params['spiderbro'] != 'http://') {
- throw new SpammyRequestException('Possible spam received:' . print_r($params, TRUE));
- }
-
- // Security measure: do not allow registering new users until the master account has been created.
- if (!$classMapper->staticMethod('user', 'find', $config['reserved_user_ids.master'])) {
- $ms->addMessageTranslated('danger', 'ACCOUNT.MASTER_NOT_EXISTS');
- return $response->withStatus(403);
- }
-
- // Check if registration is currently enabled
- if (!$config['site.registration.enabled']) {
- $ms->addMessageTranslated('danger', 'REGISTRATION.DISABLED');
- return $response->withStatus(403);
- }
-
- /** @var \UserFrosting\Sprinkle\Account\Authenticate\Authenticator $authenticator */
- $authenticator = $this->ci->authenticator;
-
- // Prevent the user from registering if he/she is already logged in
- if ($authenticator->check()) {
- $ms->addMessageTranslated('danger', 'REGISTRATION.LOGOUT');
- return $response->withStatus(403);
- }
-
- // Load the request schema
- $schema = new RequestSchema('schema://requests/register.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- $error = FALSE;
-
- // Validate request data
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- $ms->addValidationErrors($validator);
- $error = TRUE;
- }
-
- /** @var \UserFrosting\Sprinkle\Core\Throttle\Throttler $throttler */
- $throttler = $this->ci->throttler;
- $delay = $throttler->getDelay('registration_attempt');
-
- // Throttle requests
- if ($delay > 0) {
- return $response->withStatus(429);
- }
-
- // Check if username or email already exists
- if ($classMapper->staticMethod('user', 'findUnique', $data['user_name'], 'user_name')) {
- $ms->addMessageTranslated('danger', 'USERNAME.IN_USE', $data);
- $error = TRUE;
- }
-
- if ($classMapper->staticMethod('user', 'findUnique', $data['email'], 'email')) {
- $ms->addMessageTranslated('danger', 'EMAIL.IN_USE', $data);
- $error = TRUE;
- }
-
- // Check captcha, if required
- if ($config['site.registration.captcha']) {
- $captcha = new Captcha($this->ci->session, $this->ci->config['session.keys.captcha']);
- if (!$data['captcha'] || !$captcha->verifyCode($data['captcha'])) {
- $ms->addMessageTranslated('danger', 'CAPTCHA.FAIL');
- $error = TRUE;
- }
- }
-
- if ($error) {
- return $response->withStatus(400);
- }
-
- // Remove captcha, password confirmation from object data after validation
- unset($data['captcha']);
- unset($data['passwordc']);
-
- if ($config['site.registration.require_email_verification']) {
- $data['flag_verified'] = FALSE;
- } else {
- $data['flag_verified'] = TRUE;
- }
-
- // Load default group
- $groupSlug = $config['site.registration.user_defaults.group'];
- $defaultGroup = $classMapper->staticMethod('group', 'where', 'slug', $groupSlug)->first();
-
- if (!$defaultGroup) {
- $e = new HttpException("Account registration is not working because the default group '$groupSlug' does not exist.");
- $e->addUserMessage('REGISTRATION.BROKEN');
- throw $e;
- }
-
- // Set default group
- $data['group_id'] = $defaultGroup->id;
-
- // Set default locale
- $data['locale'] = $config['site.registration.user_defaults.locale'];
-
- // Hash password
- $data['password'] = Password::hash($data['password']);
-
- // All checks passed! log events/activities, create user, and send verification email (if required)
- // Begin transaction - DB will be rolled back if an exception occurs
- Capsule::transaction(function () use ($classMapper, $data, $ms, $config, $throttler) {
- // Log throttleable event
- $throttler->logEvent('registration_attempt');
-
- // Create the user
- $user = $classMapper->createInstance('user', $data);
-
- // Store new user to database
- $user->save();
-
- // Create activity record
- $this->ci->userActivityLogger->info("User {$user->user_name} registered for a new account.", [
- 'type' => 'sign_up',
- 'user_id' => $user->id
- ]);
-
- // Load default roles
- $defaultRoleSlugs = $classMapper->staticMethod('role', 'getDefaultSlugs');
- $defaultRoles = $classMapper->staticMethod('role', 'whereIn', 'slug', $defaultRoleSlugs)->get();
- $defaultRoleIds = $defaultRoles->pluck('id')->all();
-
- // Attach default roles
- $user->roles()->attach($defaultRoleIds);
-
- // Verification email
- if ($config['site.registration.require_email_verification']) {
- // Try to generate a new verification request
- $verification = $this->ci->repoVerification->create($user, $config['verification.timeout']);
-
- // Create and send verification email
- $message = new TwigMailMessage($this->ci->view, 'mail/verify-account.html.twig');
-
- $message->from($config['address_book.admin'])
- ->addEmailRecipient(new EmailRecipient($user->email, $user->full_name))
- ->addParams([
- 'user' => $user,
- 'token' => $verification->getToken()
- ]);
-
- $this->ci->mailer->send($message);
-
- $ms->addMessageTranslated('success', 'REGISTRATION.COMPLETE_TYPE2', $user->toArray());
- } else {
- // No verification required
- $ms->addMessageTranslated('success', 'REGISTRATION.COMPLETE_TYPE1');
- }
- });
-
- return $response->withStatus(200);
- }
-
- /**
- * Processes a request to resend the verification email for a new user account.
- *
- * Processes the request from the resend verification email form, checking that:
- * 1. The rate limit on this type of request is observed;
- * 2. The provided email is associated with an existing user account;
- * 3. The user account is not already verified;
- * 4. The submitted data is valid.
- * This route is "public access".
- * Request type: POST
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function resendVerification(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- // Get POST parameters
- $params = $request->getParsedBody();
-
- // Load the request schema
- $schema = new RequestSchema('schema://requests/resend-verification.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- // Validate, and halt on validation errors. Failed validation attempts do not count towards throttling limit.
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- $ms->addValidationErrors($validator);
- return $response->withStatus(400);
- }
-
- // Throttle requests
-
- /** @var \UserFrosting\Sprinkle\Core\Throttle\Throttler $throttler */
- $throttler = $this->ci->throttler;
-
- $throttleData = [
- 'email' => $data['email']
- ];
- $delay = $throttler->getDelay('verification_request', $throttleData);
-
- if ($delay > 0) {
- $ms->addMessageTranslated('danger', 'RATE_LIMIT_EXCEEDED', ['delay' => $delay]);
- return $response->withStatus(429);
- }
-
- // All checks passed! log events/activities, create user, and send verification email (if required)
- // Begin transaction - DB will be rolled back if an exception occurs
- Capsule::transaction(function () use ($classMapper, $data, $throttler, $throttleData, $config) {
- // Log throttleable event
- $throttler->logEvent('verification_request', $throttleData);
-
- // Load the user, by email address
- $user = $classMapper->staticMethod('user', 'where', 'email', $data['email'])->first();
-
- // Check that the user exists and is not already verified.
- // If there is no user with that email address, or the user exists and is already verified,
- // we pretend like we succeeded to prevent account enumeration
- if ($user && $user->flag_verified != '1') {
- // We're good to go - record user activity and send the email
- $verification = $this->ci->repoVerification->create($user, $config['verification.timeout']);
-
- // Create and send verification email
- $message = new TwigMailMessage($this->ci->view, 'mail/resend-verification.html.twig');
-
- $message->from($config['address_book.admin'])
- ->addEmailRecipient(new EmailRecipient($user->email, $user->full_name))
- ->addParams([
- 'user' => $user,
- 'token' => $verification->getToken()
- ]);
-
- $this->ci->mailer->send($message);
- }
- });
-
- $ms->addMessageTranslated('success', 'ACCOUNT.VERIFICATION.NEW_LINK_SENT', ['email' => $data['email']]);
- return $response->withStatus(200);
- }
-
- /**
- * Processes a request to set the password for a new or current user.
- *
- * Processes the request from the password create/reset form, which should have the secret token embedded in it, checking that:
- * 1. The provided secret token is associated with an existing user account;
- * 2. The user has a password set/reset request in progress;
- * 3. The token has not expired;
- * 4. The submitted data (new password) is valid.
- * This route is "public access".
- * Request type: POST
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function setPassword(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- // Get POST parameters
- $params = $request->getParsedBody();
-
- // Load the request schema
- $schema = new RequestSchema('schema://requests/set-password.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- // Validate, and halt on validation errors. Failed validation attempts do not count towards throttling limit.
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- $ms->addValidationErrors($validator);
- return $response->withStatus(400);
- }
-
- $forgotPasswordPage = $this->ci->router->pathFor('forgot-password');
-
- // Ok, try to complete the request with the specified token and new password
- $passwordReset = $this->ci->repoPasswordReset->complete($data['token'], [
- 'password' => $data['password']
- ]);
-
- if (!$passwordReset) {
- $ms->addMessageTranslated('danger', 'PASSWORD.FORGET.INVALID', ['url' => $forgotPasswordPage]);
- return $response->withStatus(400);
- }
-
- $ms->addMessageTranslated('success', 'PASSWORD.UPDATED');
-
- /** @var \UserFrosting\Sprinkle\Account\Authenticate\Authenticator $authenticator */
- $authenticator = $this->ci->authenticator;
-
- // Log out any existing user, and create a new session
- if ($authenticator->check()) {
- $authenticator->logout();
- }
-
- // Auto-login the user (without "remember me")
- $user = $passwordReset->user;
- $authenticator->login($user);
-
- $ms->addMessageTranslated('success', 'WELCOME', $user->export());
- return $response->withStatus(200);
- }
-
- /**
- * Processes a request to update a user's account information.
- *
- * Processes the request from the user account settings form, checking that:
- * 1. The user correctly input their current password;
- * 2. They have the necessary permissions to update the posted field(s);
- * 3. The submitted data is valid.
- * This route requires authentication.
- * Request type: POST
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function settings(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Account\Authorize\AuthorizationManager */
- $authorizer = $this->ci->authorizer;
-
- /** @var \UserFrosting\Sprinkle\Account\Database\Models\User $currentUser */
- $currentUser = $this->ci->currentUser;
-
- // Access control for entire resource - check that the current user has permission to modify themselves
- // See recipe "per-field access control" for dynamic fine-grained control over which properties a user can modify.
- if (!$authorizer->checkAccess($currentUser, 'update_account_settings')) {
- $ms->addMessageTranslated('danger', 'ACCOUNT.ACCESS_DENIED');
- return $response->withStatus(403);
- }
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- // POST parameters
- $params = $request->getParsedBody();
-
- // Load the request schema
- $schema = new RequestSchema('schema://requests/account-settings.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- $error = FALSE;
-
- // Validate, and halt on validation errors.
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- $ms->addValidationErrors($validator);
- $error = TRUE;
- }
-
- // Confirm current password
- if (!isset($data['passwordcheck']) || !Password::verify($data['passwordcheck'], $currentUser->password)) {
- $ms->addMessageTranslated('danger', 'PASSWORD.INVALID');
- $error = TRUE;
- }
-
- // Remove password check, password confirmation from object data after validation
- unset($data['passwordcheck']);
- unset($data['passwordc']);
-
- // If new email was submitted, check that the email address is not in use
- if (isset($data['email']) && $data['email'] != $currentUser->email && $classMapper->staticMethod('user', 'findUnique', $data['email'], 'email')) {
- $ms->addMessageTranslated('danger', 'EMAIL.IN_USE', $data);
- $error = TRUE;
- }
-
- if ($error) {
- return $response->withStatus(400);
- }
-
- // Hash new password, if specified
- if (isset($data['password']) && !empty($data['password'])) {
- $data['password'] = Password::hash($data['password']);
- } else {
- // Do not pass to model if no password is specified
- unset($data['password']);
- }
-
- // Looks good, let's update with new values!
- // Note that only fields listed in `account-settings.yaml` will be permitted in $data, so this prevents the user from updating all columns in the DB
- $currentUser->fill($data);
-
- $currentUser->save();
-
- // Create activity record
- $this->ci->userActivityLogger->info("User {$currentUser->user_name} updated their account settings.", [
- 'type' => 'update_account_settings'
- ]);
-
- $ms->addMessageTranslated('success', 'ACCOUNT.SETTINGS.UPDATED');
- return $response->withStatus(200);
- }
-
- /**
- * Suggest an available username for a specified first/last name.
- *
- * This route is "public access".
- * Request type: GET
- * @odo Can this route be abused for account enumeration? If so we should throttle it as well.
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function suggestUsername(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- $suggestion = AccountUtil::randomUniqueUsername($classMapper, 50, 10);
-
- // Be careful how you consume this data - it has not been escaped and contains untrusted user-supplied content.
- // For example, if you plan to insert it into an HTML DOM, you must escape it on the client side (or use client-side templating).
- return $response->withJson([
- 'user_name' => $suggestion
- ], 200, JSON_PRETTY_PRINT);
- }
-
- /**
- * Processes an new email verification request.
- *
- * Processes the request from the email verification link that was emailed to the user, checking that:
- * 1. The token provided matches a user in the database;
- * 2. The user account is not already verified;
- * This route is "public access".
- * Request type: GET
- *
- * @param Request $request
- * @param Response $response
- * @param array $args
- * @return void
- */
- public function verify(Request $request, Response $response, $args) {
- /** @var \UserFrosting\Sprinkle\Core\Alert\AlertStream $ms */
- $ms = $this->ci->alerts;
-
- /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = $this->ci->classMapper;
-
- /** @var \UserFrosting\Support\Repository\Repository $config */
- $config = $this->ci->config;
-
- $loginPage = $this->ci->router->pathFor('login');
-
- // GET parameters
- $params = $request->getQueryParams();
-
- // Load request schema
- $schema = new RequestSchema('schema://requests/account-verify.yaml');
-
- // Whitelist and set parameter defaults
- $transformer = new RequestDataTransformer($schema);
- $data = $transformer->transform($params);
-
- // Validate, and halt on validation errors. This is a GET request, so we redirect on validation error.
- $validator = new ServerSideValidator($schema, $this->ci->translator);
- if (!$validator->validate($data)) {
- $ms->addValidationErrors($validator);
- // 400 code + redirect is perfectly fine, according to user Dilaz in #laravel
- return $response->withRedirect($loginPage, 400);
- }
-
- $verification = $this->ci->repoVerification->complete($data['token']);
-
- if (!$verification) {
- $ms->addMessageTranslated('danger', 'ACCOUNT.VERIFICATION.TOKEN_NOT_FOUND');
- return $response->withRedirect($loginPage, 400);
- }
-
- $ms->addMessageTranslated('success', 'ACCOUNT.VERIFICATION.COMPLETE');
-
- // Forward to login page
- return $response->withRedirect($loginPage);
- }
-}
diff --git a/main/app/sprinkles/account/src/Controller/Exception/SpammyRequestException.php b/main/app/sprinkles/account/src/Controller/Exception/SpammyRequestException.php
deleted file mode 100644
index 1f0cf4a..0000000
--- a/main/app/sprinkles/account/src/Controller/Exception/SpammyRequestException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-schema->hasTable('activities')) {
- $this->schema->create('activities', function (Blueprint $table) {
- $table->increments('id');
- $table->string('ip_address', 45)->nullable();
- $table->integer('user_id')->unsigned();
- $table->string('type', 255)->comment('An identifier used to track the type of activity.');
- $table->timestamp('occurred_at')->nullable();
- $table->text('description')->nullable();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- //$table->foreign('user_id')->references('id')->on('users');
- $table->index('user_id');
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('activities');
- }
-}
\ No newline at end of file
diff --git a/main/app/sprinkles/account/src/Database/Migrations/v400/GroupsTable.php b/main/app/sprinkles/account/src/Database/Migrations/v400/GroupsTable.php
deleted file mode 100644
index d8498f4..0000000
--- a/main/app/sprinkles/account/src/Database/Migrations/v400/GroupsTable.php
+++ /dev/null
@@ -1,81 +0,0 @@
-schema->hasTable('groups')) {
- $this->schema->create('groups', function (Blueprint $table) {
- $table->increments('id');
- $table->string('slug');
- $table->string('name');
- $table->text('description')->nullable();
- $table->string('icon', 100)->nullable(FALSE)->default('fa fa-user')->comment('The icon representing users in this group.');
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- $table->unique('slug');
- $table->index('slug');
- });
-
- // Add default groups
- $groups = [
- 'terran' => new Group([
- 'slug' => 'terran',
- 'name' => 'Terran',
- 'description' => 'The terrans are a young species with psionic potential. The terrans of the Koprulu sector descend from the survivors of a disastrous 23rd century colonization mission from Earth.',
- 'icon' => 'sc sc-terran'
- ]),
- 'zerg' => new Group([
- 'slug' => 'zerg',
- 'name' => 'Zerg',
- 'description' => 'Dedicated to the pursuit of genetic perfection, the zerg relentlessly hunt down and assimilate advanced species across the galaxy, incorporating useful genetic code into their own.',
- 'icon' => 'sc sc-zerg'
- ]),
- 'protoss' => new Group([
- 'slug' => 'protoss',
- 'name' => 'Protoss',
- 'description' => 'The protoss, a.k.a. the Firstborn, are a sapient humanoid race native to Aiur. Their advanced technology complements and enhances their psionic mastery.',
- 'icon' => 'sc sc-protoss'
- ])
- ];
-
- foreach ($groups as $slug => $group) {
- $group->save();
- }
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('groups');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Migrations/v400/PasswordResetsTable.php b/main/app/sprinkles/account/src/Database/Migrations/v400/PasswordResetsTable.php
deleted file mode 100644
index 932ab47..0000000
--- a/main/app/sprinkles/account/src/Database/Migrations/v400/PasswordResetsTable.php
+++ /dev/null
@@ -1,56 +0,0 @@
-schema->hasTable('password_resets')) {
- $this->schema->create('password_resets', function (Blueprint $table) {
- $table->increments('id');
- $table->integer('user_id')->unsigned();
- $table->string('hash');
- $table->boolean('completed')->default(0);
- $table->timestamp('expires_at')->nullable();
- $table->timestamp('completed_at')->nullable();
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- //$table->foreign('user_id')->references('id')->on('users');
- $table->index('user_id');
- $table->index('hash');
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('password_resets');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Migrations/v400/PermissionRolesTable.php b/main/app/sprinkles/account/src/Database/Migrations/v400/PermissionRolesTable.php
deleted file mode 100644
index dca6639..0000000
--- a/main/app/sprinkles/account/src/Database/Migrations/v400/PermissionRolesTable.php
+++ /dev/null
@@ -1,54 +0,0 @@
-schema->hasTable('permission_roles')) {
- $this->schema->create('permission_roles', function (Blueprint $table) {
- $table->integer('permission_id')->unsigned();
- $table->integer('role_id')->unsigned();
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- $table->primary(['permission_id', 'role_id']);
- //$table->foreign('permission_id')->references('id')->on('permissions');
- //$table->foreign('role_id')->references('id')->on('roles');
- $table->index('permission_id');
- $table->index('role_id');
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('permission_roles');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Migrations/v400/PermissionsTable.php b/main/app/sprinkles/account/src/Database/Migrations/v400/PermissionsTable.php
deleted file mode 100644
index efc014b..0000000
--- a/main/app/sprinkles/account/src/Database/Migrations/v400/PermissionsTable.php
+++ /dev/null
@@ -1,260 +0,0 @@
-schema->hasTable('permissions')) {
- $this->schema->create('permissions', function (Blueprint $table) {
- $table->increments('id');
- $table->string('slug')->comment('A code that references a specific action or URI that an assignee of this permission has access to.');
- $table->string('name');
- $table->text('conditions')->comment('The conditions under which members of this group have access to this hook.');
- $table->text('description')->nullable();
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('permissions');
- }
-
- /**
- * {@inheritDoc}
- */
- public function seed() {
- // Skip this if table is not empty
- if (Permission::count() == 0) {
-
- $defaultRoleIds = [
- 'user' => Role::where('slug', 'user')->first()->id,
- 'group-admin' => Role::where('slug', 'group-admin')->first()->id,
- 'site-admin' => Role::where('slug', 'site-admin')->first()->id
- ];
-
- // Add default permissions
- $permissions = [
- 'create_group' => new Permission([
- 'slug' => 'create_group',
- 'name' => 'Create group',
- 'conditions' => 'always()',
- 'description' => 'Create a new group.'
- ]),
- 'create_user' => new Permission([
- 'slug' => 'create_user',
- 'name' => 'Create user',
- 'conditions' => 'always()',
- 'description' => 'Create a new user in your own group and assign default roles.'
- ]),
- 'create_user_field' => new Permission([
- 'slug' => 'create_user_field',
- 'name' => 'Set new user group',
- 'conditions' => "subset(fields,['group'])",
- 'description' => 'Set the group when creating a new user.'
- ]),
- 'delete_group' => new Permission([
- 'slug' => 'delete_group',
- 'name' => 'Delete group',
- 'conditions' => "always()",
- 'description' => 'Delete a group.'
- ]),
- 'delete_user' => new Permission([
- 'slug' => 'delete_user',
- 'name' => 'Delete user',
- 'conditions' => "!has_role(user.id,{$defaultRoleIds['site-admin']}) && !is_master(user.id)",
- 'description' => 'Delete users who are not Site Administrators.'
- ]),
- 'update_account_settings' => new Permission([
- 'slug' => 'update_account_settings',
- 'name' => 'Edit user',
- 'conditions' => 'always()',
- 'description' => 'Edit your own account settings.'
- ]),
- 'update_group_field' => new Permission([
- 'slug' => 'update_group_field',
- 'name' => 'Edit group',
- 'conditions' => 'always()',
- 'description' => 'Edit basic properties of any group.'
- ]),
- 'update_user_field' => new Permission([
- 'slug' => 'update_user_field',
- 'name' => 'Edit user',
- 'conditions' => "!has_role(user.id,{$defaultRoleIds['site-admin']}) && subset(fields,['name','email','locale','group','flag_enabled','flag_verified','password'])",
- 'description' => 'Edit users who are not Site Administrators.'
- ]),
- 'update_user_field_group' => new Permission([
- 'slug' => 'update_user_field',
- 'name' => 'Edit group user',
- 'conditions' => "equals_num(self.group_id,user.group_id) && !is_master(user.id) && !has_role(user.id,{$defaultRoleIds['site-admin']}) && (!has_role(user.id,{$defaultRoleIds['group-admin']}) || equals_num(self.id,user.id)) && subset(fields,['name','email','locale','flag_enabled','flag_verified','password'])",
- 'description' => 'Edit users in your own group who are not Site or Group Administrators, except yourself.'
- ]),
- 'uri_account_settings' => new Permission([
- 'slug' => 'uri_account_settings',
- 'name' => 'Account settings page',
- 'conditions' => 'always()',
- 'description' => 'View the account settings page.'
- ]),
- 'uri_activities' => new Permission([
- 'slug' => 'uri_activities',
- 'name' => 'Activity monitor',
- 'conditions' => 'always()',
- 'description' => 'View a list of all activities for all users.'
- ]),
- 'uri_dashboard' => new Permission([
- 'slug' => 'uri_dashboard',
- 'name' => 'Admin dashboard',
- 'conditions' => 'always()',
- 'description' => 'View the administrative dashboard.'
- ]),
- 'uri_group' => new Permission([
- 'slug' => 'uri_group',
- 'name' => 'View group',
- 'conditions' => 'always()',
- 'description' => 'View the group page of any group.'
- ]),
- 'uri_group_own' => new Permission([
- 'slug' => 'uri_group',
- 'name' => 'View own group',
- 'conditions' => 'equals_num(self.group_id,group.id)',
- 'description' => 'View the group page of your own group.'
- ]),
- 'uri_groups' => new Permission([
- 'slug' => 'uri_groups',
- 'name' => 'Group management page',
- 'conditions' => 'always()',
- 'description' => 'View a page containing a list of groups.'
- ]),
- 'uri_user' => new Permission([
- 'slug' => 'uri_user',
- 'name' => 'View user',
- 'conditions' => 'always()',
- 'description' => 'View the user page of any user.'
- ]),
- 'uri_user_in_group' => new Permission([
- 'slug' => 'uri_user',
- 'name' => 'View user',
- 'conditions' => "equals_num(self.group_id,user.group_id) && !is_master(user.id) && !has_role(user.id,{$defaultRoleIds['site-admin']}) && (!has_role(user.id,{$defaultRoleIds['group-admin']}) || equals_num(self.id,user.id))",
- 'description' => 'View the user page of any user in your group, except the master user and Site and Group Administrators (except yourself).'
- ]),
- 'uri_users' => new Permission([
- 'slug' => 'uri_users',
- 'name' => 'User management page',
- 'conditions' => 'always()',
- 'description' => 'View a page containing a table of users.'
- ]),
- 'view_group_field' => new Permission([
- 'slug' => 'view_group_field',
- 'name' => 'View group',
- 'conditions' => "in(property,['name','icon','slug','description','users'])",
- 'description' => 'View certain properties of any group.'
- ]),
- 'view_group_field_own' => new Permission([
- 'slug' => 'view_group_field',
- 'name' => 'View group',
- 'conditions' => "equals_num(self.group_id,group.id) && in(property,['name','icon','slug','description','users'])",
- 'description' => 'View certain properties of your own group.'
- ]),
- 'view_user_field' => new Permission([
- 'slug' => 'view_user_field',
- 'name' => 'View user',
- 'conditions' => "in(property,['user_name','name','email','locale','theme','roles','group','activities'])",
- 'description' => 'View certain properties of any user.'
- ]),
- 'view_user_field_group' => new Permission([
- 'slug' => 'view_user_field',
- 'name' => 'View user',
- 'conditions' => "equals_num(self.group_id,user.group_id) && !is_master(user.id) && !has_role(user.id,{$defaultRoleIds['site-admin']}) && (!has_role(user.id,{$defaultRoleIds['group-admin']}) || equals_num(self.id,user.id)) && in(property,['user_name','name','email','locale','roles','group','activities'])",
- 'description' => 'View certain properties of any user in your own group, except the master user and Site and Group Administrators (except yourself).'
- ])
- ];
-
- foreach ($permissions as $slug => $permission) {
- $permission->save();
- }
-
- // Add default mappings to permissions
- $roleUser = Role::where('slug', 'user')->first();
- if ($roleUser) {
- $roleUser->permissions()->sync([
- $permissions['update_account_settings']->id,
- $permissions['uri_account_settings']->id,
- $permissions['uri_dashboard']->id
- ]);
- }
-
- $roleSiteAdmin = Role::where('slug', 'site-admin')->first();
- if ($roleSiteAdmin) {
- $roleSiteAdmin->permissions()->sync([
- $permissions['create_group']->id,
- $permissions['create_user']->id,
- $permissions['create_user_field']->id,
- $permissions['delete_group']->id,
- $permissions['delete_user']->id,
- $permissions['update_user_field']->id,
- $permissions['update_group_field']->id,
- $permissions['uri_activities']->id,
- $permissions['uri_group']->id,
- $permissions['uri_groups']->id,
- $permissions['uri_user']->id,
- $permissions['uri_users']->id,
- $permissions['view_group_field']->id,
- $permissions['view_user_field']->id
- ]);
- }
-
- $roleGroupAdmin = Role::where('slug', 'group-admin')->first();
- if ($roleGroupAdmin) {
- $roleGroupAdmin->permissions()->sync([
- $permissions['create_user']->id,
- $permissions['update_user_field_group']->id,
- $permissions['uri_group_own']->id,
- $permissions['uri_user_in_group']->id,
- $permissions['view_group_field_own']->id,
- $permissions['view_user_field_group']->id
- ]);
- }
- }
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Migrations/v400/PersistencesTable.php b/main/app/sprinkles/account/src/Database/Migrations/v400/PersistencesTable.php
deleted file mode 100644
index c51461a..0000000
--- a/main/app/sprinkles/account/src/Database/Migrations/v400/PersistencesTable.php
+++ /dev/null
@@ -1,56 +0,0 @@
-schema->hasTable('persistences')) {
- $this->schema->create('persistences', function (Blueprint $table) {
- $table->increments('id');
- $table->integer('user_id')->unsigned();
- $table->string('token', 40);
- $table->string('persistent_token', 40);
- $table->timestamp('expires_at')->nullable();
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- //$table->foreign('user_id')->references('id')->on('users');
- $table->index('user_id');
- $table->index('token');
- $table->index('persistent_token');
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('persistences');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Migrations/v400/RoleUsersTable.php b/main/app/sprinkles/account/src/Database/Migrations/v400/RoleUsersTable.php
deleted file mode 100644
index 0820a02..0000000
--- a/main/app/sprinkles/account/src/Database/Migrations/v400/RoleUsersTable.php
+++ /dev/null
@@ -1,54 +0,0 @@
-schema->hasTable('role_users')) {
- $this->schema->create('role_users', function (Blueprint $table) {
- $table->integer('user_id')->unsigned();
- $table->integer('role_id')->unsigned();
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- $table->primary(['user_id', 'role_id']);
- //$table->foreign('user_id')->references('id')->on('users');
- //$table->foreign('role_id')->references('id')->on('roles');
- $table->index('user_id');
- $table->index('role_id');
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('role_users');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Migrations/v400/RolesTable.php b/main/app/sprinkles/account/src/Database/Migrations/v400/RolesTable.php
deleted file mode 100644
index 3a524e2..0000000
--- a/main/app/sprinkles/account/src/Database/Migrations/v400/RolesTable.php
+++ /dev/null
@@ -1,77 +0,0 @@
-schema->hasTable('roles')) {
- $this->schema->create('roles', function (Blueprint $table) {
- $table->increments('id');
- $table->string('slug');
- $table->string('name');
- $table->text('description')->nullable();
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- $table->unique('slug');
- $table->index('slug');
- });
-
- // Add default roles
- $roles = [
- 'user' => new Role([
- 'slug' => 'user',
- 'name' => 'User',
- 'description' => 'This role provides basic user functionality.'
- ]),
- 'site-admin' => new Role([
- 'slug' => 'site-admin',
- 'name' => 'Site Administrator',
- 'description' => 'This role is meant for "site administrators", who can basically do anything except create, edit, or delete other administrators.'
- ]),
- 'group-admin' => new Role([
- 'slug' => 'group-admin',
- 'name' => 'Group Administrator',
- 'description' => 'This role is meant for "group administrators", who can basically do anything with users in their own group, except other administrators of that group.'
- ])
- ];
-
- foreach ($roles as $slug => $role) {
- $role->save();
- }
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('roles');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Migrations/v400/UsersTable.php b/main/app/sprinkles/account/src/Database/Migrations/v400/UsersTable.php
deleted file mode 100644
index 694da5b..0000000
--- a/main/app/sprinkles/account/src/Database/Migrations/v400/UsersTable.php
+++ /dev/null
@@ -1,68 +0,0 @@
-schema->hasTable('users')) {
- $this->schema->create('users', function (Blueprint $table) {
- $table->increments('id');
- $table->string('user_name', 50);
- $table->string('email', 254);
- $table->string('first_name', 20);
- $table->string('last_name', 30);
- $table->string('locale', 10)->default('en_US')->comment('The language and locale to use for this user.');
- $table->string('theme', 100)->nullable()->comment("The user theme.");
- $table->integer('group_id')->unsigned()->default(1)->comment("The id of the user group.");
- $table->boolean('flag_verified')->default(1)->comment("Set to 1 if the user has verified their account via email, 0 otherwise.");
- $table->boolean('flag_enabled')->default(1)->comment("Set to 1 if the user account is currently enabled, 0 otherwise. Disabled accounts cannot be logged in to, but they retain all of their data and settings.");
- $table->integer('last_activity_id')->unsigned()->nullable()->comment("The id of the last activity performed by this user.");
- $table->string('password', 255);
- $table->softDeletes();
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- //$table->foreign('group_id')->references('id')->on('groups');
- //$table->foreign('last_activity_id')->references('id')->on('activities');
- $table->unique('user_name');
- $table->index('user_name');
- $table->unique('email');
- $table->index('email');
- $table->index('group_id');
- $table->index('last_activity_id');
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('users');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Migrations/v400/VerificationsTable.php b/main/app/sprinkles/account/src/Database/Migrations/v400/VerificationsTable.php
deleted file mode 100644
index 2c4d28f..0000000
--- a/main/app/sprinkles/account/src/Database/Migrations/v400/VerificationsTable.php
+++ /dev/null
@@ -1,56 +0,0 @@
-schema->hasTable('verifications')) {
- $this->schema->create('verifications', function (Blueprint $table) {
- $table->increments('id');
- $table->integer('user_id')->unsigned();
- $table->string('hash');
- $table->boolean('completed')->default(0);
- $table->timestamp('expires_at')->nullable();
- $table->timestamp('completed_at')->nullable();
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- //$table->foreign('user_id')->references('id')->on('users');
- $table->index('user_id');
- $table->index('hash');
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('verifications');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Models/Activity.php b/main/app/sprinkles/account/src/Database/Models/Activity.php
deleted file mode 100644
index 8f6cd18..0000000
--- a/main/app/sprinkles/account/src/Database/Models/Activity.php
+++ /dev/null
@@ -1,83 +0,0 @@
-select('activities.*');
-
- $query = $query->leftJoin('users', 'activities.user_id', '=', 'users.id');
-
- return $query;
- }
-
- /**
- * Add clauses to select the most recent event of each type for each user, to the query.
- *
- * @return \Illuminate\Database\Query\Builder
- */
- public function scopeMostRecentEvents($query) {
- return $query->select('user_id', 'event_type', Capsule::raw('MAX(occurred_at) as occurred_at'))
- ->groupBy('user_id')
- ->groupBy('type');
- }
-
- /**
- * Add clauses to select the most recent event of a given type for each user, to the query.
- *
- * @param string $type The type of event, matching the `event_type` field in the user_event table.
- * @return \Illuminate\Database\Query\Builder
- */
- public function scopeMostRecentEventsByType($query, $type) {
- return $query->select('user_id', Capsule::raw('MAX(occurred_at) as occurred_at'))
- ->where('type', $type)
- ->groupBy('user_id');
- }
-
- /**
- * Get the user associated with this activity.
- */
- public function user() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsTo($classMapper->getClassMapping('user'), 'user_id');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Models/Group.php b/main/app/sprinkles/account/src/Database/Models/Group.php
deleted file mode 100644
index abb0e36..0000000
--- a/main/app/sprinkles/account/src/Database/Models/Group.php
+++ /dev/null
@@ -1,68 +0,0 @@
-classMapper;
-
- return $this->hasMany($classMapper->getClassMapping('user'), 'group_id');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Models/PasswordReset.php b/main/app/sprinkles/account/src/Database/Models/PasswordReset.php
deleted file mode 100644
index 99b1920..0000000
--- a/main/app/sprinkles/account/src/Database/Models/PasswordReset.php
+++ /dev/null
@@ -1,74 +0,0 @@
-token;
- }
-
- /**
- * @param string $value
- */
- public function setToken($value) {
- $this->token = $value;
- return $this;
- }
-
- /**
- * Get the user associated with this reset request.
- */
- public function user() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsTo($classMapper->getClassMapping('user'), 'user_id');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Models/Permission.php b/main/app/sprinkles/account/src/Database/Models/Permission.php
deleted file mode 100644
index da4391f..0000000
--- a/main/app/sprinkles/account/src/Database/Models/Permission.php
+++ /dev/null
@@ -1,117 +0,0 @@
-roles()->detach();
-
- // Delete the permission
- $result = parent::delete();
-
- return $result;
- }
-
- /**
- * Get a list of roles to which this permission is assigned.
- *
- * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
- */
- public function roles() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsToMany($classMapper->getClassMapping('role'), 'permission_roles', 'permission_id', 'role_id')->withTimestamps();
- }
-
- /**
- * Query scope to get all permissions assigned to a specific role.
- *
- * @param \Illuminate\Database\Eloquent\Builder $query
- * @param int $roleId
- * @return \Illuminate\Database\Eloquent\Builder
- */
- public function scopeForRole($query, $roleId) {
- return $query->join('permission_roles', function ($join) use ($roleId) {
- $join->on('permission_roles.permission_id', 'permissions.id')
- ->where('role_id', $roleId);
- });
- }
-
- /**
- * Query scope to get all permissions NOT associated with a specific role.
- *
- * @param \Illuminate\Database\Eloquent\Builder $query
- * @param int $roleId
- * @return \Illuminate\Database\Eloquent\Builder
- */
- public function scopeNotForRole($query, $roleId) {
- return $query->join('permission_roles', function ($join) use ($roleId) {
- $join->on('permission_roles.permission_id', 'permissions.id')
- ->where('role_id', '!=', $roleId);
- });
- }
-
- /**
- * Get a list of users who have this permission, along with a list of roles through which each user has the permission.
- *
- * @return \UserFrosting\Sprinkle\Core\Database\Relations\BelongsToManyThrough
- */
- public function users() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsToManyThrough(
- $classMapper->getClassMapping('user'),
- $classMapper->getClassMapping('role'),
- 'permission_roles',
- 'permission_id',
- 'role_id',
- 'role_users',
- 'role_id',
- 'user_id'
- );
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Models/Role.php b/main/app/sprinkles/account/src/Database/Models/Role.php
deleted file mode 100644
index f8e40b3..0000000
--- a/main/app/sprinkles/account/src/Database/Models/Role.php
+++ /dev/null
@@ -1,101 +0,0 @@
-permissions()->detach();
-
- // Remove all user associations
- $this->users()->detach();
-
- // Delete the role
- $result = parent::delete();
-
- return $result;
- }
-
- /**
- * Get a list of default roles.
- */
- public static function getDefaultSlugs() {
- /** @var UserFrosting\Config $config */
- $config = static::$ci->config;
-
- return array_map('trim', array_keys($config['site.registration.user_defaults.roles'], TRUE));
- }
-
- /**
- * Get a list of permissions assigned to this role.
- */
- public function permissions() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsToMany($classMapper->getClassMapping('permission'), 'permission_roles', 'role_id', 'permission_id')->withTimestamps();
- }
-
- /**
- * Query scope to get all roles assigned to a specific user.
- *
- * @param \Illuminate\Database\Eloquent\Builder $query
- * @param int $userId
- * @return \Illuminate\Database\Eloquent\Builder
- */
- public function scopeForUser($query, $userId) {
- return $query->join('role_users', function ($join) use ($userId) {
- $join->on('role_users.role_id', 'roles.id')
- ->where('user_id', $userId);
- });
- }
-
- /**
- * Get a list of users who have this role.
- */
- public function users() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsToMany($classMapper->getClassMapping('user'), 'role_users', 'role_id', 'user_id');
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Models/User.php b/main/app/sprinkles/account/src/Database/Models/User.php
deleted file mode 100644
index cccd307..0000000
--- a/main/app/sprinkles/account/src/Database/Models/User.php
+++ /dev/null
@@ -1,469 +0,0 @@
-lastActivityTime('sign_in');
- } else if ($name == 'avatar') {
- // Use Gravatar as the user avatar
- $hash = md5(strtolower(trim($this->email)));
- return 'https://www.gravatar.com/avatar/' . $hash . '?d=mm';
- } else {
- return parent::__get($name);
- }
- }
-
- /**
- * Get all activities for this user.
- *
- * @return \Illuminate\Database\Eloquent\Relations\HasMany
- */
- public function activities() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->hasMany($classMapper->getClassMapping('activity'), 'user_id');
- }
-
- /**
- * Delete this user from the database, along with any linked roles and activities.
- *
- * @param bool $hardDelete Set to true to completely remove the user and all associated objects.
- * @return bool true if the deletion was successful, false otherwise.
- */
- public function delete($hardDelete = FALSE) {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- if ($hardDelete) {
- // Remove all role associations
- $this->roles()->detach();
-
- // Remove all user activities
- $classMapper->staticMethod('activity', 'where', 'user_id', $this->id)->delete();
-
- // Remove all user tokens
- $classMapper->staticMethod('password_reset', 'where', 'user_id', $this->id)->delete();
- $classMapper->staticMethod('verification', 'where', 'user_id', $this->id)->delete();
-
- // Delete the user
- $result = parent::forceDelete();
- } else {
- // Soft delete the user, leaving all associated records alone
- $result = parent::delete();
- }
-
- return $result;
- }
-
- /**
- * Determines whether a user exists, including checking soft-deleted records
- *
- * @deprecated since 4.1.7 This method conflicts with and overrides the Builder::exists() method. Use Model::findUnique instead.
- * @param mixed $value
- * @param string $identifier
- * @param bool $checkDeleted set to true to include soft-deleted records
- * @return User|null
- */
- public static function exists($value, $identifier = 'user_name', $checkDeleted = TRUE) {
- return static::findUnique($value, $identifier, $checkDeleted);
- }
-
- /**
- * Return a cache instance specific to that user
- *
- * @return \Illuminate\Contracts\Cache\Store
- */
- public function getCache() {
- return static::$ci->cache->tags('_u' . $this->id);
- }
-
- /**
- * Allows you to get the full name of the user using `$user->full_name`
- *
- * @return string
- */
- public function getFullNameAttribute() {
- return $this->first_name . ' ' . $this->last_name;
- }
-
- /**
- * Retrieve the cached permissions dictionary for this user.
- *
- * @return array
- */
- public function getCachedPermissions() {
- if (!isset($this->cachedPermissions)) {
- $this->reloadCachedPermissions();
- }
-
- return $this->cachedPermissions;
- }
-
- /**
- * Retrieve the cached permissions dictionary for this user.
- *
- * @return User
- */
- public function reloadCachedPermissions() {
- $this->cachedPermissions = $this->buildPermissionsDictionary();
-
- return $this;
- }
-
- /**
- * Get the amount of time, in seconds, that has elapsed since the last activity of a certain time for this user.
- *
- * @param string $type The type of activity to search for.
- * @return int
- */
- public function getSecondsSinceLastActivity($type) {
- $time = $this->lastActivityTime($type);
- $time = $time ? $time : '0000-00-00 00:00:00';
- $time = new Carbon($time);
-
- return $time->diffInSeconds();
- }
-
- /**
- * Return this user's group.
- *
- * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
- */
- public function group() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsTo($classMapper->getClassMapping('group'), 'group_id');
- }
-
- /**
- * Returns whether or not this user is the master user.
- *
- * @return bool
- */
- public function isMaster() {
- $masterId = static::$ci->config['reserved_user_ids.master'];
-
- // Need to use loose comparison for now, because some DBs return `id` as a string
- return ($this->id == $masterId);
- }
-
- /**
- * Get the most recent activity for this user, based on the user's last_activity_id.
- *
- * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
- */
- public function lastActivity() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsTo($classMapper->getClassMapping('activity'), 'last_activity_id');
- }
-
- /**
- * Find the most recent activity for this user of a particular type.
- *
- * @param string $type
- * @return \Illuminate\Database\Eloquent\Builder
- */
- public function lastActivityOfType($type = NULL) {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- $query = $this->hasOne($classMapper->getClassMapping('activity'), 'user_id');
-
- if ($type) {
- $query = $query->where('type', $type);
- }
-
- return $query->latest('occurred_at');
- }
-
- /**
- * Get the most recent time for a specified activity type for this user.
- *
- * @param string $type
- * @return string|null The last activity time, as a SQL formatted time (YYYY-MM-DD HH:MM:SS), or null if an activity of this type doesn't exist.
- */
- public function lastActivityTime($type) {
- $result = $this->activities()
- ->where('type', $type)
- ->max('occurred_at');
- return $result ? $result : NULL;
- }
-
- /**
- * Performs tasks to be done after this user has been successfully authenticated.
- *
- * By default, adds a new sign-in activity and updates any legacy hash.
- * @param mixed[] $params Optional array of parameters used for this event handler.
- * @odo Transition to Laravel Event dispatcher to handle this
- */
- public function onLogin($params = []) {
- // Add a sign in activity (time is automatically set by database)
- static::$ci->userActivityLogger->info("User {$this->user_name} signed in.", [
- 'type' => 'sign_in'
- ]);
-
- // Update password if we had encountered an outdated hash
- $passwordType = Password::getHashType($this->password);
-
- if ($passwordType != 'modern') {
- if (!isset($params['password'])) {
- Debug::debug('Notice: Unhashed password must be supplied to update to modern password hashing.');
- } else {
- // Hash the user's password and update
- $passwordHash = Password::hash($params['password']);
- if ($passwordHash === NULL) {
- Debug::debug('Notice: outdated password hash could not be updated because the new hashing algorithm is not supported. Are you running PHP >= 5.3.7?');
- } else {
- $this->password = $passwordHash;
- Debug::debug('Notice: outdated password hash has been automatically updated to modern hashing.');
- }
- }
- }
-
- // Save changes
- $this->save();
-
- return $this;
- }
-
- /**
- * Performs tasks to be done after this user has been logged out.
- *
- * By default, adds a new sign-out activity.
- * @param mixed[] $params Optional array of parameters used for this event handler.
- * @do Transition to Laravel Event dispatcher to handle this
- */
- public function onLogout($params = []) {
- static::$ci->userActivityLogger->info("User {$this->user_name} signed out.", [
- 'type' => 'sign_out'
- ]);
-
- return $this;
- }
-
- /**
- * Get all password reset requests for this user.
- *
- * @return \Illuminate\Database\Eloquent\Relations\HasMany
- */
- public function passwordResets() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->hasMany($classMapper->getClassMapping('password_reset'), 'user_id');
- }
-
- /**
- * Get all of the permissions this user has, via its roles.
- *
- * @return \UserFrosting\Sprinkle\Core\Database\Relations\BelongsToManyThrough
- */
- public function permissions() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsToManyThrough(
- $classMapper->getClassMapping('permission'),
- $classMapper->getClassMapping('role'),
- 'role_users',
- 'user_id',
- 'role_id',
- 'permission_roles',
- 'role_id',
- 'permission_id'
- );
- }
-
- /**
- * Get all roles to which this user belongs.
- *
- * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
- */
- public function roles() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsToMany($classMapper->getClassMapping('role'), 'role_users', 'user_id', 'role_id')->withTimestamps();
- }
-
- /**
- * Query scope to get all users who have a specific role.
- *
- * @param \Illuminate\Database\Eloquent\Builder $query
- * @param int $roleId
- * @return \Illuminate\Database\Eloquent\Builder
- */
- public function scopeForRole($query, $roleId) {
- return $query->join('role_users', function ($join) use ($roleId) {
- $join->on('role_users.user_id', 'users.id')
- ->where('role_id', $roleId);
- });
- }
-
- /**
- * Joins the user's most recent activity directly, so we can do things like sort, search, paginate, etc.
- *
- * @param \Illuminate\Database\Eloquent\Builder $query
- * @return \Illuminate\Database\Eloquent\Builder
- */
- public function scopeJoinLastActivity($query) {
- $query = $query->select('users.*');
-
- $query = $query->leftJoin('activities', 'activities.id', '=', 'users.last_activity_id');
-
- return $query;
- }
-
- /**
- * Loads permissions for this user into a cached dictionary of slugs -> arrays of permissions,
- * so we don't need to keep requerying the DB for every call of checkAccess.
- *
- * @return array
- */
- protected function buildPermissionsDictionary() {
- $permissions = $this->permissions()->get();
- $cachedPermissions = [];
-
- foreach ($permissions as $permission) {
- $cachedPermissions[$permission->slug][] = $permission;
- }
-
- return $cachedPermissions;
- }
-}
diff --git a/main/app/sprinkles/account/src/Database/Models/Verification.php b/main/app/sprinkles/account/src/Database/Models/Verification.php
deleted file mode 100644
index f642d77..0000000
--- a/main/app/sprinkles/account/src/Database/Models/Verification.php
+++ /dev/null
@@ -1,68 +0,0 @@
-token;
- }
-
- public function setToken($value) {
- $this->token = $value;
- return $this;
- }
-
- /**
- * Get the user associated with this verification request.
- */
- public function user() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- return $this->belongsTo($classMapper->getClassMapping('user'), 'user_id');
- }
-}
diff --git a/main/app/sprinkles/account/src/Error/Handler/AuthCompromisedExceptionHandler.php b/main/app/sprinkles/account/src/Error/Handler/AuthCompromisedExceptionHandler.php
deleted file mode 100644
index ccefe72..0000000
--- a/main/app/sprinkles/account/src/Error/Handler/AuthCompromisedExceptionHandler.php
+++ /dev/null
@@ -1,34 +0,0 @@
-ci->view->getEnvironment()->loadTemplate('pages/error/compromised.html.twig');
-
- return $this->response
- ->withStatus($this->statusCode)
- ->withHeader('Content-type', $this->contentType)
- ->write($template->render());
- }
-}
diff --git a/main/app/sprinkles/account/src/Error/Handler/AuthExpiredExceptionHandler.php b/main/app/sprinkles/account/src/Error/Handler/AuthExpiredExceptionHandler.php
deleted file mode 100644
index fb04bd1..0000000
--- a/main/app/sprinkles/account/src/Error/Handler/AuthExpiredExceptionHandler.php
+++ /dev/null
@@ -1,50 +0,0 @@
-writeAlerts();
-
- $response = $this->response;
-
- // For non-AJAX requests, we forward the user to the login page.
- if (!$this->request->isXhr()) {
- $uri = $this->request->getUri();
- $path = $uri->getPath();
- $query = $uri->getQuery();
- $fragment = $uri->getFragment();
-
- $path = $path
- . ($query ? '?' . $query : '')
- . ($fragment ? '#' . $fragment : '');
-
- $loginPage = $this->ci->router->pathFor('login', [], [
- 'redirect' => $path
- ]);
-
- $response = $response->withRedirect($loginPage);
- }
-
- return $response;
- }
-}
diff --git a/main/app/sprinkles/account/src/Error/Handler/ForbiddenExceptionHandler.php b/main/app/sprinkles/account/src/Error/Handler/ForbiddenExceptionHandler.php
deleted file mode 100644
index 0166d2a..0000000
--- a/main/app/sprinkles/account/src/Error/Handler/ForbiddenExceptionHandler.php
+++ /dev/null
@@ -1,31 +0,0 @@
-classMapper->createInstance($this->modelName, $record['extra']);
- $log->save();
-
- if (isset($record['extra']['user_id'])) {
- $user = $this->classMapper->staticMethod('user', 'find', $record['extra']['user_id']);
- $user->last_activity_id = $log->id;
- $user->save();
- }
- }
-}
diff --git a/main/app/sprinkles/account/src/Log/UserActivityProcessor.php b/main/app/sprinkles/account/src/Log/UserActivityProcessor.php
deleted file mode 100644
index a5c0d98..0000000
--- a/main/app/sprinkles/account/src/Log/UserActivityProcessor.php
+++ /dev/null
@@ -1,44 +0,0 @@
-userId = $userId;
- }
-
- public function __invoke(array $record) {
- $additionalFields = [
- 'ip_address' => $_SERVER['REMOTE_ADDR'],
- 'user_id' => $this->userId,
- 'occurred_at' => $record['datetime'],
- 'description' => $record['message']
- ];
-
- $record['extra'] = array_replace_recursive($record['extra'], $additionalFields, $record['context']);
-
- return $record;
- }
-}
diff --git a/main/app/sprinkles/account/src/Repository/PasswordResetRepository.php b/main/app/sprinkles/account/src/Repository/PasswordResetRepository.php
deleted file mode 100644
index 06a37a8..0000000
--- a/main/app/sprinkles/account/src/Repository/PasswordResetRepository.php
+++ /dev/null
@@ -1,34 +0,0 @@
-password = Password::hash($args['password']);
- // DO: generate user activity? or do this in controller?
- $user->save();
- }
-}
diff --git a/main/app/sprinkles/account/src/Repository/TokenRepository.php b/main/app/sprinkles/account/src/Repository/TokenRepository.php
deleted file mode 100644
index 6b289bf..0000000
--- a/main/app/sprinkles/account/src/Repository/TokenRepository.php
+++ /dev/null
@@ -1,223 +0,0 @@
-classMapper = $classMapper;
- $this->algorithm = $algorithm;
- }
-
- /**
- * Cancels a specified token by removing it from the database.
- *
- * @param int $token The token to remove.
- * @return Model|false
- */
- public function cancel($token) {
- // Hash the password reset token for the stored version
- $hash = hash($this->algorithm, $token);
-
- // Find an incomplete reset request for the specified hash
- $model = $this->classMapper
- ->staticMethod($this->modelIdentifier, 'where', 'hash', $hash)
- ->where('completed', FALSE)
- ->first();
-
- if ($model === NULL) {
- return FALSE;
- }
-
- $model->delete();
-
- return $model;
- }
-
- /**
- * Completes a token-based process, invoking updateUser() in the child object to do the actual action.
- *
- * @param int $token The token to complete.
- * @param mixed[] $userParams An optional list of parameters to pass to updateUser().
- * @return Model|false
- */
- public function complete($token, $userParams = []) {
- // Hash the token for the stored version
- $hash = hash($this->algorithm, $token);
-
- // Find an unexpired, incomplete token for the specified hash
- $model = $this->classMapper
- ->staticMethod($this->modelIdentifier, 'where', 'hash', $hash)
- ->where('completed', FALSE)
- ->where('expires_at', '>', Carbon::now())
- ->first();
-
- if ($model === NULL) {
- return FALSE;
- }
-
- // Fetch user for this token
- $user = $this->classMapper->staticMethod('user', 'find', $model->user_id);
-
- if (is_null($user)) {
- return FALSE;
- }
-
- $this->updateUser($user, $userParams);
-
- $model->fill([
- 'completed' => TRUE,
- 'completed_at' => Carbon::now()
- ]);
-
- $model->save();
-
- return $model;
- }
-
- /**
- * Create a new token for a specified user.
- *
- * @param User $user The user object to associate with this token.
- * @param int $timeout The time, in seconds, after which this token should expire.
- * @return Model The model (PasswordReset, Verification, etc) object that stores the token.
- */
- public function create(User $user, $timeout) {
- // Remove any previous tokens for this user
- $this->removeExisting($user);
-
- // Compute expiration time
- $expiresAt = Carbon::now()->addSeconds($timeout);
-
- $model = $this->classMapper->createInstance($this->modelIdentifier);
-
- // Generate a random token
- $model->setToken($this->generateRandomToken());
-
- // Hash the password reset token for the stored version
- $hash = hash($this->algorithm, $model->getToken());
-
- $model->fill([
- 'hash' => $hash,
- 'completed' => FALSE,
- 'expires_at' => $expiresAt
- ]);
-
- $model->user_id = $user->id;
-
- $model->save();
-
- return $model;
- }
-
- /**
- * Determine if a specified user has an incomplete and unexpired token.
- *
- * @param User $user The user object to look up.
- * @param int $token Optionally, try to match a specific token.
- * @return Model|false
- */
- public function exists(User $user, $token = NULL) {
- $model = $this->classMapper
- ->staticMethod($this->modelIdentifier, 'where', 'user_id', $user->id)
- ->where('completed', FALSE)
- ->where('expires_at', '>', Carbon::now());
-
- if ($token) {
- // get token hash
- $hash = hash($this->algorithm, $token);
- $model->where('hash', $hash);
- }
-
- return $model->first() ?: FALSE;
- }
-
- /**
- * Delete all existing tokens from the database for a particular user.
- *
- * @param User $user
- * @return int
- */
- protected function removeExisting(User $user) {
- return $this->classMapper
- ->staticMethod($this->modelIdentifier, 'where', 'user_id', $user->id)
- ->delete();
- }
-
- /**
- * Remove all expired tokens from the database.
- *
- * @return bool|null
- */
- public function removeExpired() {
- return $this->classMapper
- ->staticMethod($this->modelIdentifier, 'where', 'completed', FALSE)
- ->where('expires_at', '<', Carbon::now())
- ->delete();
- }
-
- /**
- * Generate a new random token for this user.
- *
- * This generates a token to use for verifying a new account, resetting a lost password, etc.
- * @param string $gen specify an existing token that, if we happen to generate the same value, we should regenerate on.
- * @return string
- */
- protected function generateRandomToken($gen = NULL) {
- do {
- $gen = md5(uniqid(mt_rand(), FALSE));
- } while ($this->classMapper
- ->staticMethod($this->modelIdentifier, 'where', 'hash', hash($this->algorithm, $gen))
- ->first());
- return $gen;
- }
-
- /**
- * Modify the user during the token completion process.
- *
- * This method is called during complete(), and is a way for concrete implementations to modify the user.
- * @param User $user the user object to modify.
- * @return mixed[] $args the list of parameters that were supplied to the call to `complete()`
- */
- abstract protected function updateUser($user, $args);
-}
diff --git a/main/app/sprinkles/account/src/Repository/VerificationRepository.php b/main/app/sprinkles/account/src/Repository/VerificationRepository.php
deleted file mode 100644
index f7ee3e7..0000000
--- a/main/app/sprinkles/account/src/Repository/VerificationRepository.php
+++ /dev/null
@@ -1,31 +0,0 @@
-flag_verified = 1;
- $user->save();
- }
-}
diff --git a/main/app/sprinkles/account/src/ServicesProvider/ServicesProvider.php b/main/app/sprinkles/account/src/ServicesProvider/ServicesProvider.php
deleted file mode 100644
index 1615d2e..0000000
--- a/main/app/sprinkles/account/src/ServicesProvider/ServicesProvider.php
+++ /dev/null
@@ -1,444 +0,0 @@
-extend('assets', function ($assets, $c) {
-
- // Register paths for user theme, if a user is logged in
- // We catch any authorization-related exceptions, so that error pages can be rendered.
- try {
- /** @var UserFrosting\Sprinkle\Account\Authenticate\Authenticator $authenticator */
- $authenticator = $c->authenticator;
- $currentUser = $c->currentUser;
- } catch (\Exception $e) {
- return $assets;
- }
-
- if ($authenticator->check()) {
- $c->sprinkleManager->addResource('assets', $currentUser->theme);
- }
-
- return $assets;
- });
-
- /**
- * Extend the 'classMapper' service to register model classes.
- *
- * Mappings added: User, Group, Role, Permission, Activity, PasswordReset, Verification
- */
- $container->extend('classMapper', function ($classMapper, $c) {
- $classMapper->setClassMapping('user', 'UserFrosting\Sprinkle\Account\Database\Models\User');
- $classMapper->setClassMapping('group', 'UserFrosting\Sprinkle\Account\Database\Models\Group');
- $classMapper->setClassMapping('role', 'UserFrosting\Sprinkle\Account\Database\Models\Role');
- $classMapper->setClassMapping('permission', 'UserFrosting\Sprinkle\Account\Database\Models\Permission');
- $classMapper->setClassMapping('activity', 'UserFrosting\Sprinkle\Account\Database\Models\Activity');
- $classMapper->setClassMapping('password_reset', 'UserFrosting\Sprinkle\Account\Database\Models\PasswordReset');
- $classMapper->setClassMapping('verification', 'UserFrosting\Sprinkle\Account\Database\Models\Verification');
- return $classMapper;
- });
-
- /**
- * Extends the 'errorHandler' service with custom exception handlers.
- *
- * Custom handlers added: ForbiddenExceptionHandler
- */
- $container->extend('errorHandler', function ($handler, $c) {
- // Register the ForbiddenExceptionHandler.
- $handler->registerHandler('\UserFrosting\Support\Exception\ForbiddenException', '\UserFrosting\Sprinkle\Account\Error\Handler\ForbiddenExceptionHandler');
- // Register the AuthExpiredExceptionHandler
- $handler->registerHandler('\UserFrosting\Sprinkle\Account\Authenticate\Exception\AuthExpiredException', '\UserFrosting\Sprinkle\Account\Error\Handler\AuthExpiredExceptionHandler');
- // Register the AuthCompromisedExceptionHandler.
- $handler->registerHandler('\UserFrosting\Sprinkle\Account\Authenticate\Exception\AuthCompromisedException', '\UserFrosting\Sprinkle\Account\Error\Handler\AuthCompromisedExceptionHandler');
- return $handler;
- });
-
- /**
- * Extends the 'localePathBuilder' service, adding any locale files from the user theme.
- *
- */
- $container->extend('localePathBuilder', function ($pathBuilder, $c) {
- // Add paths for user theme, if a user is logged in
- // We catch any authorization-related exceptions, so that error pages can be rendered.
- try {
- /** @var UserFrosting\Sprinkle\Account\Authenticate\Authenticator $authenticator */
- $authenticator = $c->authenticator;
- $currentUser = $c->currentUser;
- } catch (\Exception $e) {
- return $pathBuilder;
- }
-
- if ($authenticator->check()) {
- // Add paths to locale files for user theme
- $themePath = $c->sprinkleManager->addResource('locale', $currentUser->theme);
-
- // Add user locale
- $pathBuilder->addLocales($currentUser->locale);
- }
-
- return $pathBuilder;
- });
-
- /**
- * Extends the 'view' service with the AccountExtension for Twig.
- *
- * Adds account-specific functions, globals, filters, etc to Twig, and the path to templates for the user theme.
- */
- $container->extend('view', function ($view, $c) {
- $twig = $view->getEnvironment();
- $extension = new AccountExtension($c);
- $twig->addExtension($extension);
-
- // Add paths for user theme, if a user is logged in
- // We catch any authorization-related exceptions, so that error pages can be rendered.
- try {
- /** @var UserFrosting\Sprinkle\Account\Authenticate\Authenticator $authenticator */
- $authenticator = $c->authenticator;
- $currentUser = $c->currentUser;
- } catch (\Exception $e) {
- return $view;
- }
-
- if ($authenticator->check()) {
- $theme = $currentUser->theme;
- $themePath = $c->sprinkleManager->addResource('templates', $theme);
- if ($themePath) {
- $loader = $twig->getLoader();
- $loader->prependPath($themePath);
- // Add namespaced path as well
- $loader->addPath($themePath, $theme);
- }
- }
-
- return $view;
- });
-
- /**
- * Authentication service.
- *
- * Supports logging in users, remembering their sessions, etc.
- */
- $container['authenticator'] = function ($c) {
- $classMapper = $c->classMapper;
- $config = $c->config;
- $session = $c->session;
- $cache = $c->cache;
-
- // Force database connection to boot up
- $c->db;
-
- // Fix RememberMe table name
- $config['remember_me.table.tableName'] = Capsule::connection()->getTablePrefix() . $config['remember_me.table.tableName'];
-
- $authenticator = new Authenticator($classMapper, $session, $config, $cache);
- return $authenticator;
- };
-
- /**
- * Sets up the AuthGuard middleware, used to limit access to authenticated users for certain routes.
- */
- $container['authGuard'] = function ($c) {
- $authenticator = $c->authenticator;
- return new AuthGuard($authenticator);
- };
-
- /**
- * Authorization check logging with Monolog.
- *
- * Extend this service to push additional handlers onto the 'auth' log stack.
- */
- $container['authLogger'] = function ($c) {
- $logger = new Logger('auth');
-
- $logFile = $c->get('locator')->findResource('log://userfrosting.log', TRUE, TRUE);
-
- $handler = new StreamHandler($logFile);
-
- $formatter = new MixedFormatter(NULL, NULL, TRUE);
-
- $handler->setFormatter($formatter);
- $logger->pushHandler($handler);
-
- return $logger;
- };
-
- /**
- * Authorization service.
- *
- * Determines permissions for user actions. Extend this service to add additional access condition callbacks.
- */
- $container['authorizer'] = function ($c) {
- $config = $c->config;
-
- // Default access condition callbacks. Add more in your sprinkle by using $container->extend(...)
- $callbacks = [
- /**
- * Unconditionally grant permission - use carefully!
- * @return bool returns true no matter what.
- */
- 'always' => function () {
- return TRUE;
- },
-
- /**
- * Check if the specified values are identical to one another (strict comparison).
- * @param mixed $val1 the first value to compare.
- * @param mixed $val2 the second value to compare.
- * @return bool true if the values are strictly equal, false otherwise.
- */
- 'equals' => function ($val1, $val2) {
- return ($val1 === $val2);
- },
-
- /**
- * Check if the specified values are numeric, and if so, if they are equal to each other.
- * @param mixed $val1 the first value to compare.
- * @param mixed $val2 the second value to compare.
- * @return bool true if the values are numeric and equal, false otherwise.
- */
- 'equals_num' => function ($val1, $val2) {
- if (!is_numeric($val1)) {
- return FALSE;
- }
- if (!is_numeric($val2)) {
- return FALSE;
- }
-
- return ($val1 == $val2);
- },
-
- /**
- * Check if the specified user (by user_id) has a particular role.
- *
- * @param int $user_id the id of the user.
- * @param int $role_id the id of the role.
- * @return bool true if the user has the role, false otherwise.
- */
- 'has_role' => function ($user_id, $role_id) {
- return Capsule::table('role_users')
- ->where('user_id', $user_id)
- ->where('role_id', $role_id)
- ->count() > 0;
- },
-
- /**
- * Check if the specified value $needle is in the values of $haystack.
- *
- * @param mixed $needle the value to look for in $haystack
- * @param array[mixed] $haystack the array of values to search.
- * @return bool true if $needle is present in the values of $haystack, false otherwise.
- */
- 'in' => function ($needle, $haystack) {
- return in_array($needle, $haystack);
- },
-
- /**
- * Check if the specified user (by user_id) is in a particular group.
- *
- * @param int $user_id the id of the user.
- * @param int $group_id the id of the group.
- * @return bool true if the user is in the group, false otherwise.
- */
- 'in_group' => function ($user_id, $group_id) {
- $user = User::find($user_id);
- return ($user->group_id == $group_id);
- },
-
- /**
- * Check if the specified user (by user_id) is the master user.
- *
- * @param int $user_id the id of the user.
- * @return bool true if the user id is equal to the id of the master account, false otherwise.
- */
- 'is_master' => function ($user_id) use ($config) {
- // Need to use loose comparison for now, because some DBs return `id` as a string
- return ($user_id == $config['reserved_user_ids.master']);
- },
-
- /**
- * Check if all values in the array $needle are present in the values of $haystack.
- *
- * @param array[mixed] $needle the array whose values we should look for in $haystack
- * @param array[mixed] $haystack the array of values to search.
- * @return bool true if every value in $needle is present in the values of $haystack, false otherwise.
- */
- 'subset' => function ($needle, $haystack) {
- return count($needle) == count(array_intersect($needle, $haystack));
- },
-
- /**
- * Check if all keys of the array $needle are present in the values of $haystack.
- *
- * This function is useful for whitelisting an array of key-value parameters.
- * @param array[mixed] $needle the array whose keys we should look for in $haystack
- * @param array[mixed] $haystack the array of values to search.
- * @return bool true if every key in $needle is present in the values of $haystack, false otherwise.
- */
- 'subset_keys' => function ($needle, $haystack) {
- return count($needle) == count(array_intersect(array_keys($needle), $haystack));
- }
- ];
-
- $authorizer = new AuthorizationManager($c, $callbacks);
- return $authorizer;
- };
-
- /**
- * Loads the User object for the currently logged-in user.
- */
- $container['currentUser'] = function ($c) {
- $authenticator = $c->authenticator;
-
- return $authenticator->user();
- };
-
- $container['passwordHasher'] = function ($c) {
- $hasher = new Hasher();
- return $hasher;
- };
-
- /**
- * Returns a callback that forwards to dashboard if user is already logged in.
- */
- $container['redirect.onAlreadyLoggedIn'] = function ($c) {
- /**
- * This method is invoked when a user attempts to perform certain public actions when they are already logged in.
- *
- * Forward to user's landing page or last visited page
- * @param \Psr\Http\Message\ServerRequestInterface $request
- * @param \Psr\Http\Message\ResponseInterface $response
- * @param array $args
- * @return \Psr\Http\Message\ResponseInterface
- */
- return function (Request $request, Response $response, array $args) use ($c) {
- $redirect = $c->router->pathFor('dashboard');
-
- return $response->withRedirect($redirect, 302);
- };
- };
-
- /**
- * Returns a callback that handles setting the `UF-Redirect` header after a successful login.
- */
- $container['redirect.onLogin'] = function ($c) {
- /**
- * This method is invoked when a user completes the login process.
- *
- * Returns a callback that handles setting the `UF-Redirect` header after a successful login.
- * @param \Psr\Http\Message\ServerRequestInterface $request
- * @param \Psr\Http\Message\ResponseInterface $response
- * @param array $args
- * @return \Psr\Http\Message\ResponseInterface
- */
- return function (Request $request, Response $response, array $args) use ($c) {
- // Backwards compatibility for the deprecated determineRedirectOnLogin service
- if ($c->has('determineRedirectOnLogin')) {
- $determineRedirectOnLogin = $c->determineRedirectOnLogin;
-
- return $determineRedirectOnLogin($response)->withStatus(200);
- }
-
- /** @var UserFrosting\Sprinkle\Account\Authorize\AuthorizationManager */
- $authorizer = $c->authorizer;
-
- $currentUser = $c->authenticator->user();
-
- if ($authorizer->checkAccess($currentUser, 'uri_account_settings')) {
- return $response->withHeader('UF-Redirect', $c->router->pathFor('settings'));
- } else {
- return $response->withHeader('UF-Redirect', $c->router->pathFor('index'));
- }
- };
- };
-
- /**
- * Repository for password reset requests.
- */
- $container['repoPasswordReset'] = function ($c) {
- $classMapper = $c->classMapper;
- $config = $c->config;
-
- $repo = new PasswordResetRepository($classMapper, $config['password_reset.algorithm']);
- return $repo;
- };
-
- /**
- * Repository for verification requests.
- */
- $container['repoVerification'] = function ($c) {
- $classMapper = $c->classMapper;
- $config = $c->config;
-
- $repo = new VerificationRepository($classMapper, $config['verification.algorithm']);
- return $repo;
- };
-
- /**
- * Logger for logging the current user's activities to the database.
- *
- * Extend this service to push additional handlers onto the 'userActivity' log stack.
- */
- $container['userActivityLogger'] = function ($c) {
- $classMapper = $c->classMapper;
- $config = $c->config;
- $session = $c->session;
-
- $logger = new Logger('userActivity');
-
- $handler = new UserActivityDatabaseHandler($classMapper, 'activity');
-
- // Note that we get the user id from the session, not the currentUser service.
- // This is because the currentUser service may not reflect the actual user during login/logout requests.
- $currentUserIdKey = $config['session.keys.current_user_id'];
- $userId = isset($session[$currentUserIdKey]) ? $session[$currentUserIdKey] : $config['reserved_user_ids.guest'];
- $processor = new UserActivityProcessor($userId);
-
- $logger->pushProcessor($processor);
- $logger->pushHandler($handler);
-
- return $logger;
- };
- }
-}
diff --git a/main/app/sprinkles/account/src/Twig/AccountExtension.php b/main/app/sprinkles/account/src/Twig/AccountExtension.php
deleted file mode 100644
index fc94a1a..0000000
--- a/main/app/sprinkles/account/src/Twig/AccountExtension.php
+++ /dev/null
@@ -1,62 +0,0 @@
-services = $services;
- $this->config = $services->config;
- }
-
- public function getName() {
- return 'userfrosting/account';
- }
-
- public function getFunctions() {
- return array(
- // Add Twig function for checking permissions during dynamic menu rendering
- new \Twig_SimpleFunction('checkAccess', function ($slug, $params = []) {
- $authorizer = $this->services->authorizer;
- $currentUser = $this->services->currentUser;
-
- return $authorizer->checkAccess($currentUser, $slug, $params);
- }),
- new \Twig_SimpleFunction('checkAuthenticated', function () {
- $authenticator = $this->services->authenticator;
- return $authenticator->check();
- })
- );
- }
-
- public function getGlobals() {
- try {
- $currentUser = $this->services->currentUser;
- } catch (\Exception $e) {
- $currentUser = NULL;
- }
-
- return [
- 'current_user' => $currentUser
- ];
- }
-}
diff --git a/main/app/sprinkles/account/src/Util/HashFailedException.php b/main/app/sprinkles/account/src/Util/HashFailedException.php
deleted file mode 100644
index 580bed1..0000000
--- a/main/app/sprinkles/account/src/Util/HashFailedException.php
+++ /dev/null
@@ -1,22 +0,0 @@
-staticMethod('user', 'where', 'user_name', $suggestion)->first()) {
- return $suggestion;
- }
- }
- }
-
- return '';
- }
-
-}
diff --git a/main/app/sprinkles/account/templates/forms/settings-account.html.twig b/main/app/sprinkles/account/templates/forms/settings-account.html.twig
deleted file mode 100644
index 7594f28..0000000
--- a/main/app/sprinkles/account/templates/forms/settings-account.html.twig
+++ /dev/null
@@ -1,41 +0,0 @@
-
\ No newline at end of file
diff --git a/main/app/sprinkles/account/templates/forms/settings-profile.html.twig b/main/app/sprinkles/account/templates/forms/settings-profile.html.twig
deleted file mode 100644
index a0f1194..0000000
--- a/main/app/sprinkles/account/templates/forms/settings-profile.html.twig
+++ /dev/null
@@ -1,45 +0,0 @@
-
diff --git a/main/app/sprinkles/account/templates/mail/password-reset.html.twig b/main/app/sprinkles/account/templates/mail/password-reset.html.twig
deleted file mode 100644
index a1293ce..0000000
--- a/main/app/sprinkles/account/templates/mail/password-reset.html.twig
+++ /dev/null
@@ -1,28 +0,0 @@
-{% block subject %}
- {{ site.title }} - your password reset request
-{% endblock %}
-
-{% block body %}
-
Dear {{ user.first_name }},
-
-
- A lost password request has been submitted for your account with {{ site.title }} ({{ site.uri.public }})
- on {{ request_date | date('m/d/Y g:i A') }}.
-
-{% endblock %}
\ No newline at end of file
diff --git a/main/app/sprinkles/account/templates/mail/resend-verification.html.twig b/main/app/sprinkles/account/templates/mail/resend-verification.html.twig
deleted file mode 100644
index 69e5adb..0000000
--- a/main/app/sprinkles/account/templates/mail/resend-verification.html.twig
+++ /dev/null
@@ -1,20 +0,0 @@
-{% block subject %}
- {{ site.title }} - verify your account
-{% endblock %}
-
-{% block body %}
-
Dear {{ user.first_name }},
-
-
- We have received a new verification request for your account with {{ site.title }} ({{ site.uri.public }}).
- Please follow the link below to verify your account. If your account is already active, please disregard this
- message.
-
- {% include 'pages/partials/legal.html.twig' %}
- {% include 'pages/partials/privacy.html.twig' %}
-
-{% endblock %}
-
-{% block modal_footer %}
-
-{% endblock %}
diff --git a/main/app/sprinkles/account/templates/navigation/main-nav.html.twig b/main/app/sprinkles/account/templates/navigation/main-nav.html.twig
deleted file mode 100644
index ce18b3a..0000000
--- a/main/app/sprinkles/account/templates/navigation/main-nav.html.twig
+++ /dev/null
@@ -1,13 +0,0 @@
-{# This extend the same file from core to add a sign-up/sign-in or "my account" link to the "home page" nav menu. #}
-{% extends "@core/navigation/main-nav.html.twig" %}
-
-{% block secondary_nav %}
- {{ parent() }}
- {% if not checkAuthenticated() %}
-
- {% endif %}
-
- {# additional elements (e.g., menus, messages) before the user account drop down #}
- {% block dashboard_navbar_extra %} {% endblock %}
-
- {# User Account: style can be found in dropdown.less #}
- {% include "navigation/user-card.html.twig" %}
-
-{% endblock %}
-{% block scripts_page %}
-
-
-
-
- {{ assets.js('js/form-widgets') | raw }}
-
-
- {{ assets.js('js/pages/users') | raw }}
-
-{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/activities.html.twig b/main/app/sprinkles/admin/templates/tables/activities.html.twig
deleted file mode 100644
index 0da5601..0000000
--- a/main/app/sprinkles/admin/templates/tables/activities.html.twig
+++ /dev/null
@@ -1,80 +0,0 @@
-{# This partial template renders a table of user activities, to be populated with rows via an AJAX request.
- # This extends a generic template for paginated tables.
- #
- # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
- # to render the table cells with the data from the AJAX request.
-#}
-
-{% extends "tables/table-paginated.html.twig" %}
-
-{% block table %}
-
-
-
-
{{ translate('ACTIVITY.TIME') }}
- {% if 'user' in table.columns %}
-
{{ translate('USER') }}
- {% endif %}
-
{{ translate("DESCRIPTION") }}
-
-
-
-
-
-{% endblock %}
-
-{% block table_cell_templates %}
- {# This contains a series of
-
-
-
-
- {% endverbatim %}
-{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/groups.html.twig b/main/app/sprinkles/admin/templates/tables/groups.html.twig
deleted file mode 100644
index e25d4c2..0000000
--- a/main/app/sprinkles/admin/templates/tables/groups.html.twig
+++ /dev/null
@@ -1,74 +0,0 @@
-{# This partial template renders a table of groups, to be populated with rows via an AJAX request.
- # This extends a generic template for paginated tables.
- #
- # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
- # to render the table cells with the data from the AJAX request.
-#}
-
-{% extends "tables/table-paginated.html.twig" %}
-
-{% block table %}
-
-
-
-
{{ translate('GROUP') }}
-
{{ translate("DESCRIPTION") }}
-
{{ translate("ACTIONS") }}
-
-
-
-
-
-{% endblock %}
-
-{% block table_cell_templates %}
- {# This contains a series of
-
-
-
-
- {% endverbatim %}
-{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/permissions.html.twig b/main/app/sprinkles/admin/templates/tables/permissions.html.twig
deleted file mode 100644
index 48f3afa..0000000
--- a/main/app/sprinkles/admin/templates/tables/permissions.html.twig
+++ /dev/null
@@ -1,71 +0,0 @@
-{# This partial template renders a table of permissions, to be populated with rows via an AJAX request.
- # This extends a generic template for paginated tables.
- #
- # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
- # to render the table cells with the data from the AJAX request.
-#}
-
-{% extends "tables/table-paginated.html.twig" %}
-
-{% block table %}
-
-
-
-
{{ translate('PERMISSION') }}
-
{{ translate('SLUG_CONDITION') }}
- {% if 'via_roles' in table.columns %}
-
{{ translate('PERMISSION.VIA_ROLES') }}
- {% endif %}
-
-
-
-
-
-{% endblock %}
-
-{% block table_cell_templates %}
- {# This contains a series of
-
-
-
-
- {% endverbatim %}
-{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/roles.html.twig b/main/app/sprinkles/admin/templates/tables/roles.html.twig
deleted file mode 100644
index 088052e..0000000
--- a/main/app/sprinkles/admin/templates/tables/roles.html.twig
+++ /dev/null
@@ -1,79 +0,0 @@
-{# This partial template renders a table of roles, to be populated with rows via an AJAX request.
- # This extends a generic template for paginated tables.
- #
- # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
- # to render the table cells with the data from the AJAX request.
-#}
-
-{% extends "tables/table-paginated.html.twig" %}
-
-{% block table %}
-
-
-
-
{{ translate('ROLE') }}
-
{{ translate('DESCRIPTION') }}
-
{{ translate('ACTIONS') }}
-
-
-
-
-
-{% endblock %}
-
-{% block table_cell_templates %}
- {# This contains a series of
-
-
-
-
- {% endverbatim %}
-{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/users.html.twig b/main/app/sprinkles/admin/templates/tables/users.html.twig
deleted file mode 100644
index aae91d0..0000000
--- a/main/app/sprinkles/admin/templates/tables/users.html.twig
+++ /dev/null
@@ -1,157 +0,0 @@
-{# This partial template renders a table of users, to be populated with rows via an AJAX request.
- # This extends a generic template for paginated tables.
- #
- # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
- # to render the table cells with the data from the AJAX request.
-#}
-
-{% extends "tables/table-paginated.html.twig" %}
-
-{% block table %}
-
-
-
-
{{ translate('USER') }}
- {% if 'last_activity' in table.columns %}
-
{{ translate("ACTIVITY.LAST") }}
- {% endif %}
- {% if 'via_roles' in table.columns %}
-
";
-
- const WebSocketConnectTimerStart = performance.now(); // START CONNECTION EXECUTION TIMER
- const ChatSocket = new WebSocket('wss://marvinborner.ddnss.de:1337');
- ChatSocket.onerror = function () {
- setTimeout(function () {
- console.log("%c[CHATSOCKET LOGGER] Connection failed. Trying again...", "color: red");
- InitializeChatServer();
- }, 5000);
- };
- ChatSocket.onopen = function () {
- // CONNECTION SUCCESSFUL!
- const WebSocketConnectTimerEnd = performance.now(); // END CONNECTION EXECUTION TIMER
- console.log("%c[CHATSOCKET LOGGER] Chat connection established! (Took " + (WebSocketConnectTimerEnd - WebSocketConnectTimerStart) + " milliseconds)", "color: darkorange");
- // START VERIFICATION
- ChatSocket.send(JSON.stringify({
- ClientMessageType: "Verify",
- Cookie: document.cookie,
- UserID: current_user_id
- }));
- console.log("%c[CHATSOCKET LOGGER] Started chat verification process...", "color: gray");
- // GOT MESSAGE
- ChatSocket.onmessage = function (e) {
- // DECLARATIONS
- const TypingIndicatorMessage = $(".TypingIndicatorMessage").parent();
- const MessageObject = JSON.parse(e.data);
- const Message = MessageObject.Message; // ENCRYPTED MESSAGE (NOT ENCRYPTED ON SERVER MESSAGES)
- const MessageId = MessageObject.MessageId;
- const Fullname = MessageObject.Fullname;
- const Avatar = MessageObject.Avatar;
- const GroupName = MessageObject.GroupName;
- const ServerMessageType = MessageObject.ServerMessageType;
- let State = MessageObject.State;
- let ServerMessage = MessageObject.ServerMessage;
- let WasHimself = MessageObject.WasHimself;
- let Granted = MessageObject.Granted;
- let Success = MessageObject.Success;
-
- // GLOBAL OVERWRITES
- LastMessage = $(".MessageWrapper.Normal:last .ChatMessage");
- CurrentChatMessagesWindow = $("#ChatMessages[data-username=" + ReceiversUsername + "]");
- Username = MessageObject.Username;
-
- // GET OWN PUBLIC KEY FIRST
- if (!(current_username in PublicKey)) {
- $.ajax({
- type: 'GET',
- url: site.uri.public + '/api/users/u/' + current_username + '/publickey',
- dataType: "json",
- success: function (response) {
- PublicKey[current_username] = response.PublicKey;
- console.log("%c[ENCRYPTION LOGGER]\nPublickey of " + current_username + ": \n\n" + PublicKey[current_username].substr(96).slice(0, -35), "font-family: monospace; white-space: pre; display: inline-block; border-radius: 10px; padding: 5px; color: #20c20e; background-color: black;")
- }
- });
- }
-
- // GET PUBLIC KEY IF NOT ALREADY DID
- if (!(ReceiversUsername in PublicKey) && ReceiversUsername !== null && ReceiversUsername !== undefined) {
- $.ajax({
- type: 'GET',
- url: site.uri.public + '/api/users/u/' + ReceiversUsername + '/publickey',
- dataType: "json",
- success: function (response) {
- PublicKey[ReceiversUsername] = response.PublicKey;
- console.log("%c[ENCRYPTION LOGGER]\nPublickey of " + ReceiversUsername + ": \n\n" + PublicKey[ReceiversUsername].substr(96).slice(0, -35), "font-family: monospace; white-space: pre; display: inline-block; border-radius: 10px; padding: 5px; color: #20c20e; background-color: black;")
- }
- });
- }
-
- if (ServerMessage) { // SERVER MESSAGE
- if (ServerMessageType === "GroupJoin") { // TYPE: USER JOINED A GROUP
- if (WasHimself) { // HIMSELF JOINED A GROUP -> NOTIFY
- CurrentChatMessagesWindow.empty(); // -> EMPTY MESSAGES ON NEW GROUP JOIN
- CurrentChatMessagesWindow.append("
" + GroupName + "
");
- ReplaceServerMessage("YouGroupJoin"); // FOR TRANSLATION
- console.log("%c[CHATSOCKET LOGGER] You joined the group " + GroupName + "!", "color: darkorange");
- } else { // OTHER USER JOINED A GROUP -> NOTIFY
- CurrentChatMessagesWindow.append("
" + Username + "
");
- ReplaceServerMessage("UserGroupJoin"); // FOR TRANSLATION
- console.log("%c[CHATSOCKET LOGGER] " + Username + " joined the group!", "color: darkorange");
- }
- } else if (ServerMessageType === "UserDisconnect") { // TYPE: USER DISCONNECTED -> NOTIFY
- CurrentChatMessagesWindow.append("
" + Username + "
");
- ReplaceServerMessage("UserDisconnect"); // FOR TRANSLATION
- console.log("%c[CHATSOCKET LOGGER] " + Username + " disconnected from server!", "color: darkorange");
- } else if (ServerMessageType === "TypingState") { // TYPE: SOMEBODY'S TYPING STATE CHANGED!
- if (State) { // IF 'SOMEBODY' STARTED TYPING
- if (WasHimself) { // IDENTIFY 'SOMEBODY' -> WAS HIMSELF -> NOT THAT IMPORTANT (USER KNOWS WHEN HE STARTS TYPING?)
- console.log("%c[CHAT TYPING LOGGER] You started typing!", "color: gray");
- } else if (!WasHimself) { // IDENTIFY 'SOMEBODY' -> WAS OTHER USER -> SHOW TYPING ANIMATION ON RECEIVER'S SIDE
- CurrentChatMessagesWindow.append("
" + TypingIndicatorAnimationElement + "
");
- console.log("%c[CHAT TYPING LOGGER] " + Username + " started typing!", "color: gray");
- }
- } else { // IF 'SOMEBODY' STOPPED TYPING
- if (WasHimself) { // IDENTIFY 'SOMEBODY' -> WAS HIMSELF -> NOT THAT IMPORTANT (USER KNOWS WHEN HE STOPS TYPING?)
- console.log("%c[CHAT TYPING LOGGER] You stopped typing!", "color: gray");
- } else { // IDENTIFY 'SOMEBODY' -> WAS OTHER USER -> REMOVE TYPING ANIMATION
- //TypingIndicatorMessage.fadeOut("fast");
- TypingIndicatorMessage.remove();
- console.log("%c[CHAT TYPING LOGGER] " + Username + " stopped typing!", "color: gray");
- }
- }
- } else if (ServerMessageType === "Verify") { // TYPE: SERVER CHECKED ACCESS -- MOSTLY HANDLED IN BACKEND
- if (Granted) {
- console.log("%c[CHATSOCKET LOGGER] Chat access granted!", "color: green");
- } else {
- triggerErrorPopup("ChatNotAllowed");
- console.log("%c[CHATSOCKET LOGGER] Chat access denied!", "color: red");
- }
- } else if (ServerMessageType === "SetReceiver") { // TYPE: SERVER CHECKED ACCESS -- MOSTLY HANDLED IN BACKEND
- if (Success) {
- console.log("%c[CHATSOCKET LOGGER] Setting receiver succeeded!", "color: green");
-
- // CHANGE HEADER TAB CAPTION
- $(".ChatTab .headerWrap .header .HeaderCaption.TabCaption").hide();
- $(".HeaderCaption#" + ReceiversUsername).length
- ? $(".HeaderCaption#" + ReceiversUsername).show()
- : $(".ChatTab .headerWrap .header > .LeftButtonHeader").after("" + ReceiversUsername + "");
- $(".ChatTab .headerWrap .LeftButtonHeader").html(""); // REPLACE MENU BUTTON WITH BACK BUTTON
-
- SelectReceiver.hide();
- SelectedReceiver.show(); // SHOW PARENT DIV
- $(".SelectedReceiver > #ChatMessages").hide(); // HIDE EVERY CHAT INSTANCE
- $(".SelectedReceiver > *").addClass("animated slideInRight");
- ChatTextInput.show(); // SHOW CHAT INPUT
- CurrentChatMessagesWindow.show(); // ONLY SHOW SELECTED CHAT INSTANCE
- } else {
- console.log("%c[CHATSOCKET LOGGER] Setting receiver failed!", "color: red");
- }
- }
- } else { // NO SERVER MESSAGE -> SENT BY USER
- // DECRYPT MESSAGE
- options = {
- message: openpgp.message.readArmored("-----BEGIN PGP MESSAGE-----\r\nVersion: OpenPGP.js v3.0.9\r\nComment: https://openpgpjs.org\r\n\r\n" + Message + "\r\n\-----END PGP MESSAGE-----\r\n"), // FORMAT MESSAGE
- publicKeys: openpgp.key.readArmored(PublicKey[Username]).keys, // FOR VERIFICATION
- privateKeys: [privKeyObj]
- };
- openpgp.decrypt(options).then(function (plaintext) {
- plaintext ? console.log("%c[ENCRYPTION LOGGER] Decrypting succeeded!", "font-family: monospace; white-space: pre; display: inline-block; border-radius: 10px; padding: 2px; color: #20c20e; background-color: black;") : console.log("%c[ENCRYPTION LOGGER] Decrypting failed!", "font-family: monospace; white-space: pre; display: inline-block; border-radius: 10px; padding: 2px; color: red; background-color: black;");
- DecryptedMessage = plaintext.data;
- if (WasHimself) { // -> MESSAGE WAS FROM HIMSELF -> Don't write to chat, as its done directly (on enter function at the bottom, for performance)
- console.log("%c[CHATSOCKET LOGGER] Message sending succeeded!", "color: darkorange");
- } else { // -> MESSAGE WAS FROM OTHER USER -> decrypt
- console.log("%c[CHATSOCKET LOGGER] You received a message!", "color: darkorange");
- NotifySound.play();
- Push.create(Fullname, { // CREATE NOTIFICATION
- body: DecryptedMessage,
- icon: Avatar,
- timeout: 5000,
- onClick: function () {
- window.focus();
- this.close();
- }
- });
- if (LastMessage.hasClass("MessageReceived")) {
- if (LastMessage.hasClass("MessageReceived")) { // IF PREVIOUS MESSAGE WAS FROM OTHER USER TOO -> CREATE WITH CORRESPONDING CLASSES FOR DESIGN
- CurrentChatMessagesWindow.append("
" + DecryptedMessage + "
");
- if (LastMessage.hasClass("AloneMessage")) {
- LastMessage.removeClass("AloneMessage");
- LastMessage.addClass("TopMessage");
- } else if (LastMessage.hasClass("BottomMessage")) {
- LastMessage.removeClass("BottomMessage");
- LastMessage.addClass("MiddleMessage");
- }
- }
- } else { // CHECK IF PREVIOUS MESSAGE WAS FROM OTHER USER TOO -> IF NOT, CREATE NEW 'ALONE' MESSAGE
- CurrentChatMessagesWindow.append("
" + DecryptedMessage + "
");
- }
- }
- });
-
- // CONVERT LINKS TO LINKS
- $('.ChatMessage').linkify({
- target: "_blank"
- });
- }
- // SCROLL TO BOTTOM ON NEW MESSAGE OF ANY KIND
- if ((CurrentChatMessagesWindow.scrollTop() + CurrentChatMessagesWindow.innerHeight() < CurrentChatMessagesWindow[0].scrollHeight)) {
- CurrentChatMessagesWindow.animate({scrollTop: document.querySelector("#ChatMessages").scrollHeight});
- }
- };
-
-
- // TYPING RECOGNITION
- let typingTimer;
- let isTyping = false;
-
- ChatTextInput.keydown(function () {
- sendStartTyping();
- clearTimeout(typingTimer);
- });
-
- ChatTextInput.keyup(function () {
- clearTimeout(typingTimer);
- typingTimer = setTimeout(function () {
- sendStopTyping()
- }, 2500)
- });
-
- function sendStartTyping() {
- if (!isTyping) {
- sendTypingState(true);
- isTyping = true;
- }
- }
-
- function sendStopTyping() {
- if (isTyping) {
- sendTypingState(false);
- isTyping = false;
- }
- }
-
- function sendTypingState(state) { // SEND STATE TO CHAT SERVER
- ChatSocket.send(JSON.stringify({ClientMessageType: "TypingState", State: state}));
- }
-
- // SEND MESSAGE FROM INPUT FIELD
- ChatTextInput.keyup(function (e) {
- if (ChatSocket.readyState === 1) {
- if (e.keyCode === 13 && ChatTextInput.val().length > 0) {
- const ChatTextInputText = ChatTextInput.val();
- const LastMessage = $(".MessageWrapper.Normal:last .ChatMessage");
- ChatTextInput.val("");
- if (!LastMessage.hasClass("MessageSent")) { // CHECK IF PREVIOUS MESSAGE WAS FROM HIMSELF TOO -> IF NOT, CREATE NEW 'ALONE' MESSAGE
- CurrentChatMessagesWindow.append("
" + ChatTextInputText + "
");
- } else if (LastMessage.hasClass("MessageSent")) { // IF PREVIOUS MESSAGE WAS FROM HIMSELF TOO -> CREATE WITH CORRESPONDING CLASSES FOR DESIGN
- CurrentChatMessagesWindow.append("
" + ChatTextInputText + "
");
- if (LastMessage.hasClass("AloneMessage")) {
- LastMessage.removeClass("AloneMessage");
- LastMessage.addClass("TopMessage");
- } else if (LastMessage.hasClass("BottomMessage")) {
- LastMessage.removeClass("BottomMessage");
- LastMessage.addClass("MiddleMessage");
- }
- }
-
- // USER USUALLY STOPS TYPING ON SENDING -> CHANGE STATE TO FALSE
- sendTypingState(false);
- isTyping = false;
- clearTimeout(typingTimer);
-
- // ENCRYPT AND SEND MESSAGE WITH OWN PUBLIC KEY
- options = {
- data: ChatTextInputText,
- publicKeys: openpgp.key.readArmored(PublicKey[current_username]).keys,
- privateKeys: [privKeyObj] // FOR SIGNING
- };
- openpgp.encrypt(options).then(function (Encrypted) {
- EncryptedMessage = Encrypted.data.substr(91).slice(0, -29); // SLICING FOR DATABASE SAVING (LESS DATA)
- console.log("%c[ENCRYPTION LOGGER]\nEncrypted message for sender: \n\n" + EncryptedMessage, "font-family: monospace; white-space: pre; display: inline-block; border-radius: 10px; padding: 5px; color: #20c20e; background-color: black;");
-
- ChatSocket.send(JSON.stringify({
- ClientMessageType: "ChatMessage",
- EncryptedWithKeyOfUsername: current_username,
- Message: EncryptedMessage
- }));
- });
-
- // ENCRYPT AND SEND MESSAGE WITH RECEIVERS PUBLIC KEY
- options = {
- data: ChatTextInputText,
- publicKeys: openpgp.key.readArmored(PublicKey[ReceiversUsername]).keys,
- privateKeys: [privKeyObj] // FOR SIGNING
- };
- openpgp.encrypt(options).then(function (Encrypted) {
- EncryptedMessage = Encrypted.data.substr(91).slice(0, -29); // SLICING FOR DATABASE SAVING (LESS DATA)
- console.log("%c[ENCRYPTION LOGGER]\nEncrypted message for receiver: \n\n" + EncryptedMessage, "font-family: monospace; white-space: pre; display: inline-block; border-radius: 10px; padding: 5px; color: #20c20e; background-color: black;");
-
- ChatSocket.send(JSON.stringify({
- ClientMessageType: "ChatMessage",
- EncryptedWithKeyOfUsername: ReceiversUsername,
- Message: EncryptedMessage
- }));
- });
- }
- } else {
- NotConnectedAnymore();
- }
- });
-
- // SET RECEIVER
- $(document).on("click", ".SelectReceiver .UserSelector", function () {
- ReceiversUsername = $(this).attr("data-username");
- ReceiversId = $(this).attr("data-user-id");
- ChatSocket.send(JSON.stringify({
- ClientMessageType: "SetReceiver",
- ReceiversId: ReceiversId,
- ReceiversUsername: ReceiversUsername
- }));
- });
-
- /**
- * SEVERAL THINGS WHICH DON'T MATCH ANY OTHER SECTION
- */
- function NotConnectedAnymore() {
- ChatTextInput.off("keyup");
- console.log("%c[CHATSOCKET LOGGER] Not connected to Websocket anymore! Trying to connect again...", "color: red");
- InitializeChatServer();
- }
-
- // CHECK EVERY 5 SEC IF CLIENT IS STILL CONNECTED
- setTimeout(function() {
- if (ChatSocket.readyState !== 1) {
- NotConnectedAnymore();
- }
- }, 5000);
-
- // BACK BUTTON
- $(document).on("click", "#BackToChatSelectorButton", function () {
- $(".SelectReceiver > *").addClass("animated slideInLeft");
- $(".ChatTab .headerWrap .header .HeaderCaption").hide();
- $(".ChatTab .headerWrap .header .HeaderCaption.TabCaption").show();
- $(".ChatTab .headerWrap .LeftButtonHeader").html(""); // REPLACE BACK BUTTON WITH MENU BUTTON
- SelectedReceiver.hide();
- SelectReceiver.show();
- });
-
- // USER STOPS TYPING ON PAGE LEAVE
- window.history.pushState({page: 1}, "", "");
- window.onpopstate = function (event) {
- if (event) {
- sendStopTyping();
- }
- };
- $(window).unload(function () {
- sendStopTyping();
- });
- };
-}
-
-InitializeChatServer(); // EVERYTHING IN ONE FUNCTION FOR SIMPLICITY (GLOBAL FUNCTIONS ETC)
\ No newline at end of file
diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/cipher.txt b/main/app/sprinkles/core/assets/SiteAssets/js/cipher.txt
deleted file mode 100644
index 53cf28c..0000000
--- a/main/app/sprinkles/core/assets/SiteAssets/js/cipher.txt
+++ /dev/null
@@ -1 +0,0 @@
-notices your license giving a work means then as expressly provided above cannot convey it applies also convey without conditions so a work means a fashion requiring indemnification of free programs if you want it that you
\ No newline at end of file
diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/console.image.js b/main/app/sprinkles/core/assets/SiteAssets/js/console.image.js
deleted file mode 100644
index b0d682e..0000000
--- a/main/app/sprinkles/core/assets/SiteAssets/js/console.image.js
+++ /dev/null
@@ -1,280 +0,0 @@
-/**
- * Dubiously created by Adrian Cooney
- * http://adriancooney.github.io
- */
-(function (console) {
- "use strict";
-
- //Bootlegged of imgur.com/memegen
- var memes = {
- "10 Guy": "//i.imgur.com/LaENqOV.jpg",
- "3rd World Success Kid": "//i.imgur.com/WA5duA1.jpg",
- "90's Problems": "//i.imgur.com/tL47qtp.jpg",
- "Aaand It's Gone": "//i.imgur.com/yf12saq.jpg",
- "Actual Advice Mallard": "//i.imgur.com/WymFmVy.jpg",
- "Advice Dog": "//i.imgur.com/Qk0VO6D.jpg",
- "Advice God": "//i.imgur.com/xH2fSFg.jpg",
- "Almost Politically Correct Redneck": "//i.imgur.com/YqLgINf.jpg",
- "Am I The Only One": "//i.imgur.com/gS9YL5U.jpg",
- "Ancient Aliens": "//i.imgur.com/NfCknz0.jpg",
- "Annoyed Picard": "//i.imgur.com/s9GmfSS.jpg",
- "Annoying Childhood Friend": "//i.imgur.com/27VCyQw.jpg",
- "Annoying Facebook Girl": "//i.imgur.com/ccczyGt.jpg",
- "Anti-Joke Chicken (Rooster)": "//i.imgur.com/KOsW0jh.jpg",
- "Awkward Penguin": "//i.imgur.com/ez1tQrq.jpg",
- "Back In My Day Grandpa": "//i.imgur.com/zuJSZp8.jpg",
- "Bad Advice Mallard": "//i.imgur.com/QEPvL2B.jpg",
- "Bad Luck Brian": "//i.imgur.com/sRW8BiO.jpg",
- "Bear Grylls": "//i.imgur.com/6Spqy1D.jpg",
- "Brace Yourself": "//i.imgur.com/NhIq0LY.jpg",
- "Captain Obvious": "//i.imgur.com/DmUcxBu.jpg",
- "Chemistry Cat": "//i.imgur.com/8agP4Xe.jpg",
- "College Freshman": "//i.imgur.com/2Ynyv9t.jpg",
- "College Liberal": "//i.imgur.com/OWfvSFE.jpg",
- "Condescending Wonka": "//i.imgur.com/D0e5fgL.jpg",
- "Confession Bear": "//i.imgur.com/kH1SKhp.jpg",
- "Confession Kid": "//i.imgur.com/jhOxR12.jpg",
- "Confused Gandalf": "//i.imgur.com/iIb5SEo.jpg",
- "Conspiracy Keanu": "//i.imgur.com/pFyk3J7.jpg",
- "Courage Wolf": "//i.imgur.com/H5qoXFb.jpg",
- "Dating Site Murderer": "//i.imgur.com/jffNNql.jpg",
- "Depression Dog": "//i.imgur.com/wgad6P8.jpg",
- "Drunk Baby": "//i.imgur.com/QvZdbRE.jpg",
- "English Motherfucker": "//i.imgur.com/sJThEC0.jpg",
- "Evil Plotting Raccoon": "//i.imgur.com/xMslWFf.jpg",
- "First Day On The Internet Kid": "//i.imgur.com/TWfdmVu.jpg",
- "First World Cat Problems": "//i.imgur.com/0vR5Slq.jpg",
- "First World Problem": "//i.imgur.com/ATcIl08.jpg",
- "Forever Alone": "//i.imgur.com/pcfXSUU.jpg",
- "Forever Resentful Mother": "//i.imgur.com/pIrdwo2.jpg",
- "Foul Bachelor Frog": "//i.imgur.com/JUFmusm.jpg",
- "Foul Bachelorette Frog": "//i.imgur.com/dYf971U.jpg",
- "Friendzone Fiona": "//i.imgur.com/Qu1eedL.jpg",
- "Frustrated Farnsworth": "//i.imgur.com/U3SElKP.jpg",
- "Fuck Me, Right?": "//i.imgur.com/J9gfxsx.jpg",
- "Gangster Baby": "//i.imgur.com/C3XhI56.jpg",
- "Good Girl Gina": "//i.imgur.com/qK6lYr2.jpg",
- "Good Guy Greg": "//i.imgur.com/UXMPoKN.jpg",
- "Grandma Finds The Internet": "//i.imgur.com/xPfGYqu.jpg",
- "Grinds My Gears": "//i.imgur.com/t4JqU1j.jpg",
- "Grumpy Cat (Tard)": "//i.imgur.com/dU5CDxN.jpg",
- "High Expectations Asian Father": "//i.imgur.com/7QeB9LI.jpg",
- "Hipster Barista": "//i.imgur.com/AbWxdy2.jpg",
- "Horrifying House Guest": "//i.imgur.com/DxmoFp1.jpg",
- "I Dare You Samuel Jackson": "//i.imgur.com/UQtpdqj.jpg",
- "I Should Buy A Boat": "//i.imgur.com/XqlqPxn.jpg",
- "I Too Like To Live Dangerously": "//i.imgur.com/qF70EL9.jpg",
- "Idiot Nerd Girl": "//i.imgur.com/8hYPYwd.jpg",
- "Insanity Wolf": "//i.imgur.com/GOOdg3k.jpg",
- "Joker Mind Loss": "//i.imgur.com/qQIRaOD.jpg",
- "Joseph Ducreux": "//i.imgur.com/QL7TyR9.jpg",
- "Lame Joke Eel": "//i.imgur.com/oQXw3jF.jpg",
- "Lame Pun Raccoon": "//i.imgur.com/nvALRK3.jpg",
- "Lazy College Senior": "//i.imgur.com/PpkVfzz.jpg",
- "Mad Karma": "//i.imgur.com/G0QMPum.jpg",
- "Masturbating Spidey": "//i.imgur.com/dZ7AB4c.jpg",
- "Matrix Morpheus": "//i.imgur.com/8Yrw6cZ.jpg",
- "Mayonnaise Patrick": "//i.imgur.com/5jE0Y7f.jpg",
- "Musically Oblivious 8th Grader": "//i.imgur.com/l5YHN5D.jpg",
- "Not Sure Fry": "//i.imgur.com/7rFgBB1.jpg",
- "Oblivious Suburban Mom": "//i.imgur.com/Y7o7UJs.jpg",
- "One Does Not Simply": "//i.imgur.com/7LrwR1Y.jpg",
- "Overly Attached Girlfriend": "//i.imgur.com/5blLJLR.jpg",
- "Overly Manly Man": "//i.imgur.com/dOSn9Na.jpg",
- "Paranoid Parrot": "//i.imgur.com/KooYHdg.jpg",
- "Pedobear": "//i.imgur.com/c6JZKRW.jpg",
- "Pepperidge Farm Remembers": "//i.imgur.com/uFde4v5.jpg",
- "Philosoraptor": "//i.imgur.com/eERhI5h.jpg",
- "Priority Peter": "//i.imgur.com/BBEFk0e.jpg",
- "Rasta Science Teacher": "//i.imgur.com/Js6Ai5T.jpg",
- "Redditor's Wife": "//i.imgur.com/d1XfJeD.jpg",
- "Revenge Band Kid": "//i.imgur.com/dlvmaRI.jpg",
- "Schrute Facts": "//i.imgur.com/UxcvPwT.jpg",
- "Scumbag Brain": "//i.imgur.com/OZhhZdS.jpg",
- "Scumbag Stacy": "//i.imgur.com/Qqz1axp.jpg",
- "Scumbag Steve": "//i.imgur.com/Rfvoc0Y.jpg",
- "Sexually Oblivious Rhino": "//i.imgur.com/RoaNuEC.jpg",
- "Sheltering Suburban Mom": "//i.imgur.com/vMkSofv.jpg",
- "Shut Up And Take My Money": "//i.imgur.com/uWe0rtQ.jpg",
- "Skeptical Third World Kid": "//i.imgur.com/uwAusxV.jpg",
- "Smug Spongebob": "//i.imgur.com/OTTRjrv.jpg",
- "Socially Awesome Penguin": "//i.imgur.com/S6WgQW7.jpg",
- "Success Kid": "//i.imgur.com/ZibijBz.jpg",
- "Successful Black Man": "//i.imgur.com/ogIm0cy.jpg",
- "Sudden Clarity Clarence": "//i.imgur.com/N3Xmfbe.jpg",
- "Tech Impaired Duck": "//i.imgur.com/riz28ci.jpg",
- "The Most Interesting Man In The World": "//i.imgur.com/MGv15MH.jpg",
- "The Rent Is Too High": "//i.imgur.com/r5WLktQ.jpg",
- "Tough Spongebob": "//i.imgur.com/2w0F1HX.jpg",
- "Unhelpful Highschool Teacher": "//i.imgur.com/ohbGhuD.jpg",
- "Vengeance Dad": "//i.imgur.com/0nUStsa.jpg",
- "What Year Is It?": "//i.imgur.com/fj79hQS.jpg",
- "X, X Everywhere": "//i.imgur.com/GGy94Gt.jpg",
- "Yeah That'd Be Great": "//i.imgur.com/nz9M2pl.jpg",
- "Yo Dawg Xzibit": "//i.imgur.com/XOyGqF2.jpg",
- "You're Bad And You Should Feel Bad": "//i.imgur.com/YsabGnQ.jpg",
- "You're Gonna Have A Bad Time": "//i.imgur.com/2tNR7P7.jpg"
- };
-
- /**
- * Since the console.log doesn't respond to the `display` style,
- * setting a width and height has no effect. In fact, the only styles
- * I've found it responds to is font-size, background-image and color.
- * To combat the image repeating, we have to get a create a font bounding
- * box so to speak with the unicode box characters. EDIT: See Readme.md
- *
- * @param {int} width The height of the box
- * @param {int} height The width of the box
- * @return {object} {string, css}
- */
- function getBox(width, height) {
- return {
- string: "+",
- style: "font-size: 1px; padding: " + Math.floor(height / 2) + "px " + Math.floor(width / 2) + "px; line-height: " + height + "px;"
- }
- }
-
- /**
- * Draw's meme text on a context.
- *
- * @param {CanvasRenderingContext2D} ctx The canvas context
- * @param {string} type "upper"|"lower"
- * @param {string} text The text to draw
- * @param {int} width The width of the image
- * @param {int} y The y value to draw at
- * @return {null}
- */
- function drawMemeText(ctx, type, text, width, y) {
- text = text.toUpperCase();
- //Determine the font size
- if (text.length < 24) {
- var val = Math.max(0, text.length - 12),
- size = 70 + (val * -3);
-
- drawText(ctx, size, text, width / 2, y);
- } else if (text.length < 29) {
- drawText(ctx, 40, text, width / 2, y);
- } else {
- var strs = wrap(text, 27);
- strs.forEach(function (str, i) {
- drawText(ctx, 40, str, width / 2, (type == "lower") ? (y - ((strs.length - 1) * 40)) + (i * 40) : y + (i * 40));
- });
- }
- }
-
- /**
- * Draws text in impact font with stroke on context
- *
- * @param {CanvasRenderingContext2D} ctx The canvas context
- * @param {int} size Font size
- * @param {string} text The string to write
- * @param {int} x X Position
- * @param {int} y Y position
- * @return {null}
- */
- function drawText(ctx, size, text, x, y) {
- //Set the text styles
- ctx.font = "bold " + size + "px Impact";
- ctx.fillStyle = "#fff";
- ctx.textAlign = "center";
- ctx.textBaseline = "middle";
- ctx.lineWidth = 7;
- ctx.strokeStyle = "#000";
- ctx.strokeText(text, x, y);
- ctx.fillText(text, x, y);
- }
-
- /**
- * Wrap a line of text at an index
- *
- * @param {string} text The text
- * @param {int} num The index to wrap at
- * @return {array} Array of text
- */
- function wrap(text, num) {
- var output = [],
- split = text.split(" ");
-
- var str = [];
- for (var i = 0, cache = split.length; i < cache; i++) {
- if ((str + split[i]).length < num) str.push(split[i])
- else {
- output.push(str.join(" "));
- str.length = 0;
- str.push(split[i]);
- }
- }
-
- //Push the final line
- output.push(str.join(" "));
-
- return output;
- }
-
- /**
- * Add a meme to the console!
- *
- * @param {string} upper The upper text
- * @param {string} lower The lower text
- * @param {string} image The meme type (see `console.meme` for all supported) or image url (Make sure it's CORS enabled)
- * @param {int} width The width of the meme
- * @param {int} height The height of the meme
- * @return {null}
- */
- console.meme = function (upper, lower, image, width, height) {
- if (!upper) console.error("Yo, you forgot the text for the upper part of the meme. The bit at the top. Yeah, that bit.");
- if (!lower) console.error("You forgot the text for the bottom of the meme, stupid.");
- if (!image) console.error("Dude, you forgot the meme type or url for the background image (CORS enabled, *hint* imgur *hint*). To see a list of supported memes, hit `console.meme()`");
- if (!upper && !lower && !image) return console.log("> " + Object.keys(memes).join("\n> "));
-
- var canvas = document.createElement("canvas"),
- ctx = canvas.getContext("2d"),
- width = width || 500,
- height = height || 500,
- //I tweaked it at these dimensions,
- //So everything scales from here
- _w = 500, _h = 500;
-
- var img = new Image();
- img.setAttribute('crossOrigin', 'anonymous');
- img.onload = function () {
- canvas.width = width;
- canvas.height = height;
-
- var text = upper.toUpperCase();
-
- ctx.scale(width / 500, height / 500);
-
- //Draw the background
- ctx.drawImage(this, 0, 0, _w, _h);
-
- drawMemeText(ctx, "upper", upper, _w, 50); //upper
- drawMemeText(ctx, "lower", lower, _w, _h - 50); //upper
-
- console.image(canvas.toDataURL());
- };
-
- if (memes[image]) var url = memes[image];
- else var url = image;
-
- img.src = url; //"http://www.corsproxy.com/" + url.replace(/https?:\/\//, "");
- };
-
- /**
- * Display an image in the console.
- * @param {string} url The url of the image.
- * @param {int} scale Scale factor on the image
- * @return {null}
- */
- console.image = function (url, scale) {
- scale = scale || 1;
- var img = new Image();
-
- img.onload = function () {
- var dim = getBox(this.width * scale, this.height * scale);
- console.log("%c" + dim.string, dim.style + "background: url(" + url + "); background-size: " + (this.width * scale) + "px " + (this.height * scale) + "px; color: transparent;");
- };
-
- img.src = url;
- };
-})(console);
\ No newline at end of file
diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/console.js b/main/app/sprinkles/core/assets/SiteAssets/js/console.js
deleted file mode 100644
index 8550122..0000000
--- a/main/app/sprinkles/core/assets/SiteAssets/js/console.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * File for some things logged in console // TODO: Create Error/Success logger functions so we don't need to write the whole log things several times
- */
-
-console.log("%s%c%s%c%s%c%s%c%s%c%s%c",
- " ____ _____ _ __ __ \n" +
- "| __ ) | ____| / \\ | \\/ |\n" +
- "| _ \\ | _| / _ \\ | |\\/| |\n" +
- "| |_) || |___ / ___ \\ | | | |\n" +
- "|____/ |_____|/_/ \\_\\|_| |_|\n",
- "whitespace: pre;",
- "Hello, world! Thanks for checking our code.\nAs this project is completely open source it would be an better option to look here:\n",
- "color: blue;", "https://github.com/marvinborner/BEAM-Messenger\n\n",
- "", "...or even clone the entire repo with the command:\n",
- "border-radius: 100px; padding: 2px; background-color: black; color: white;", "git clone https://github.com/marvinborner/BEAM-Messenger.git\n",
- "", "\nWe are also thankful for every contributor we have, so if you have any idea, fix or anything else - feel free to make a pull request.",
- "font-family: monospace;");
-
-function playGame() {
- var a, b, d, e, f, g, h, k, l, m, n, p, q, r;
- h = "<0>-----------------------<0>--------------";
- f = [0, 20];
- p = [];
- n = !1;
- m = d = 0;
- q = 1;
- e = function (c) {
- var s;
- s = p[c[0]].substr(c[1] + 1, 1);
- p[c[0]] = p[c[0]].substr(0, c[1]) + "X" + p[c[0]].substr(c[1] + 1);
- return s
- };
- b = function (c) {
- return /[<0>]/.test(c)
- };
- k = function () {
- n = !0;
- return setTimeout(function () {
- alert("Oops, you got squashed.\n\nTry again");
- n = !1;
- f = [0, 20];
- return q++
- }, 60)
- };
- r = function () {
- n = !0;
- setTimeout(function () {
- alert("CONGRATULATIONS! You made it! Nice.\n\nIt took you " + q + " tries, " + m + " moves, and " + d + " draw cycles");
- n = !1;
- m = d = 0;
- q = 1;
- return f = [0, 20]
- }, 60)
- };
- g = null;
- l = {
- 38: function () {
- if (f[0] < p.length - 1) return f[0]++
- }, 40: function () {
- if (0 < f[0]) return f[0]--
- }, 37: function () {
- if (0 < f[1]) return f[1]--
- }, 39: function () {
- if (f[1] < h.length - 1) return f[1]++
- }
- };
- document.onkeydown = function (c) {
- g = c.keyCode;
- return m++
- };
- a = setInterval(function () {
- var c;
- if (!n) if (d++, l[g] && (l[g](), g = null), 27 === g) clearInterval(a); else if (h = h.substr(-1) + h.substr(0, h.length - 1), p = ["ooooooooooooooooooooooooooooooooooooooooooo", h, h.split("").reverse().join(""), h.substr(-11) + h.substr(0, h.length - 11), h.split("").reverse().join("").substr(-11) + h.split("").reverse().join("").substr(0, h.length - 11), "ooooooooooooooooooooooooooooooooooooooooooo"], c = e(f), console.clear(), console.log("\n\nYou found a secret game!\nTake a break from coding and play it! :)\n\nYour Goal: Use the arrow keys to move the 'X' across the street and avoid the cars - just ignore the rest of the screen.\nPress 'Esc' to stop the game.\n\n(Note, if your cursor is in the console you'll need to click on the page outside the console so the arrow keys will work)\n\n\n"), console.log(p[5]), console.log(p[4]), console.log(p[3]), console.log(p[2]), console.log(p[1]), console.log(p[0]), console.log("\n\nMade by @jschomay"), f[0] >= p.length - 1 && r(), b(c)) return k()
- }, 60);
-}
\ No newline at end of file
diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/encryption.js b/main/app/sprinkles/core/assets/SiteAssets/js/encryption.js
deleted file mode 100644
index 9185505..0000000
--- a/main/app/sprinkles/core/assets/SiteAssets/js/encryption.js
+++ /dev/null
@@ -1,19121 +0,0 @@
-/*! OpenPGP.js v3.0.9 - 2018-04-30 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
-!function (e) {
- if ("object" == typeof exports && "undefined" != typeof module) module.exports = e(); else if ("function" == typeof define && define.amd) define([], e); else {
- ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).openpgp = e()
- }
-}(function () {
- return function e(t, r, n) {
- function i(s, o) {
- if (!r[s]) {
- if (!t[s]) {
- var u = "function" == typeof require && require;
- if (!o && u) return u(s, !0);
- if (a) return a(s, !0);
- var f = new Error("Cannot find module '" + s + "'");
- throw f.code = "MODULE_NOT_FOUND", f
- }
- var c = r[s] = {exports: {}};
- t[s][0].call(c.exports, function (e) {
- var r = t[s][1][e];
- return i(r || e)
- }, c, c.exports, e, t, r, n)
- }
- return r[s].exports
- }
-
- for (var a = "function" == typeof require && require, s = 0; s < n.length; s++) i(n[s]);
- return i
- }({
- 1: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0});
- r.AES_asm = function () {
- var e, t, r = !1;
-
- function n(r, n) {
- var i = e[(t[r] + t[n]) % 255];
- return 0 !== r && 0 !== n || (i = 0), i
- }
-
- var i, a, s, o;
-
- function u() {
- function u(r) {
- var n, i, a;
- for (i = a = function (r) {
- var n = e[255 - t[r]];
- return 0 === r && (n = 0), n
- }(r), n = 0; n < 4; n++) a ^= i = 255 & (i << 1 | i >>> 7);
- return a ^= 99
- }
-
- r || function () {
- e = [], t = [];
- var n, i, a = 1;
- for (n = 0; n < 255; n++) e[n] = a, i = 128 & a, a <<= 1, a &= 255, 128 === i && (a ^= 27), a ^= e[n], t[e[n]] = n;
- e[255] = e[0], t[0] = 0, r = !0
- }(), i = [], a = [], s = [[], [], [], []], o = [[], [], [], []];
- for (var f = 0; f < 256; f++) {
- var c = u(f);
- i[f] = c, a[c] = f, s[0][f] = n(2, c) << 24 | c << 16 | c << 8 | n(3, c), o[0][c] = n(14, f) << 24 | n(9, f) << 16 | n(13, f) << 8 | n(11, f);
- for (var d = 1; d < 4; d++) s[d][f] = s[d - 1][f] >>> 8 | s[d - 1][f] << 24, o[d][c] = o[d - 1][c] >>> 8 | o[d - 1][c] << 24
- }
- }
-
- var f = function (e, t) {
- u();
- var r = new Uint32Array(t);
- r.set(i, 512), r.set(a, 768);
- for (var n = 0; n < 4; n++) r.set(s[n], 4096 + 1024 * n >> 2), r.set(o[n], 8192 + 1024 * n >> 2);
- var f = function (e, t, r) {
- "use asm";
- var n = 0, i = 0, a = 0, s = 0, o = 0, u = 0, f = 0, c = 0, d = 0, l = 0, h = 0, p = 0, y = 0,
- b = 0, m = 0, g = 0, v = 0, _ = 0, w = 0, k = 0, A = 0;
- var x = new e.Uint32Array(r), S = new e.Uint8Array(r);
-
- function E(e, t, r, o, u, f, c, d) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- o = o | 0;
- u = u | 0;
- f = f | 0;
- c = c | 0;
- d = d | 0;
- var l = 0, h = 0, p = 0, y = 0, b = 0, m = 0, g = 0, v = 0;
- l = r | 0x400, h = r | 0x800, p = r | 0xc00;
- u = u ^ x[(e | 0) >> 2], f = f ^ x[(e | 4) >> 2], c = c ^ x[(e | 8) >> 2], d = d ^ x[(e | 12) >> 2];
- for (v = 16; (v | 0) <= o << 4; v = v + 16 | 0) {
- y = x[(r | u >> 22 & 1020) >> 2] ^ x[(l | f >> 14 & 1020) >> 2] ^ x[(h | c >> 6 & 1020) >> 2] ^ x[(p | d << 2 & 1020) >> 2] ^ x[(e | v | 0) >> 2], b = x[(r | f >> 22 & 1020) >> 2] ^ x[(l | c >> 14 & 1020) >> 2] ^ x[(h | d >> 6 & 1020) >> 2] ^ x[(p | u << 2 & 1020) >> 2] ^ x[(e | v | 4) >> 2], m = x[(r | c >> 22 & 1020) >> 2] ^ x[(l | d >> 14 & 1020) >> 2] ^ x[(h | u >> 6 & 1020) >> 2] ^ x[(p | f << 2 & 1020) >> 2] ^ x[(e | v | 8) >> 2], g = x[(r | d >> 22 & 1020) >> 2] ^ x[(l | u >> 14 & 1020) >> 2] ^ x[(h | f >> 6 & 1020) >> 2] ^ x[(p | c << 2 & 1020) >> 2] ^ x[(e | v | 12) >> 2];
- u = y, f = b, c = m, d = g
- }
- n = x[(t | u >> 22 & 1020) >> 2] << 24 ^ x[(t | f >> 14 & 1020) >> 2] << 16 ^ x[(t | c >> 6 & 1020) >> 2] << 8 ^ x[(t | d << 2 & 1020) >> 2] ^ x[(e | v | 0) >> 2], i = x[(t | f >> 22 & 1020) >> 2] << 24 ^ x[(t | c >> 14 & 1020) >> 2] << 16 ^ x[(t | d >> 6 & 1020) >> 2] << 8 ^ x[(t | u << 2 & 1020) >> 2] ^ x[(e | v | 4) >> 2], a = x[(t | c >> 22 & 1020) >> 2] << 24 ^ x[(t | d >> 14 & 1020) >> 2] << 16 ^ x[(t | u >> 6 & 1020) >> 2] << 8 ^ x[(t | f << 2 & 1020) >> 2] ^ x[(e | v | 8) >> 2], s = x[(t | d >> 22 & 1020) >> 2] << 24 ^ x[(t | u >> 14 & 1020) >> 2] << 16 ^ x[(t | f >> 6 & 1020) >> 2] << 8 ^ x[(t | c << 2 & 1020) >> 2] ^ x[(e | v | 12) >> 2]
- }
-
- function M(e, t, r, n) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- n = n | 0;
- E(0x0000, 0x0800, 0x1000, A, e, t, r, n)
- }
-
- function C(e, t, r, n) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- n = n | 0;
- var a = 0;
- E(0x0400, 0x0c00, 0x2000, A, e, n, r, t);
- a = i, i = s, s = a
- }
-
- function j(e, t, r, d) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- d = d | 0;
- E(0x0000, 0x0800, 0x1000, A, o ^ e, u ^ t, f ^ r, c ^ d);
- o = n, u = i, f = a, c = s
- }
-
- function P(e, t, r, d) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- d = d | 0;
- var l = 0;
- E(0x0400, 0x0c00, 0x2000, A, e, d, r, t);
- l = i, i = s, s = l;
- n = n ^ o, i = i ^ u, a = a ^ f, s = s ^ c;
- o = e, u = t, f = r, c = d
- }
-
- function B(e, t, r, d) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- d = d | 0;
- E(0x0000, 0x0800, 0x1000, A, o, u, f, c);
- o = n = n ^ e, u = i = i ^ t, f = a = a ^ r, c = s = s ^ d
- }
-
- function U(e, t, r, d) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- d = d | 0;
- E(0x0000, 0x0800, 0x1000, A, o, u, f, c);
- n = n ^ e, i = i ^ t, a = a ^ r, s = s ^ d;
- o = e, u = t, f = r, c = d
- }
-
- function K(e, t, r, d) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- d = d | 0;
- E(0x0000, 0x0800, 0x1000, A, o, u, f, c);
- o = n, u = i, f = a, c = s;
- n = n ^ e, i = i ^ t, a = a ^ r, s = s ^ d
- }
-
- function I(e, t, r, o) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- o = o | 0;
- E(0x0000, 0x0800, 0x1000, A, d, l, h, p);
- p = ~g & p | g & p + 1;
- h = ~m & h | m & h + ((p | 0) == 0);
- l = ~b & l | b & l + ((h | 0) == 0);
- d = ~y & d | y & d + ((l | 0) == 0);
- n = n ^ e;
- i = i ^ t;
- a = a ^ r;
- s = s ^ o
- }
-
- function T(e, t, r, n) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- n = n | 0;
- var i = 0, a = 0, s = 0, d = 0, l = 0, h = 0, p = 0, y = 0, b = 0, m = 0;
- e = e ^ o, t = t ^ u, r = r ^ f, n = n ^ c;
- i = v | 0, a = _ | 0, s = w | 0, d = k | 0;
- for (; (b | 0) < 128; b = b + 1 | 0) {
- if (i >>> 31) {
- l = l ^ e, h = h ^ t, p = p ^ r, y = y ^ n
- }
- i = i << 1 | a >>> 31, a = a << 1 | s >>> 31, s = s << 1 | d >>> 31, d = d << 1;
- m = n & 1;
- n = n >>> 1 | r << 31, r = r >>> 1 | t << 31, t = t >>> 1 | e << 31, e = e >>> 1;
- if (m) e = e ^ 0xe1000000
- }
- o = l, u = h, f = p, c = y
- }
-
- function O(e) {
- e = e | 0;
- A = e
- }
-
- function R(e, t, r, o) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- o = o | 0;
- n = e, i = t, a = r, s = o
- }
-
- function D(e, t, r, n) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- n = n | 0;
- o = e, u = t, f = r, c = n
- }
-
- function z(e, t, r, n) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- n = n | 0;
- d = e, l = t, h = r, p = n
- }
-
- function L(e, t, r, n) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- n = n | 0;
- y = e, b = t, m = r, g = n
- }
-
- function F(e, t, r, n) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- n = n | 0;
- p = ~g & p | g & n, h = ~m & h | m & r, l = ~b & l | b & t, d = ~y & d | y & e
- }
-
- function N(e) {
- e = e | 0;
- if (e & 15) return -1;
- S[e | 0] = n >>> 24, S[e | 1] = n >>> 16 & 255, S[e | 2] = n >>> 8 & 255, S[e | 3] = n & 255, S[e | 4] = i >>> 24, S[e | 5] = i >>> 16 & 255, S[e | 6] = i >>> 8 & 255, S[e | 7] = i & 255, S[e | 8] = a >>> 24, S[e | 9] = a >>> 16 & 255, S[e | 10] = a >>> 8 & 255, S[e | 11] = a & 255, S[e | 12] = s >>> 24, S[e | 13] = s >>> 16 & 255, S[e | 14] = s >>> 8 & 255, S[e | 15] = s & 255;
- return 16
- }
-
- function q(e) {
- e = e | 0;
- if (e & 15) return -1;
- S[e | 0] = o >>> 24, S[e | 1] = o >>> 16 & 255, S[e | 2] = o >>> 8 & 255, S[e | 3] = o & 255, S[e | 4] = u >>> 24, S[e | 5] = u >>> 16 & 255, S[e | 6] = u >>> 8 & 255, S[e | 7] = u & 255, S[e | 8] = f >>> 24, S[e | 9] = f >>> 16 & 255, S[e | 10] = f >>> 8 & 255, S[e | 11] = f & 255, S[e | 12] = c >>> 24, S[e | 13] = c >>> 16 & 255, S[e | 14] = c >>> 8 & 255, S[e | 15] = c & 255;
- return 16
- }
-
- function G() {
- M(0, 0, 0, 0);
- v = n, _ = i, w = a, k = s
- }
-
- function H(e, t, r) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- var o = 0;
- if (t & 15) return -1;
- while ((r | 0) >= 16) {
- V[e & 7](S[t | 0] << 24 | S[t | 1] << 16 | S[t | 2] << 8 | S[t | 3], S[t | 4] << 24 | S[t | 5] << 16 | S[t | 6] << 8 | S[t | 7], S[t | 8] << 24 | S[t | 9] << 16 | S[t | 10] << 8 | S[t | 11], S[t | 12] << 24 | S[t | 13] << 16 | S[t | 14] << 8 | S[t | 15]);
- S[t | 0] = n >>> 24, S[t | 1] = n >>> 16 & 255, S[t | 2] = n >>> 8 & 255, S[t | 3] = n & 255, S[t | 4] = i >>> 24, S[t | 5] = i >>> 16 & 255, S[t | 6] = i >>> 8 & 255, S[t | 7] = i & 255, S[t | 8] = a >>> 24, S[t | 9] = a >>> 16 & 255, S[t | 10] = a >>> 8 & 255, S[t | 11] = a & 255, S[t | 12] = s >>> 24, S[t | 13] = s >>> 16 & 255, S[t | 14] = s >>> 8 & 255, S[t | 15] = s & 255;
- o = o + 16 | 0, t = t + 16 | 0, r = r - 16 | 0
- }
- return o | 0
- }
-
- function Z(e, t, r) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- var n = 0;
- if (t & 15) return -1;
- while ((r | 0) >= 16) {
- W[e & 1](S[t | 0] << 24 | S[t | 1] << 16 | S[t | 2] << 8 | S[t | 3], S[t | 4] << 24 | S[t | 5] << 16 | S[t | 6] << 8 | S[t | 7], S[t | 8] << 24 | S[t | 9] << 16 | S[t | 10] << 8 | S[t | 11], S[t | 12] << 24 | S[t | 13] << 16 | S[t | 14] << 8 | S[t | 15]);
- n = n + 16 | 0, t = t + 16 | 0, r = r - 16 | 0
- }
- return n | 0
- }
-
- var V = [M, C, j, P, B, U, K, I];
- var W = [j, T];
- return {
- set_rounds: O,
- set_state: R,
- set_iv: D,
- set_nonce: z,
- set_mask: L,
- set_counter: F,
- get_state: N,
- get_iv: q,
- gcm_init: G,
- cipher: H,
- mac: Z
- }
- }({Uint8Array: Uint8Array, Uint32Array: Uint32Array}, e, t);
- return f.set_key = function (e, t, n, a, s, u, c, d, l) {
- var h = r.subarray(0, 60), p = r.subarray(256, 316);
- h.set([t, n, a, s, u, c, d, l]);
- for (var y = e, b = 1; y < 4 * e + 28; y++) {
- var m = h[y - 1];
- (y % e == 0 || 8 === e && y % e == 4) && (m = i[m >>> 24] << 24 ^ i[m >>> 16 & 255] << 16 ^ i[m >>> 8 & 255] << 8 ^ i[255 & m]), y % e == 0 && (m = m << 8 ^ m >>> 24 ^ b << 24, b = b << 1 ^ (128 & b ? 27 : 0)), h[y] = h[y - e] ^ m
- }
- for (var g = 0; g < y; g += 4) for (var v = 0; v < 4; v++) m = h[y - (4 + g) + (4 - v) % 4], p[g + v] = g < 4 || g >= y - 4 ? m : o[0][i[m >>> 24]] ^ o[1][i[m >>> 16 & 255]] ^ o[2][i[m >>> 8 & 255]] ^ o[3][i[255 & m]];
- f.set_rounds(e + 5)
- }, f
- };
- return f.ENC = {ECB: 0, CBC: 2, CFB: 4, OFB: 6, CTR: 7}, f.DEC = {
- ECB: 1,
- CBC: 3,
- CFB: 5,
- OFB: 6,
- CTR: 7
- }, f.MAC = {CBC: 0, GCM: 1}, f.HEAP_DATA = 16384, f
- }()
- }, {}],
- 2: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES = void 0;
- var n = u(e("babel-runtime/helpers/classCallCheck")), i = u(e("babel-runtime/helpers/createClass")),
- a = e("./aes.asm"), s = e("../utils"), o = e("../errors");
-
- function u(e) {
- return e && e.__esModule ? e : {default: e}
- }
-
- r.AES = function () {
- function e(t, r, i, o, u) {
- (0, n.default)(this, e), this.nonce = null, this.counter = 0, this.counterSize = 0, this.heap = (0, s._heap_init)(Uint8Array, o).subarray(a.AES_asm.HEAP_DATA), this.asm = u || (0, a.AES_asm)(null, this.heap.buffer), this.mode = null, this.key = null, this.AES_reset(t, r, i)
- }
-
- return (0, i.default)(e, [{
- key: "AES_set_key", value: function (e) {
- if (void 0 !== e) {
- if (!(0, s.is_bytes)(e)) throw new TypeError("unexpected key type");
- var t = e.length;
- if (16 !== t && 24 !== t && 32 !== t) throw new o.IllegalArgumentError("illegal key size");
- var r = new DataView(e.buffer, e.byteOffset, e.byteLength);
- this.asm.set_key(t >> 2, r.getUint32(0), r.getUint32(4), r.getUint32(8), r.getUint32(12), t > 16 ? r.getUint32(16) : 0, t > 16 ? r.getUint32(20) : 0, t > 24 ? r.getUint32(24) : 0, t > 24 ? r.getUint32(28) : 0), this.key = e
- } else if (!this.key) throw new Error("key is required")
- }
- }, {
- key: "AES_CTR_set_options", value: function (e, t, r) {
- if (void 0 !== r) {
- if (r < 8 || r > 48) throw new o.IllegalArgumentError("illegal counter size");
- this.counterSize = r;
- var n = Math.pow(2, r) - 1;
- this.asm.set_mask(0, 0, n / 4294967296 | 0, 0 | n)
- } else this.counterSize = r = 48, this.asm.set_mask(0, 0, 65535, 4294967295);
- if (void 0 === e) throw new Error("nonce is required");
- if (!(0, s.is_bytes)(e)) throw new TypeError("unexpected nonce type");
- var i = e.length;
- if (!i || i > 16) throw new o.IllegalArgumentError("illegal nonce size");
- this.nonce = e;
- var a = new DataView(new ArrayBuffer(16));
- if (new Uint8Array(a.buffer).set(e), this.asm.set_nonce(a.getUint32(0), a.getUint32(4), a.getUint32(8), a.getUint32(12)), void 0 !== t) {
- if (!(0, s.is_number)(t)) throw new TypeError("unexpected counter type");
- if (t < 0 || t >= Math.pow(2, r)) throw new o.IllegalArgumentError("illegal counter value");
- this.counter = t, this.asm.set_counter(0, 0, t / 4294967296 | 0, 0 | t)
- } else this.counter = 0
- }
- }, {
- key: "AES_set_iv", value: function (e) {
- if (void 0 !== e) {
- if (!(0, s.is_bytes)(e)) throw new TypeError("unexpected iv type");
- if (16 !== e.length) throw new o.IllegalArgumentError("illegal iv size");
- var t = new DataView(e.buffer, e.byteOffset, e.byteLength);
- this.iv = e, this.asm.set_iv(t.getUint32(0), t.getUint32(4), t.getUint32(8), t.getUint32(12))
- } else this.iv = null, this.asm.set_iv(0, 0, 0, 0)
- }
- }, {
- key: "AES_set_padding", value: function (e) {
- this.padding = void 0 === e || !!e
- }
- }, {
- key: "AES_reset", value: function (e, t, r) {
- return this.result = null, this.pos = 0, this.len = 0, this.AES_set_key(e), this.AES_set_iv(t), this.AES_set_padding(r), this
- }
- }, {
- key: "AES_Encrypt_process", value: function (e) {
- if (!(0, s.is_bytes)(e)) throw new TypeError("data isn't of expected type");
- for (var t = this.asm, r = this.heap, n = a.AES_asm.ENC[this.mode], i = a.AES_asm.HEAP_DATA, o = this.pos, u = this.len, f = 0, c = e.length || 0, d = 0, l = 0, h = new Uint8Array(u + c & -16); c > 0;) u += l = (0, s._heap_write)(r, o + u, e, f, c), f += l, c -= l, (l = t.cipher(n, i + o, u)) && h.set(r.subarray(o, o + l), d), d += l, l < u ? (o += l, u -= l) : (o = 0, u = 0);
- return this.result = h, this.pos = o, this.len = u, this
- }
- }, {
- key: "AES_Encrypt_finish", value: function (e) {
- var t = null, r = 0;
- void 0 !== e && (r = (t = this.AES_Encrypt_process(e).result).length);
- var n = this.asm, i = this.heap, s = a.AES_asm.ENC[this.mode], u = a.AES_asm.HEAP_DATA,
- f = this.pos, c = this.len, d = 16 - c % 16, l = c;
- if (this.hasOwnProperty("padding")) {
- if (this.padding) {
- for (var h = 0; h < d; ++h) i[f + c + h] = d;
- l = c += d
- } else if (c % 16) throw new o.IllegalArgumentError("data length must be a multiple of the block size")
- } else c += d;
- var p = new Uint8Array(r + l);
- return r && p.set(t), c && n.cipher(s, u + f, c), l && p.set(i.subarray(f, f + l), r), this.result = p, this.pos = 0, this.len = 0, this
- }
- }, {
- key: "AES_Decrypt_process", value: function (e) {
- if (!(0, s.is_bytes)(e)) throw new TypeError("data isn't of expected type");
- var t = this.asm, r = this.heap, n = a.AES_asm.DEC[this.mode], i = a.AES_asm.HEAP_DATA,
- o = this.pos, u = this.len, f = 0, c = e.length || 0, d = 0, l = u + c & -16, h = 0, p = 0;
- this.padding && (l -= h = u + c - l || 16);
- for (var y = new Uint8Array(l); c > 0;) u += p = (0, s._heap_write)(r, o + u, e, f, c), f += p, c -= p, (p = t.cipher(n, i + o, u - (c ? 0 : h))) && y.set(r.subarray(o, o + p), d), d += p, p < u ? (o += p, u -= p) : (o = 0, u = 0);
- return this.result = y, this.pos = o, this.len = u, this
- }
- }, {
- key: "AES_Decrypt_finish", value: function (e) {
- var t = null, r = 0;
- void 0 !== e && (r = (t = this.AES_Decrypt_process(e).result).length);
- var n = this.asm, i = this.heap, s = a.AES_asm.DEC[this.mode], u = a.AES_asm.HEAP_DATA,
- f = this.pos, c = this.len, d = c;
- if (c > 0) {
- if (c % 16) {
- if (this.hasOwnProperty("padding")) throw new o.IllegalArgumentError("data length must be a multiple of the block size");
- c += 16 - c % 16
- }
- if (n.cipher(s, u + f, c), this.hasOwnProperty("padding") && this.padding) {
- var l = i[f + d - 1];
- if (l < 1 || l > 16 || l > d) throw new o.SecurityError("bad padding");
- for (var h = 0, p = l; p > 1; p--) h |= l ^ i[f + d - p];
- if (h) throw new o.SecurityError("bad padding");
- d -= l
- }
- }
- var y = new Uint8Array(r + d);
- return r > 0 && y.set(t), d > 0 && y.set(i.subarray(f, f + d), r), this.result = y, this.pos = 0, this.len = 0, this
- }
- }]), e
- }()
- }, {
- "../errors": 13,
- "../utils": 18,
- "./aes.asm": 1,
- "babel-runtime/helpers/classCallCheck": 32,
- "babel-runtime/helpers/createClass": 33
- }],
- 3: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES_CBC_Decrypt = r.AES_CBC_Encrypt = r.AES_CBC = void 0;
- var n = f(e("babel-runtime/core-js/object/get-prototype-of")),
- i = f(e("babel-runtime/helpers/classCallCheck")), a = f(e("babel-runtime/helpers/createClass")),
- s = f(e("babel-runtime/helpers/possibleConstructorReturn")), o = f(e("babel-runtime/helpers/inherits")),
- u = e("../aes");
-
- function f(e) {
- return e && e.__esModule ? e : {default: e}
- }
-
- var c = r.AES_CBC = function (e) {
- function t(e) {
- var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null,
- a = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], o = arguments[3],
- u = arguments[4];
- (0, i.default)(this, t);
- var f = (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a, o, u));
- return f.mode = "CBC", f.BLOCK_SIZE = 16, f
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "encrypt", value: function (e) {
- return this.AES_Encrypt_finish(e)
- }
- }, {
- key: "decrypt", value: function (e) {
- return this.AES_Decrypt_finish(e)
- }
- }]), t
- }(u.AES);
- r.AES_CBC_Encrypt = function (e) {
- function t(e, r, a, o, u) {
- return (0, i.default)(this, t), (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a, o, u))
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "reset", value: function (e) {
- return this.AES_reset(e, null, !0)
- }
- }, {
- key: "process", value: function (e) {
- return this.AES_Encrypt_process(e)
- }
- }, {
- key: "finish", value: function (e) {
- return this.AES_Encrypt_finish(e)
- }
- }]), t
- }(c), r.AES_CBC_Decrypt = function (e) {
- function t(e, r, a, o, u) {
- return (0, i.default)(this, t), (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a, o, u))
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "reset", value: function (e) {
- return this.AES_reset(e, null, !0)
- }
- }, {
- key: "process", value: function (e) {
- return this.AES_Decrypt_process(e)
- }
- }, {
- key: "finish", value: function (e) {
- return this.AES_Decrypt_finish(e)
- }
- }]), t
- }(c)
- }, {
- "../aes": 2,
- "babel-runtime/core-js/object/get-prototype-of": 26,
- "babel-runtime/helpers/classCallCheck": 32,
- "babel-runtime/helpers/createClass": 33,
- "babel-runtime/helpers/inherits": 34,
- "babel-runtime/helpers/possibleConstructorReturn": 35
- }],
- 4: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES_CBC_Decrypt = r.AES_CBC_Encrypt = r.AES_CBC = void 0;
- var n = e("../exports"), i = e("./cbc");
- i.AES_CBC.encrypt = function (e, t, r, a) {
- if (void 0 === e) throw new SyntaxError("data required");
- if (void 0 === t) throw new SyntaxError("key required");
- return new i.AES_CBC(t, a, r, n._AES_heap_instance, n._AES_asm_instance).encrypt(e).result
- }, i.AES_CBC.decrypt = function (e, t, r, a) {
- if (void 0 === e) throw new SyntaxError("data required");
- if (void 0 === t) throw new SyntaxError("key required");
- return new i.AES_CBC(t, a, r, n._AES_heap_instance, n._AES_asm_instance).decrypt(e).result
- }, r.AES_CBC = i.AES_CBC, r.AES_CBC_Encrypt = i.AES_CBC_Encrypt, r.AES_CBC_Decrypt = i.AES_CBC_Decrypt
- }, {"../exports": 10, "./cbc": 3}],
- 5: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES_CFB_Decrypt = r.AES_CFB_Encrypt = r.AES_CFB = void 0;
- var n = f(e("babel-runtime/core-js/object/get-prototype-of")),
- i = f(e("babel-runtime/helpers/classCallCheck")), a = f(e("babel-runtime/helpers/createClass")),
- s = f(e("babel-runtime/helpers/possibleConstructorReturn")), o = f(e("babel-runtime/helpers/inherits")),
- u = e("../aes");
-
- function f(e) {
- return e && e.__esModule ? e : {default: e}
- }
-
- var c = r.AES_CFB = function (e) {
- function t(e, r, a, o) {
- (0, i.default)(this, t);
- var u = (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, !0, a, o));
- return delete u.padding, u.mode = "CFB", u.BLOCK_SIZE = 16, u
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "encrypt", value: function (e) {
- return this.AES_Encrypt_finish(e)
- }
- }, {
- key: "decrypt", value: function (e) {
- return this.AES_Decrypt_finish(e)
- }
- }]), t
- }(u.AES);
- r.AES_CFB_Encrypt = function (e) {
- function t(e, r, a, o) {
- return (0, i.default)(this, t), (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a, o))
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "reset", value: function (e, t, r) {
- return this.AES_reset(e, t, r)
- }
- }, {
- key: "process", value: function (e) {
- return this.AES_Encrypt_process(e)
- }
- }, {
- key: "finish", value: function (e) {
- return this.AES_Encrypt_finish(e)
- }
- }]), t
- }(c), r.AES_CFB_Decrypt = function (e) {
- function t(e, r, a, o) {
- return (0, i.default)(this, t), (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a, o))
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "reset", value: function (e, t, r) {
- return this.AES_reset(e, t, r)
- }
- }, {
- key: "process", value: function (e) {
- return this.AES_Decrypt_process(e)
- }
- }, {
- key: "finish", value: function (e) {
- return this.AES_Decrypt_finish(e)
- }
- }]), t
- }(c)
- }, {
- "../aes": 2,
- "babel-runtime/core-js/object/get-prototype-of": 26,
- "babel-runtime/helpers/classCallCheck": 32,
- "babel-runtime/helpers/createClass": 33,
- "babel-runtime/helpers/inherits": 34,
- "babel-runtime/helpers/possibleConstructorReturn": 35
- }],
- 6: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES_CFB_Decrypt = r.AES_CFB_Encrypt = r.AES_CFB = void 0;
- var n = e("../exports"), i = e("./cfb");
- i.AES_CFB.encrypt = function (e, t, r) {
- if (void 0 === e) throw new SyntaxError("data required");
- if (void 0 === t) throw new SyntaxError("key required");
- return new i.AES_CFB(t, r, n._AES_heap_instance, n._AES_asm_instance).encrypt(e).result
- }, i.AES_CFB.decrypt = function (e, t, r) {
- if (void 0 === e) throw new SyntaxError("data required");
- if (void 0 === t) throw new SyntaxError("key required");
- return new i.AES_CFB(t, r, n._AES_heap_instance, n._AES_asm_instance).decrypt(e).result
- }, r.AES_CFB = i.AES_CFB, r.AES_CFB_Encrypt = i.AES_CFB_Encrypt, r.AES_CFB_Decrypt = i.AES_CFB_Decrypt
- }, {"../exports": 10, "./cfb": 5}],
- 7: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES_CTR_Crypt = r.AES_CTR = void 0;
- var n = f(e("babel-runtime/core-js/object/get-prototype-of")),
- i = f(e("babel-runtime/helpers/classCallCheck")), a = f(e("babel-runtime/helpers/createClass")),
- s = f(e("babel-runtime/helpers/possibleConstructorReturn")), o = f(e("babel-runtime/helpers/inherits")),
- u = e("../aes");
-
- function f(e) {
- return e && e.__esModule ? e : {default: e}
- }
-
- var c = r.AES_CTR = function (e) {
- function t(e, r, a, o) {
- (0, i.default)(this, t);
- var u = (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, void 0, void 0, a, o));
- return u.reset(e, r), u.AES_CTR_set_options(r), delete u.padding, u.mode = "CTR", u.BLOCK_SIZE = 16, u
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "reset", value: function (e, t, r, n) {
- return this.AES_reset(e, void 0, void 0), this.AES_CTR_set_options(t, r, n), this
- }
- }, {
- key: "encrypt", value: function (e) {
- return this.AES_Encrypt_finish(e)
- }
- }, {
- key: "decrypt", value: function (e) {
- return this.AES_Encrypt_finish(e)
- }
- }]), t
- }(u.AES);
- r.AES_CTR_Crypt = function (e) {
- function t(e, r, a, o) {
- (0, i.default)(this, t);
- var u = (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a, o));
- return u.BLOCK_SIZE = 16, u
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "reset", value: function (e, t, r, n) {
- return this.AES_reset(e, void 0, void 0), this.AES_CTR_set_options(t, r, n), this
- }
- }, {
- key: "process", value: function (e) {
- return this.AES_Encrypt_process(e)
- }
- }, {
- key: "finish", value: function (e) {
- return this.AES_Encrypt_finish(e)
- }
- }]), t
- }(c)
- }, {
- "../aes": 2,
- "babel-runtime/core-js/object/get-prototype-of": 26,
- "babel-runtime/helpers/classCallCheck": 32,
- "babel-runtime/helpers/createClass": 33,
- "babel-runtime/helpers/inherits": 34,
- "babel-runtime/helpers/possibleConstructorReturn": 35
- }],
- 8: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES_CTR = void 0;
- var n = e("../exports"), i = e("./ctr");
-
- function a(e, t, r) {
- if (void 0 === e) throw new SyntaxError("data required");
- if (void 0 === t) throw new SyntaxError("key required");
- if (void 0 === r) throw new SyntaxError("nonce required");
- return new i.AES_CTR(t, r, n._AES_heap_instance, n._AES_asm_instance).encrypt(e).result
- }
-
- i.AES_CTR.encrypt = a, i.AES_CTR.decrypt = a, r.AES_CTR = i.AES_CTR
- }, {"../exports": 10, "./ctr": 7}],
- 9: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES_ECB_Decrypt = r.AES_ECB_Encrypt = r.AES_ECB = void 0;
- var n = f(e("babel-runtime/core-js/object/get-prototype-of")),
- i = f(e("babel-runtime/helpers/classCallCheck")), a = f(e("babel-runtime/helpers/createClass")),
- s = f(e("babel-runtime/helpers/possibleConstructorReturn")), o = f(e("babel-runtime/helpers/inherits")),
- u = e("../aes");
-
- function f(e) {
- return e && e.__esModule ? e : {default: e}
- }
-
- var c = r.AES_ECB = function (e) {
- function t(e, r, a) {
- (0, i.default)(this, t);
- var o = (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, void 0, !1, r, a));
- return o.mode = "ECB", o.BLOCK_SIZE = 16, o
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "encrypt", value: function (e) {
- return this.AES_Encrypt_finish(e)
- }
- }, {
- key: "decrypt", value: function (e) {
- return this.AES_Decrypt_finish(e)
- }
- }]), t
- }(u.AES);
- r.AES_ECB_Encrypt = function (e) {
- function t(e, r, a) {
- return (0, i.default)(this, t), (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a))
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "reset", value: function (e) {
- return this.AES_reset(e, null, !0)
- }
- }, {
- key: "process", value: function (e) {
- return this.AES_Encrypt_process(e)
- }
- }, {
- key: "finish", value: function (e) {
- return this.AES_Encrypt_finish(e)
- }
- }]), t
- }(c), r.AES_ECB_Decrypt = function (e) {
- function t(e, r, a) {
- return (0, i.default)(this, t), (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a))
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "reset", value: function (e) {
- return this.AES_reset(e, null, !0)
- }
- }, {
- key: "process", value: function (e) {
- return this.AES_Decrypt_process(e)
- }
- }, {
- key: "finish", value: function (e) {
- return this.AES_Decrypt_finish(e)
- }
- }]), t
- }(c)
- }, {
- "../aes": 2,
- "babel-runtime/core-js/object/get-prototype-of": 26,
- "babel-runtime/helpers/classCallCheck": 32,
- "babel-runtime/helpers/createClass": 33,
- "babel-runtime/helpers/inherits": 34,
- "babel-runtime/helpers/possibleConstructorReturn": 35
- }],
- 10: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r._AES_asm_instance = r._AES_heap_instance = void 0;
- var n = e("./aes.asm"), i = r._AES_heap_instance = new Uint8Array(1048576);
- r._AES_asm_instance = (0, n.AES_asm)(null, i.buffer)
- }, {"./aes.asm": 1}],
- 11: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES_GCM_Decrypt = r.AES_GCM_Encrypt = r.AES_GCM = void 0;
- var n = e("../exports"), i = e("./gcm");
- i.AES_GCM.encrypt = function (e, t, r, a, s) {
- if (void 0 === e) throw new SyntaxError("data required");
- if (void 0 === t) throw new SyntaxError("key required");
- if (void 0 === r) throw new SyntaxError("nonce required");
- return new i.AES_GCM(t, r, a, s, n._AES_heap_instance, n._AES_asm_instance).encrypt(e).result
- }, i.AES_GCM.decrypt = function (e, t, r, a, s) {
- if (void 0 === e) throw new SyntaxError("data required");
- if (void 0 === t) throw new SyntaxError("key required");
- if (void 0 === r) throw new SyntaxError("nonce required");
- return new i.AES_GCM(t, r, a, s, n._AES_heap_instance, n._AES_asm_instance).decrypt(e).result
- }, r.AES_GCM = i.AES_GCM, r.AES_GCM_Encrypt = i.AES_GCM_Encrypt, r.AES_GCM_Decrypt = i.AES_GCM_Decrypt
- }, {"../exports": 10, "./gcm": 12}],
- 12: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.AES_GCM_Decrypt = r.AES_GCM_Encrypt = r.AES_GCM = void 0;
- var n = l(e("babel-runtime/core-js/object/get-prototype-of")),
- i = l(e("babel-runtime/helpers/classCallCheck")), a = l(e("babel-runtime/helpers/createClass")),
- s = l(e("babel-runtime/helpers/possibleConstructorReturn")), o = l(e("babel-runtime/helpers/inherits")),
- u = e("../../errors"), f = e("../../utils"), c = e("../aes"), d = e("../aes.asm");
-
- function l(e) {
- return e && e.__esModule ? e : {default: e}
- }
-
- var h = r.AES_GCM = function (e) {
- function t(e, r, a, o, u, f) {
- (0, i.default)(this, t);
- var c = (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, void 0, !1, u, f));
- return c.nonce = null, c.adata = null, c.iv = null, c.counter = 1, c.tagSize = 16, c.mode = "GCM", c.BLOCK_SIZE = 16, c.reset(e, o, r, a), c
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "reset", value: function (e, t, r, n) {
- return this.AES_GCM_reset(e, t, r, n)
- }
- }, {
- key: "encrypt", value: function (e) {
- return this.AES_GCM_encrypt(e)
- }
- }, {
- key: "decrypt", value: function (e) {
- return this.AES_GCM_decrypt(e)
- }
- }, {
- key: "AES_GCM_Encrypt_process", value: function (e) {
- if (!(0, f.is_bytes)(e)) throw new TypeError("data isn't of expected type");
- var t = 0, r = e.length || 0, n = this.asm, i = this.heap, a = this.counter, s = this.pos,
- o = this.len, u = 0, c = o + r & -16, l = 0;
- if ((a - 1 << 4) + o + r > 68719476704) throw new RangeError("counter overflow");
- for (var h = new Uint8Array(c); r > 0;) o += l = (0, f._heap_write)(i, s + o, e, t, r), t += l, r -= l, l = n.cipher(d.AES_asm.ENC.CTR, d.AES_asm.HEAP_DATA + s, o), (l = n.mac(d.AES_asm.MAC.GCM, d.AES_asm.HEAP_DATA + s, l)) && h.set(i.subarray(s, s + l), u), a += l >>> 4, u += l, l < o ? (s += l, o -= l) : (s = 0, o = 0);
- return this.result = h, this.counter = a, this.pos = s, this.len = o, this
- }
- }, {
- key: "AES_GCM_Encrypt_finish", value: function () {
- var e = this.asm, t = this.heap, r = this.counter, n = this.tagSize, i = this.adata,
- a = this.pos, s = this.len, o = new Uint8Array(s + n);
- e.cipher(d.AES_asm.ENC.CTR, d.AES_asm.HEAP_DATA + a, s + 15 & -16), s && o.set(t.subarray(a, a + s));
- for (var u = s; 15 & u; u++) t[a + u] = 0;
- e.mac(d.AES_asm.MAC.GCM, d.AES_asm.HEAP_DATA + a, u);
- var f = null !== i ? i.length : 0, c = (r - 1 << 4) + s;
- return t[0] = t[1] = t[2] = 0, t[3] = f >>> 29, t[4] = f >>> 21, t[5] = f >>> 13 & 255, t[6] = f >>> 5 & 255, t[7] = f << 3 & 255, t[8] = t[9] = t[10] = 0, t[11] = c >>> 29, t[12] = c >>> 21 & 255, t[13] = c >>> 13 & 255, t[14] = c >>> 5 & 255, t[15] = c << 3 & 255, e.mac(d.AES_asm.MAC.GCM, d.AES_asm.HEAP_DATA, 16), e.get_iv(d.AES_asm.HEAP_DATA), e.set_counter(0, 0, 0, this.gamma0), e.cipher(d.AES_asm.ENC.CTR, d.AES_asm.HEAP_DATA, 16), o.set(t.subarray(0, n), s), this.result = o, this.counter = 1, this.pos = 0, this.len = 0, this
- }
- }, {
- key: "AES_GCM_Decrypt_process", value: function (e) {
- if (!(0, f.is_bytes)(e)) throw new TypeError("data isn't of expected type");
- var t = 0, r = e.length || 0, n = this.asm, i = this.heap, a = this.counter, s = this.tagSize,
- o = this.pos, u = this.len, c = 0, l = u + r > s ? u + r - s & -16 : 0, h = u + r - l,
- p = 0;
- if ((a - 1 << 4) + u + r > 68719476704) throw new RangeError("counter overflow");
- for (var y = new Uint8Array(l); r > h;) u += p = (0, f._heap_write)(i, o + u, e, t, r - h), t += p, r -= p, p = n.mac(d.AES_asm.MAC.GCM, d.AES_asm.HEAP_DATA + o, p), (p = n.cipher(d.AES_asm.DEC.CTR, d.AES_asm.HEAP_DATA + o, p)) && y.set(i.subarray(o, o + p), c), a += p >>> 4, c += p, o = 0, u = 0;
- return r > 0 && (u += (0, f._heap_write)(i, 0, e, t, r)), this.result = y, this.counter = a, this.pos = o, this.len = u, this
- }
- }, {
- key: "AES_GCM_Decrypt_finish", value: function () {
- var e = this.asm, t = this.heap, r = this.tagSize, n = this.adata, i = this.counter,
- a = this.pos, s = this.len, o = s - r;
- if (s < r) throw new u.IllegalStateError("authentication tag not found");
- for (var f = new Uint8Array(o), c = new Uint8Array(t.subarray(a + o, a + s)), l = o; 15 & l; l++) t[a + l] = 0;
- e.mac(d.AES_asm.MAC.GCM, d.AES_asm.HEAP_DATA + a, l), e.cipher(d.AES_asm.DEC.CTR, d.AES_asm.HEAP_DATA + a, l), o && f.set(t.subarray(a, a + o));
- var h = null !== n ? n.length : 0, p = (i - 1 << 4) + s - r;
- t[0] = t[1] = t[2] = 0, t[3] = h >>> 29, t[4] = h >>> 21, t[5] = h >>> 13 & 255, t[6] = h >>> 5 & 255, t[7] = h << 3 & 255, t[8] = t[9] = t[10] = 0, t[11] = p >>> 29, t[12] = p >>> 21 & 255, t[13] = p >>> 13 & 255, t[14] = p >>> 5 & 255, t[15] = p << 3 & 255, e.mac(d.AES_asm.MAC.GCM, d.AES_asm.HEAP_DATA, 16), e.get_iv(d.AES_asm.HEAP_DATA), e.set_counter(0, 0, 0, this.gamma0), e.cipher(d.AES_asm.ENC.CTR, d.AES_asm.HEAP_DATA, 16);
- var y = 0;
- for (l = 0; l < r; ++l) y |= c[l] ^ t[l];
- if (y) throw new u.SecurityError("data integrity check failed");
- return this.result = f, this.counter = 1, this.pos = 0, this.len = 0, this
- }
- }, {
- key: "AES_GCM_decrypt", value: function (e) {
- var t = this.AES_GCM_Decrypt_process(e).result, r = this.AES_GCM_Decrypt_finish().result,
- n = new Uint8Array(t.length + r.length);
- return t.length && n.set(t), r.length && n.set(r, t.length), this.result = n, this
- }
- }, {
- key: "AES_GCM_encrypt", value: function (e) {
- var t = this.AES_GCM_Encrypt_process(e).result, r = this.AES_GCM_Encrypt_finish().result,
- n = new Uint8Array(t.length + r.length);
- return t.length && n.set(t), r.length && n.set(r, t.length), this.result = n, this
- }
- }, {
- key: "AES_GCM_reset", value: function (e, t, r, n, i, a) {
- this.AES_reset(e, void 0, !1);
- var s = this.asm, o = this.heap;
- if (s.gcm_init(), void 0 !== (t = t)) {
- if (!(0, f.is_number)(t)) throw new TypeError("tagSize must be a number");
- if (t < 4 || t > 16) throw new u.IllegalArgumentError("illegal tagSize value");
- this.tagSize = t
- } else this.tagSize = 16;
- if (void 0 === r) throw new Error("nonce is required");
- if (!(0, f.is_bytes)(r)) throw new TypeError("unexpected nonce type");
- this.nonce = r;
- var c = r.length || 0, l = new Uint8Array(16);
- 12 !== c ? (this._gcm_mac_process(r), o[0] = o[1] = o[2] = o[3] = o[4] = o[5] = o[6] = o[7] = o[8] = o[9] = o[10] = 0, o[11] = c >>> 29, o[12] = c >>> 21 & 255, o[13] = c >>> 13 & 255, o[14] = c >>> 5 & 255, o[15] = c << 3 & 255, s.mac(d.AES_asm.MAC.GCM, d.AES_asm.HEAP_DATA, 16), s.get_iv(d.AES_asm.HEAP_DATA), s.set_iv(), l.set(o.subarray(0, 16))) : (l.set(r), l[15] = 1);
- var h = new DataView(l.buffer);
- if (this.gamma0 = h.getUint32(12), s.set_nonce(h.getUint32(0), h.getUint32(4), h.getUint32(8), 0), s.set_mask(0, 0, 0, 4294967295), void 0 !== n && null !== n) {
- if (!(0, f.is_bytes)(n)) throw new TypeError("unexpected adata type");
- if (n.length > 68719476704) throw new u.IllegalArgumentError("illegal adata length");
- n.length ? (this.adata = n, this._gcm_mac_process(n)) : this.adata = null
- } else this.adata = null;
- if (void 0 !== i) {
- if (!(0, f.is_number)(i)) throw new TypeError("counter must be a number");
- if (i < 1 || i > 4294967295) throw new RangeError("counter must be a positive 32-bit integer");
- this.counter = i, s.set_counter(0, 0, 0, this.gamma0 + i | 0)
- } else this.counter = 1, s.set_counter(0, 0, 0, this.gamma0 + 1 | 0);
- if (void 0 !== a) {
- if (!(0, f.is_number)(a)) throw new TypeError("iv must be a number");
- this.iv = a, this.AES_set_iv(a)
- }
- return this
- }
- }, {
- key: "_gcm_mac_process", value: function (e) {
- for (var t = this.heap, r = this.asm, n = 0, i = e.length || 0, a = 0; i > 0;) {
- for (n += a = (0, f._heap_write)(t, 0, e, n, i), i -= a; 15 & a;) t[a++] = 0;
- r.mac(d.AES_asm.MAC.GCM, d.AES_asm.HEAP_DATA, a)
- }
- }
- }]), t
- }(c.AES);
- r.AES_GCM_Encrypt = function (e) {
- function t(e, r, a, o, u, f) {
- return (0, i.default)(this, t), (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a, o, u, f))
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "process", value: function (e) {
- return this.AES_GCM_Encrypt_process(e)
- }
- }, {
- key: "finish", value: function () {
- return this.AES_GCM_Encrypt_finish()
- }
- }]), t
- }(h), r.AES_GCM_Decrypt = function (e) {
- function t(e, r, a, o, u, f) {
- return (0, i.default)(this, t), (0, s.default)(this, (t.__proto__ || (0, n.default)(t)).call(this, e, r, a, o, u, f))
- }
-
- return (0, o.default)(t, e), (0, a.default)(t, [{
- key: "process", value: function (e) {
- return this.AES_GCM_Decrypt_process(e)
- }
- }, {
- key: "finish", value: function () {
- return this.AES_GCM_Decrypt_finish()
- }
- }]), t
- }(h)
- }, {
- "../../errors": 13,
- "../../utils": 18,
- "../aes": 2,
- "../aes.asm": 1,
- "babel-runtime/core-js/object/get-prototype-of": 26,
- "babel-runtime/helpers/classCallCheck": 32,
- "babel-runtime/helpers/createClass": 33,
- "babel-runtime/helpers/inherits": 34,
- "babel-runtime/helpers/possibleConstructorReturn": 35
- }],
- 13: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0});
- var n, i = e("babel-runtime/core-js/object/create"), a = (n = i) && n.__esModule ? n : {default: n};
-
- function s() {
- var e = Error.apply(this, arguments);
- this.message = e.message, this.stack = e.stack
- }
-
- function o() {
- var e = Error.apply(this, arguments);
- this.message = e.message, this.stack = e.stack
- }
-
- function u() {
- var e = Error.apply(this, arguments);
- this.message = e.message, this.stack = e.stack
- }
-
- r.IllegalStateError = s, r.IllegalArgumentError = o, r.SecurityError = u, s.prototype = (0, a.default)(Error.prototype, {name: {value: "IllegalStateError"}}), o.prototype = (0, a.default)(Error.prototype, {name: {value: "IllegalArgumentError"}}), u.prototype = (0, a.default)(Error.prototype, {name: {value: "SecurityError"}})
- }, {"babel-runtime/core-js/object/create": 23}],
- 14: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.hash_reset = function () {
- return this.result = null, this.pos = 0, this.len = 0, this.asm.reset(), this
- }, r.hash_process = function (e) {
- if (null !== this.result) throw new i.IllegalStateError("state must be reset before processing new data");
- (0, n.is_string)(e) && (e = (0, n.string_to_bytes)(e));
- (0, n.is_buffer)(e) && (e = new Uint8Array(e));
- if (!(0, n.is_bytes)(e)) throw new TypeError("data isn't of expected type");
- var t = this.asm, r = this.heap, a = this.pos, s = this.len, o = 0, u = e.length, f = 0;
- for (; u > 0;) f = (0, n._heap_write)(r, a + s, e, o, u), s += f, o += f, u -= f, f = t.process(a, s), a += f, (s -= f) || (a = 0);
- return this.pos = a, this.len = s, this
- }, r.hash_finish = function () {
- if (null !== this.result) throw new i.IllegalStateError("state must be reset before processing new data");
- return this.asm.finish(this.pos, this.len, 0), this.result = new Uint8Array(this.HASH_SIZE), this.result.set(this.heap.subarray(0, this.HASH_SIZE)), this.pos = 0, this.len = 0, this
- };
- var n = e("../utils"), i = e("../errors")
- }, {"../errors": 13, "../utils": 18}],
- 15: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.SHA256 = void 0;
- var n = e("./sha256"), i = e("../../utils");
-
- function a(e) {
- if (void 0 === e) throw new SyntaxError("data required");
- return (0, n.get_sha256_instance)().reset().process(e).finish().result
- }
-
- var s = r.SHA256 = n.sha256_constructor;
- s.bytes = a, s.hex = function (e) {
- var t = a(e);
- return (0, i.bytes_to_hex)(t)
- }, s.base64 = function (e) {
- var t = a(e);
- return (0, i.bytes_to_base64)(t)
- }
- }, {"../../utils": 18, "./sha256": 17}],
- 16: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.sha256_asm = function (e, t, r) {
- "use asm";
- var n = 0, i = 0, a = 0, s = 0, o = 0, u = 0, f = 0, c = 0, d = 0, l = 0, h = 0, p = 0, y = 0, b = 0,
- m = 0, g = 0, v = 0, _ = 0, w = 0, k = 0, A = 0, x = 0, S = 0, E = 0, M = 0, C = 0,
- j = new e.Uint8Array(r);
-
- function P(e, t, r, d, l, h, p, y, b, m, g, v, _, w, k, A) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- d = d | 0;
- l = l | 0;
- h = h | 0;
- p = p | 0;
- y = y | 0;
- b = b | 0;
- m = m | 0;
- g = g | 0;
- v = v | 0;
- _ = _ | 0;
- w = w | 0;
- k = k | 0;
- A = A | 0;
- var x = 0, S = 0, E = 0, M = 0, C = 0, j = 0, P = 0, B = 0;
- x = n;
- S = i;
- E = a;
- M = s;
- C = o;
- j = u;
- P = f;
- B = c;
- B = e + B + (C >>> 6 ^ C >>> 11 ^ C >>> 25 ^ C << 26 ^ C << 21 ^ C << 7) + (P ^ C & (j ^ P)) + 0x428a2f98 | 0;
- M = M + B | 0;
- B = B + (x & S ^ E & (x ^ S)) + (x >>> 2 ^ x >>> 13 ^ x >>> 22 ^ x << 30 ^ x << 19 ^ x << 10) | 0;
- P = t + P + (M >>> 6 ^ M >>> 11 ^ M >>> 25 ^ M << 26 ^ M << 21 ^ M << 7) + (j ^ M & (C ^ j)) + 0x71374491 | 0;
- E = E + P | 0;
- P = P + (B & x ^ S & (B ^ x)) + (B >>> 2 ^ B >>> 13 ^ B >>> 22 ^ B << 30 ^ B << 19 ^ B << 10) | 0;
- j = r + j + (E >>> 6 ^ E >>> 11 ^ E >>> 25 ^ E << 26 ^ E << 21 ^ E << 7) + (C ^ E & (M ^ C)) + 0xb5c0fbcf | 0;
- S = S + j | 0;
- j = j + (P & B ^ x & (P ^ B)) + (P >>> 2 ^ P >>> 13 ^ P >>> 22 ^ P << 30 ^ P << 19 ^ P << 10) | 0;
- C = d + C + (S >>> 6 ^ S >>> 11 ^ S >>> 25 ^ S << 26 ^ S << 21 ^ S << 7) + (M ^ S & (E ^ M)) + 0xe9b5dba5 | 0;
- x = x + C | 0;
- C = C + (j & P ^ B & (j ^ P)) + (j >>> 2 ^ j >>> 13 ^ j >>> 22 ^ j << 30 ^ j << 19 ^ j << 10) | 0;
- M = l + M + (x >>> 6 ^ x >>> 11 ^ x >>> 25 ^ x << 26 ^ x << 21 ^ x << 7) + (E ^ x & (S ^ E)) + 0x3956c25b | 0;
- B = B + M | 0;
- M = M + (C & j ^ P & (C ^ j)) + (C >>> 2 ^ C >>> 13 ^ C >>> 22 ^ C << 30 ^ C << 19 ^ C << 10) | 0;
- E = h + E + (B >>> 6 ^ B >>> 11 ^ B >>> 25 ^ B << 26 ^ B << 21 ^ B << 7) + (S ^ B & (x ^ S)) + 0x59f111f1 | 0;
- P = P + E | 0;
- E = E + (M & C ^ j & (M ^ C)) + (M >>> 2 ^ M >>> 13 ^ M >>> 22 ^ M << 30 ^ M << 19 ^ M << 10) | 0;
- S = p + S + (P >>> 6 ^ P >>> 11 ^ P >>> 25 ^ P << 26 ^ P << 21 ^ P << 7) + (x ^ P & (B ^ x)) + 0x923f82a4 | 0;
- j = j + S | 0;
- S = S + (E & M ^ C & (E ^ M)) + (E >>> 2 ^ E >>> 13 ^ E >>> 22 ^ E << 30 ^ E << 19 ^ E << 10) | 0;
- x = y + x + (j >>> 6 ^ j >>> 11 ^ j >>> 25 ^ j << 26 ^ j << 21 ^ j << 7) + (B ^ j & (P ^ B)) + 0xab1c5ed5 | 0;
- C = C + x | 0;
- x = x + (S & E ^ M & (S ^ E)) + (S >>> 2 ^ S >>> 13 ^ S >>> 22 ^ S << 30 ^ S << 19 ^ S << 10) | 0;
- B = b + B + (C >>> 6 ^ C >>> 11 ^ C >>> 25 ^ C << 26 ^ C << 21 ^ C << 7) + (P ^ C & (j ^ P)) + 0xd807aa98 | 0;
- M = M + B | 0;
- B = B + (x & S ^ E & (x ^ S)) + (x >>> 2 ^ x >>> 13 ^ x >>> 22 ^ x << 30 ^ x << 19 ^ x << 10) | 0;
- P = m + P + (M >>> 6 ^ M >>> 11 ^ M >>> 25 ^ M << 26 ^ M << 21 ^ M << 7) + (j ^ M & (C ^ j)) + 0x12835b01 | 0;
- E = E + P | 0;
- P = P + (B & x ^ S & (B ^ x)) + (B >>> 2 ^ B >>> 13 ^ B >>> 22 ^ B << 30 ^ B << 19 ^ B << 10) | 0;
- j = g + j + (E >>> 6 ^ E >>> 11 ^ E >>> 25 ^ E << 26 ^ E << 21 ^ E << 7) + (C ^ E & (M ^ C)) + 0x243185be | 0;
- S = S + j | 0;
- j = j + (P & B ^ x & (P ^ B)) + (P >>> 2 ^ P >>> 13 ^ P >>> 22 ^ P << 30 ^ P << 19 ^ P << 10) | 0;
- C = v + C + (S >>> 6 ^ S >>> 11 ^ S >>> 25 ^ S << 26 ^ S << 21 ^ S << 7) + (M ^ S & (E ^ M)) + 0x550c7dc3 | 0;
- x = x + C | 0;
- C = C + (j & P ^ B & (j ^ P)) + (j >>> 2 ^ j >>> 13 ^ j >>> 22 ^ j << 30 ^ j << 19 ^ j << 10) | 0;
- M = _ + M + (x >>> 6 ^ x >>> 11 ^ x >>> 25 ^ x << 26 ^ x << 21 ^ x << 7) + (E ^ x & (S ^ E)) + 0x72be5d74 | 0;
- B = B + M | 0;
- M = M + (C & j ^ P & (C ^ j)) + (C >>> 2 ^ C >>> 13 ^ C >>> 22 ^ C << 30 ^ C << 19 ^ C << 10) | 0;
- E = w + E + (B >>> 6 ^ B >>> 11 ^ B >>> 25 ^ B << 26 ^ B << 21 ^ B << 7) + (S ^ B & (x ^ S)) + 0x80deb1fe | 0;
- P = P + E | 0;
- E = E + (M & C ^ j & (M ^ C)) + (M >>> 2 ^ M >>> 13 ^ M >>> 22 ^ M << 30 ^ M << 19 ^ M << 10) | 0;
- S = k + S + (P >>> 6 ^ P >>> 11 ^ P >>> 25 ^ P << 26 ^ P << 21 ^ P << 7) + (x ^ P & (B ^ x)) + 0x9bdc06a7 | 0;
- j = j + S | 0;
- S = S + (E & M ^ C & (E ^ M)) + (E >>> 2 ^ E >>> 13 ^ E >>> 22 ^ E << 30 ^ E << 19 ^ E << 10) | 0;
- x = A + x + (j >>> 6 ^ j >>> 11 ^ j >>> 25 ^ j << 26 ^ j << 21 ^ j << 7) + (B ^ j & (P ^ B)) + 0xc19bf174 | 0;
- C = C + x | 0;
- x = x + (S & E ^ M & (S ^ E)) + (S >>> 2 ^ S >>> 13 ^ S >>> 22 ^ S << 30 ^ S << 19 ^ S << 10) | 0;
- e = (t >>> 7 ^ t >>> 18 ^ t >>> 3 ^ t << 25 ^ t << 14) + (k >>> 17 ^ k >>> 19 ^ k >>> 10 ^ k << 15 ^ k << 13) + e + m | 0;
- B = e + B + (C >>> 6 ^ C >>> 11 ^ C >>> 25 ^ C << 26 ^ C << 21 ^ C << 7) + (P ^ C & (j ^ P)) + 0xe49b69c1 | 0;
- M = M + B | 0;
- B = B + (x & S ^ E & (x ^ S)) + (x >>> 2 ^ x >>> 13 ^ x >>> 22 ^ x << 30 ^ x << 19 ^ x << 10) | 0;
- t = (r >>> 7 ^ r >>> 18 ^ r >>> 3 ^ r << 25 ^ r << 14) + (A >>> 17 ^ A >>> 19 ^ A >>> 10 ^ A << 15 ^ A << 13) + t + g | 0;
- P = t + P + (M >>> 6 ^ M >>> 11 ^ M >>> 25 ^ M << 26 ^ M << 21 ^ M << 7) + (j ^ M & (C ^ j)) + 0xefbe4786 | 0;
- E = E + P | 0;
- P = P + (B & x ^ S & (B ^ x)) + (B >>> 2 ^ B >>> 13 ^ B >>> 22 ^ B << 30 ^ B << 19 ^ B << 10) | 0;
- r = (d >>> 7 ^ d >>> 18 ^ d >>> 3 ^ d << 25 ^ d << 14) + (e >>> 17 ^ e >>> 19 ^ e >>> 10 ^ e << 15 ^ e << 13) + r + v | 0;
- j = r + j + (E >>> 6 ^ E >>> 11 ^ E >>> 25 ^ E << 26 ^ E << 21 ^ E << 7) + (C ^ E & (M ^ C)) + 0x0fc19dc6 | 0;
- S = S + j | 0;
- j = j + (P & B ^ x & (P ^ B)) + (P >>> 2 ^ P >>> 13 ^ P >>> 22 ^ P << 30 ^ P << 19 ^ P << 10) | 0;
- d = (l >>> 7 ^ l >>> 18 ^ l >>> 3 ^ l << 25 ^ l << 14) + (t >>> 17 ^ t >>> 19 ^ t >>> 10 ^ t << 15 ^ t << 13) + d + _ | 0;
- C = d + C + (S >>> 6 ^ S >>> 11 ^ S >>> 25 ^ S << 26 ^ S << 21 ^ S << 7) + (M ^ S & (E ^ M)) + 0x240ca1cc | 0;
- x = x + C | 0;
- C = C + (j & P ^ B & (j ^ P)) + (j >>> 2 ^ j >>> 13 ^ j >>> 22 ^ j << 30 ^ j << 19 ^ j << 10) | 0;
- l = (h >>> 7 ^ h >>> 18 ^ h >>> 3 ^ h << 25 ^ h << 14) + (r >>> 17 ^ r >>> 19 ^ r >>> 10 ^ r << 15 ^ r << 13) + l + w | 0;
- M = l + M + (x >>> 6 ^ x >>> 11 ^ x >>> 25 ^ x << 26 ^ x << 21 ^ x << 7) + (E ^ x & (S ^ E)) + 0x2de92c6f | 0;
- B = B + M | 0;
- M = M + (C & j ^ P & (C ^ j)) + (C >>> 2 ^ C >>> 13 ^ C >>> 22 ^ C << 30 ^ C << 19 ^ C << 10) | 0;
- h = (p >>> 7 ^ p >>> 18 ^ p >>> 3 ^ p << 25 ^ p << 14) + (d >>> 17 ^ d >>> 19 ^ d >>> 10 ^ d << 15 ^ d << 13) + h + k | 0;
- E = h + E + (B >>> 6 ^ B >>> 11 ^ B >>> 25 ^ B << 26 ^ B << 21 ^ B << 7) + (S ^ B & (x ^ S)) + 0x4a7484aa | 0;
- P = P + E | 0;
- E = E + (M & C ^ j & (M ^ C)) + (M >>> 2 ^ M >>> 13 ^ M >>> 22 ^ M << 30 ^ M << 19 ^ M << 10) | 0;
- p = (y >>> 7 ^ y >>> 18 ^ y >>> 3 ^ y << 25 ^ y << 14) + (l >>> 17 ^ l >>> 19 ^ l >>> 10 ^ l << 15 ^ l << 13) + p + A | 0;
- S = p + S + (P >>> 6 ^ P >>> 11 ^ P >>> 25 ^ P << 26 ^ P << 21 ^ P << 7) + (x ^ P & (B ^ x)) + 0x5cb0a9dc | 0;
- j = j + S | 0;
- S = S + (E & M ^ C & (E ^ M)) + (E >>> 2 ^ E >>> 13 ^ E >>> 22 ^ E << 30 ^ E << 19 ^ E << 10) | 0;
- y = (b >>> 7 ^ b >>> 18 ^ b >>> 3 ^ b << 25 ^ b << 14) + (h >>> 17 ^ h >>> 19 ^ h >>> 10 ^ h << 15 ^ h << 13) + y + e | 0;
- x = y + x + (j >>> 6 ^ j >>> 11 ^ j >>> 25 ^ j << 26 ^ j << 21 ^ j << 7) + (B ^ j & (P ^ B)) + 0x76f988da | 0;
- C = C + x | 0;
- x = x + (S & E ^ M & (S ^ E)) + (S >>> 2 ^ S >>> 13 ^ S >>> 22 ^ S << 30 ^ S << 19 ^ S << 10) | 0;
- b = (m >>> 7 ^ m >>> 18 ^ m >>> 3 ^ m << 25 ^ m << 14) + (p >>> 17 ^ p >>> 19 ^ p >>> 10 ^ p << 15 ^ p << 13) + b + t | 0;
- B = b + B + (C >>> 6 ^ C >>> 11 ^ C >>> 25 ^ C << 26 ^ C << 21 ^ C << 7) + (P ^ C & (j ^ P)) + 0x983e5152 | 0;
- M = M + B | 0;
- B = B + (x & S ^ E & (x ^ S)) + (x >>> 2 ^ x >>> 13 ^ x >>> 22 ^ x << 30 ^ x << 19 ^ x << 10) | 0;
- m = (g >>> 7 ^ g >>> 18 ^ g >>> 3 ^ g << 25 ^ g << 14) + (y >>> 17 ^ y >>> 19 ^ y >>> 10 ^ y << 15 ^ y << 13) + m + r | 0;
- P = m + P + (M >>> 6 ^ M >>> 11 ^ M >>> 25 ^ M << 26 ^ M << 21 ^ M << 7) + (j ^ M & (C ^ j)) + 0xa831c66d | 0;
- E = E + P | 0;
- P = P + (B & x ^ S & (B ^ x)) + (B >>> 2 ^ B >>> 13 ^ B >>> 22 ^ B << 30 ^ B << 19 ^ B << 10) | 0;
- g = (v >>> 7 ^ v >>> 18 ^ v >>> 3 ^ v << 25 ^ v << 14) + (b >>> 17 ^ b >>> 19 ^ b >>> 10 ^ b << 15 ^ b << 13) + g + d | 0;
- j = g + j + (E >>> 6 ^ E >>> 11 ^ E >>> 25 ^ E << 26 ^ E << 21 ^ E << 7) + (C ^ E & (M ^ C)) + 0xb00327c8 | 0;
- S = S + j | 0;
- j = j + (P & B ^ x & (P ^ B)) + (P >>> 2 ^ P >>> 13 ^ P >>> 22 ^ P << 30 ^ P << 19 ^ P << 10) | 0;
- v = (_ >>> 7 ^ _ >>> 18 ^ _ >>> 3 ^ _ << 25 ^ _ << 14) + (m >>> 17 ^ m >>> 19 ^ m >>> 10 ^ m << 15 ^ m << 13) + v + l | 0;
- C = v + C + (S >>> 6 ^ S >>> 11 ^ S >>> 25 ^ S << 26 ^ S << 21 ^ S << 7) + (M ^ S & (E ^ M)) + 0xbf597fc7 | 0;
- x = x + C | 0;
- C = C + (j & P ^ B & (j ^ P)) + (j >>> 2 ^ j >>> 13 ^ j >>> 22 ^ j << 30 ^ j << 19 ^ j << 10) | 0;
- _ = (w >>> 7 ^ w >>> 18 ^ w >>> 3 ^ w << 25 ^ w << 14) + (g >>> 17 ^ g >>> 19 ^ g >>> 10 ^ g << 15 ^ g << 13) + _ + h | 0;
- M = _ + M + (x >>> 6 ^ x >>> 11 ^ x >>> 25 ^ x << 26 ^ x << 21 ^ x << 7) + (E ^ x & (S ^ E)) + 0xc6e00bf3 | 0;
- B = B + M | 0;
- M = M + (C & j ^ P & (C ^ j)) + (C >>> 2 ^ C >>> 13 ^ C >>> 22 ^ C << 30 ^ C << 19 ^ C << 10) | 0;
- w = (k >>> 7 ^ k >>> 18 ^ k >>> 3 ^ k << 25 ^ k << 14) + (v >>> 17 ^ v >>> 19 ^ v >>> 10 ^ v << 15 ^ v << 13) + w + p | 0;
- E = w + E + (B >>> 6 ^ B >>> 11 ^ B >>> 25 ^ B << 26 ^ B << 21 ^ B << 7) + (S ^ B & (x ^ S)) + 0xd5a79147 | 0;
- P = P + E | 0;
- E = E + (M & C ^ j & (M ^ C)) + (M >>> 2 ^ M >>> 13 ^ M >>> 22 ^ M << 30 ^ M << 19 ^ M << 10) | 0;
- k = (A >>> 7 ^ A >>> 18 ^ A >>> 3 ^ A << 25 ^ A << 14) + (_ >>> 17 ^ _ >>> 19 ^ _ >>> 10 ^ _ << 15 ^ _ << 13) + k + y | 0;
- S = k + S + (P >>> 6 ^ P >>> 11 ^ P >>> 25 ^ P << 26 ^ P << 21 ^ P << 7) + (x ^ P & (B ^ x)) + 0x06ca6351 | 0;
- j = j + S | 0;
- S = S + (E & M ^ C & (E ^ M)) + (E >>> 2 ^ E >>> 13 ^ E >>> 22 ^ E << 30 ^ E << 19 ^ E << 10) | 0;
- A = (e >>> 7 ^ e >>> 18 ^ e >>> 3 ^ e << 25 ^ e << 14) + (w >>> 17 ^ w >>> 19 ^ w >>> 10 ^ w << 15 ^ w << 13) + A + b | 0;
- x = A + x + (j >>> 6 ^ j >>> 11 ^ j >>> 25 ^ j << 26 ^ j << 21 ^ j << 7) + (B ^ j & (P ^ B)) + 0x14292967 | 0;
- C = C + x | 0;
- x = x + (S & E ^ M & (S ^ E)) + (S >>> 2 ^ S >>> 13 ^ S >>> 22 ^ S << 30 ^ S << 19 ^ S << 10) | 0;
- e = (t >>> 7 ^ t >>> 18 ^ t >>> 3 ^ t << 25 ^ t << 14) + (k >>> 17 ^ k >>> 19 ^ k >>> 10 ^ k << 15 ^ k << 13) + e + m | 0;
- B = e + B + (C >>> 6 ^ C >>> 11 ^ C >>> 25 ^ C << 26 ^ C << 21 ^ C << 7) + (P ^ C & (j ^ P)) + 0x27b70a85 | 0;
- M = M + B | 0;
- B = B + (x & S ^ E & (x ^ S)) + (x >>> 2 ^ x >>> 13 ^ x >>> 22 ^ x << 30 ^ x << 19 ^ x << 10) | 0;
- t = (r >>> 7 ^ r >>> 18 ^ r >>> 3 ^ r << 25 ^ r << 14) + (A >>> 17 ^ A >>> 19 ^ A >>> 10 ^ A << 15 ^ A << 13) + t + g | 0;
- P = t + P + (M >>> 6 ^ M >>> 11 ^ M >>> 25 ^ M << 26 ^ M << 21 ^ M << 7) + (j ^ M & (C ^ j)) + 0x2e1b2138 | 0;
- E = E + P | 0;
- P = P + (B & x ^ S & (B ^ x)) + (B >>> 2 ^ B >>> 13 ^ B >>> 22 ^ B << 30 ^ B << 19 ^ B << 10) | 0;
- r = (d >>> 7 ^ d >>> 18 ^ d >>> 3 ^ d << 25 ^ d << 14) + (e >>> 17 ^ e >>> 19 ^ e >>> 10 ^ e << 15 ^ e << 13) + r + v | 0;
- j = r + j + (E >>> 6 ^ E >>> 11 ^ E >>> 25 ^ E << 26 ^ E << 21 ^ E << 7) + (C ^ E & (M ^ C)) + 0x4d2c6dfc | 0;
- S = S + j | 0;
- j = j + (P & B ^ x & (P ^ B)) + (P >>> 2 ^ P >>> 13 ^ P >>> 22 ^ P << 30 ^ P << 19 ^ P << 10) | 0;
- d = (l >>> 7 ^ l >>> 18 ^ l >>> 3 ^ l << 25 ^ l << 14) + (t >>> 17 ^ t >>> 19 ^ t >>> 10 ^ t << 15 ^ t << 13) + d + _ | 0;
- C = d + C + (S >>> 6 ^ S >>> 11 ^ S >>> 25 ^ S << 26 ^ S << 21 ^ S << 7) + (M ^ S & (E ^ M)) + 0x53380d13 | 0;
- x = x + C | 0;
- C = C + (j & P ^ B & (j ^ P)) + (j >>> 2 ^ j >>> 13 ^ j >>> 22 ^ j << 30 ^ j << 19 ^ j << 10) | 0;
- l = (h >>> 7 ^ h >>> 18 ^ h >>> 3 ^ h << 25 ^ h << 14) + (r >>> 17 ^ r >>> 19 ^ r >>> 10 ^ r << 15 ^ r << 13) + l + w | 0;
- M = l + M + (x >>> 6 ^ x >>> 11 ^ x >>> 25 ^ x << 26 ^ x << 21 ^ x << 7) + (E ^ x & (S ^ E)) + 0x650a7354 | 0;
- B = B + M | 0;
- M = M + (C & j ^ P & (C ^ j)) + (C >>> 2 ^ C >>> 13 ^ C >>> 22 ^ C << 30 ^ C << 19 ^ C << 10) | 0;
- h = (p >>> 7 ^ p >>> 18 ^ p >>> 3 ^ p << 25 ^ p << 14) + (d >>> 17 ^ d >>> 19 ^ d >>> 10 ^ d << 15 ^ d << 13) + h + k | 0;
- E = h + E + (B >>> 6 ^ B >>> 11 ^ B >>> 25 ^ B << 26 ^ B << 21 ^ B << 7) + (S ^ B & (x ^ S)) + 0x766a0abb | 0;
- P = P + E | 0;
- E = E + (M & C ^ j & (M ^ C)) + (M >>> 2 ^ M >>> 13 ^ M >>> 22 ^ M << 30 ^ M << 19 ^ M << 10) | 0;
- p = (y >>> 7 ^ y >>> 18 ^ y >>> 3 ^ y << 25 ^ y << 14) + (l >>> 17 ^ l >>> 19 ^ l >>> 10 ^ l << 15 ^ l << 13) + p + A | 0;
- S = p + S + (P >>> 6 ^ P >>> 11 ^ P >>> 25 ^ P << 26 ^ P << 21 ^ P << 7) + (x ^ P & (B ^ x)) + 0x81c2c92e | 0;
- j = j + S | 0;
- S = S + (E & M ^ C & (E ^ M)) + (E >>> 2 ^ E >>> 13 ^ E >>> 22 ^ E << 30 ^ E << 19 ^ E << 10) | 0;
- y = (b >>> 7 ^ b >>> 18 ^ b >>> 3 ^ b << 25 ^ b << 14) + (h >>> 17 ^ h >>> 19 ^ h >>> 10 ^ h << 15 ^ h << 13) + y + e | 0;
- x = y + x + (j >>> 6 ^ j >>> 11 ^ j >>> 25 ^ j << 26 ^ j << 21 ^ j << 7) + (B ^ j & (P ^ B)) + 0x92722c85 | 0;
- C = C + x | 0;
- x = x + (S & E ^ M & (S ^ E)) + (S >>> 2 ^ S >>> 13 ^ S >>> 22 ^ S << 30 ^ S << 19 ^ S << 10) | 0;
- b = (m >>> 7 ^ m >>> 18 ^ m >>> 3 ^ m << 25 ^ m << 14) + (p >>> 17 ^ p >>> 19 ^ p >>> 10 ^ p << 15 ^ p << 13) + b + t | 0;
- B = b + B + (C >>> 6 ^ C >>> 11 ^ C >>> 25 ^ C << 26 ^ C << 21 ^ C << 7) + (P ^ C & (j ^ P)) + 0xa2bfe8a1 | 0;
- M = M + B | 0;
- B = B + (x & S ^ E & (x ^ S)) + (x >>> 2 ^ x >>> 13 ^ x >>> 22 ^ x << 30 ^ x << 19 ^ x << 10) | 0;
- m = (g >>> 7 ^ g >>> 18 ^ g >>> 3 ^ g << 25 ^ g << 14) + (y >>> 17 ^ y >>> 19 ^ y >>> 10 ^ y << 15 ^ y << 13) + m + r | 0;
- P = m + P + (M >>> 6 ^ M >>> 11 ^ M >>> 25 ^ M << 26 ^ M << 21 ^ M << 7) + (j ^ M & (C ^ j)) + 0xa81a664b | 0;
- E = E + P | 0;
- P = P + (B & x ^ S & (B ^ x)) + (B >>> 2 ^ B >>> 13 ^ B >>> 22 ^ B << 30 ^ B << 19 ^ B << 10) | 0;
- g = (v >>> 7 ^ v >>> 18 ^ v >>> 3 ^ v << 25 ^ v << 14) + (b >>> 17 ^ b >>> 19 ^ b >>> 10 ^ b << 15 ^ b << 13) + g + d | 0;
- j = g + j + (E >>> 6 ^ E >>> 11 ^ E >>> 25 ^ E << 26 ^ E << 21 ^ E << 7) + (C ^ E & (M ^ C)) + 0xc24b8b70 | 0;
- S = S + j | 0;
- j = j + (P & B ^ x & (P ^ B)) + (P >>> 2 ^ P >>> 13 ^ P >>> 22 ^ P << 30 ^ P << 19 ^ P << 10) | 0;
- v = (_ >>> 7 ^ _ >>> 18 ^ _ >>> 3 ^ _ << 25 ^ _ << 14) + (m >>> 17 ^ m >>> 19 ^ m >>> 10 ^ m << 15 ^ m << 13) + v + l | 0;
- C = v + C + (S >>> 6 ^ S >>> 11 ^ S >>> 25 ^ S << 26 ^ S << 21 ^ S << 7) + (M ^ S & (E ^ M)) + 0xc76c51a3 | 0;
- x = x + C | 0;
- C = C + (j & P ^ B & (j ^ P)) + (j >>> 2 ^ j >>> 13 ^ j >>> 22 ^ j << 30 ^ j << 19 ^ j << 10) | 0;
- _ = (w >>> 7 ^ w >>> 18 ^ w >>> 3 ^ w << 25 ^ w << 14) + (g >>> 17 ^ g >>> 19 ^ g >>> 10 ^ g << 15 ^ g << 13) + _ + h | 0;
- M = _ + M + (x >>> 6 ^ x >>> 11 ^ x >>> 25 ^ x << 26 ^ x << 21 ^ x << 7) + (E ^ x & (S ^ E)) + 0xd192e819 | 0;
- B = B + M | 0;
- M = M + (C & j ^ P & (C ^ j)) + (C >>> 2 ^ C >>> 13 ^ C >>> 22 ^ C << 30 ^ C << 19 ^ C << 10) | 0;
- w = (k >>> 7 ^ k >>> 18 ^ k >>> 3 ^ k << 25 ^ k << 14) + (v >>> 17 ^ v >>> 19 ^ v >>> 10 ^ v << 15 ^ v << 13) + w + p | 0;
- E = w + E + (B >>> 6 ^ B >>> 11 ^ B >>> 25 ^ B << 26 ^ B << 21 ^ B << 7) + (S ^ B & (x ^ S)) + 0xd6990624 | 0;
- P = P + E | 0;
- E = E + (M & C ^ j & (M ^ C)) + (M >>> 2 ^ M >>> 13 ^ M >>> 22 ^ M << 30 ^ M << 19 ^ M << 10) | 0;
- k = (A >>> 7 ^ A >>> 18 ^ A >>> 3 ^ A << 25 ^ A << 14) + (_ >>> 17 ^ _ >>> 19 ^ _ >>> 10 ^ _ << 15 ^ _ << 13) + k + y | 0;
- S = k + S + (P >>> 6 ^ P >>> 11 ^ P >>> 25 ^ P << 26 ^ P << 21 ^ P << 7) + (x ^ P & (B ^ x)) + 0xf40e3585 | 0;
- j = j + S | 0;
- S = S + (E & M ^ C & (E ^ M)) + (E >>> 2 ^ E >>> 13 ^ E >>> 22 ^ E << 30 ^ E << 19 ^ E << 10) | 0;
- A = (e >>> 7 ^ e >>> 18 ^ e >>> 3 ^ e << 25 ^ e << 14) + (w >>> 17 ^ w >>> 19 ^ w >>> 10 ^ w << 15 ^ w << 13) + A + b | 0;
- x = A + x + (j >>> 6 ^ j >>> 11 ^ j >>> 25 ^ j << 26 ^ j << 21 ^ j << 7) + (B ^ j & (P ^ B)) + 0x106aa070 | 0;
- C = C + x | 0;
- x = x + (S & E ^ M & (S ^ E)) + (S >>> 2 ^ S >>> 13 ^ S >>> 22 ^ S << 30 ^ S << 19 ^ S << 10) | 0;
- e = (t >>> 7 ^ t >>> 18 ^ t >>> 3 ^ t << 25 ^ t << 14) + (k >>> 17 ^ k >>> 19 ^ k >>> 10 ^ k << 15 ^ k << 13) + e + m | 0;
- B = e + B + (C >>> 6 ^ C >>> 11 ^ C >>> 25 ^ C << 26 ^ C << 21 ^ C << 7) + (P ^ C & (j ^ P)) + 0x19a4c116 | 0;
- M = M + B | 0;
- B = B + (x & S ^ E & (x ^ S)) + (x >>> 2 ^ x >>> 13 ^ x >>> 22 ^ x << 30 ^ x << 19 ^ x << 10) | 0;
- t = (r >>> 7 ^ r >>> 18 ^ r >>> 3 ^ r << 25 ^ r << 14) + (A >>> 17 ^ A >>> 19 ^ A >>> 10 ^ A << 15 ^ A << 13) + t + g | 0;
- P = t + P + (M >>> 6 ^ M >>> 11 ^ M >>> 25 ^ M << 26 ^ M << 21 ^ M << 7) + (j ^ M & (C ^ j)) + 0x1e376c08 | 0;
- E = E + P | 0;
- P = P + (B & x ^ S & (B ^ x)) + (B >>> 2 ^ B >>> 13 ^ B >>> 22 ^ B << 30 ^ B << 19 ^ B << 10) | 0;
- r = (d >>> 7 ^ d >>> 18 ^ d >>> 3 ^ d << 25 ^ d << 14) + (e >>> 17 ^ e >>> 19 ^ e >>> 10 ^ e << 15 ^ e << 13) + r + v | 0;
- j = r + j + (E >>> 6 ^ E >>> 11 ^ E >>> 25 ^ E << 26 ^ E << 21 ^ E << 7) + (C ^ E & (M ^ C)) + 0x2748774c | 0;
- S = S + j | 0;
- j = j + (P & B ^ x & (P ^ B)) + (P >>> 2 ^ P >>> 13 ^ P >>> 22 ^ P << 30 ^ P << 19 ^ P << 10) | 0;
- d = (l >>> 7 ^ l >>> 18 ^ l >>> 3 ^ l << 25 ^ l << 14) + (t >>> 17 ^ t >>> 19 ^ t >>> 10 ^ t << 15 ^ t << 13) + d + _ | 0;
- C = d + C + (S >>> 6 ^ S >>> 11 ^ S >>> 25 ^ S << 26 ^ S << 21 ^ S << 7) + (M ^ S & (E ^ M)) + 0x34b0bcb5 | 0;
- x = x + C | 0;
- C = C + (j & P ^ B & (j ^ P)) + (j >>> 2 ^ j >>> 13 ^ j >>> 22 ^ j << 30 ^ j << 19 ^ j << 10) | 0;
- l = (h >>> 7 ^ h >>> 18 ^ h >>> 3 ^ h << 25 ^ h << 14) + (r >>> 17 ^ r >>> 19 ^ r >>> 10 ^ r << 15 ^ r << 13) + l + w | 0;
- M = l + M + (x >>> 6 ^ x >>> 11 ^ x >>> 25 ^ x << 26 ^ x << 21 ^ x << 7) + (E ^ x & (S ^ E)) + 0x391c0cb3 | 0;
- B = B + M | 0;
- M = M + (C & j ^ P & (C ^ j)) + (C >>> 2 ^ C >>> 13 ^ C >>> 22 ^ C << 30 ^ C << 19 ^ C << 10) | 0;
- h = (p >>> 7 ^ p >>> 18 ^ p >>> 3 ^ p << 25 ^ p << 14) + (d >>> 17 ^ d >>> 19 ^ d >>> 10 ^ d << 15 ^ d << 13) + h + k | 0;
- E = h + E + (B >>> 6 ^ B >>> 11 ^ B >>> 25 ^ B << 26 ^ B << 21 ^ B << 7) + (S ^ B & (x ^ S)) + 0x4ed8aa4a | 0;
- P = P + E | 0;
- E = E + (M & C ^ j & (M ^ C)) + (M >>> 2 ^ M >>> 13 ^ M >>> 22 ^ M << 30 ^ M << 19 ^ M << 10) | 0;
- p = (y >>> 7 ^ y >>> 18 ^ y >>> 3 ^ y << 25 ^ y << 14) + (l >>> 17 ^ l >>> 19 ^ l >>> 10 ^ l << 15 ^ l << 13) + p + A | 0;
- S = p + S + (P >>> 6 ^ P >>> 11 ^ P >>> 25 ^ P << 26 ^ P << 21 ^ P << 7) + (x ^ P & (B ^ x)) + 0x5b9cca4f | 0;
- j = j + S | 0;
- S = S + (E & M ^ C & (E ^ M)) + (E >>> 2 ^ E >>> 13 ^ E >>> 22 ^ E << 30 ^ E << 19 ^ E << 10) | 0;
- y = (b >>> 7 ^ b >>> 18 ^ b >>> 3 ^ b << 25 ^ b << 14) + (h >>> 17 ^ h >>> 19 ^ h >>> 10 ^ h << 15 ^ h << 13) + y + e | 0;
- x = y + x + (j >>> 6 ^ j >>> 11 ^ j >>> 25 ^ j << 26 ^ j << 21 ^ j << 7) + (B ^ j & (P ^ B)) + 0x682e6ff3 | 0;
- C = C + x | 0;
- x = x + (S & E ^ M & (S ^ E)) + (S >>> 2 ^ S >>> 13 ^ S >>> 22 ^ S << 30 ^ S << 19 ^ S << 10) | 0;
- b = (m >>> 7 ^ m >>> 18 ^ m >>> 3 ^ m << 25 ^ m << 14) + (p >>> 17 ^ p >>> 19 ^ p >>> 10 ^ p << 15 ^ p << 13) + b + t | 0;
- B = b + B + (C >>> 6 ^ C >>> 11 ^ C >>> 25 ^ C << 26 ^ C << 21 ^ C << 7) + (P ^ C & (j ^ P)) + 0x748f82ee | 0;
- M = M + B | 0;
- B = B + (x & S ^ E & (x ^ S)) + (x >>> 2 ^ x >>> 13 ^ x >>> 22 ^ x << 30 ^ x << 19 ^ x << 10) | 0;
- m = (g >>> 7 ^ g >>> 18 ^ g >>> 3 ^ g << 25 ^ g << 14) + (y >>> 17 ^ y >>> 19 ^ y >>> 10 ^ y << 15 ^ y << 13) + m + r | 0;
- P = m + P + (M >>> 6 ^ M >>> 11 ^ M >>> 25 ^ M << 26 ^ M << 21 ^ M << 7) + (j ^ M & (C ^ j)) + 0x78a5636f | 0;
- E = E + P | 0;
- P = P + (B & x ^ S & (B ^ x)) + (B >>> 2 ^ B >>> 13 ^ B >>> 22 ^ B << 30 ^ B << 19 ^ B << 10) | 0;
- g = (v >>> 7 ^ v >>> 18 ^ v >>> 3 ^ v << 25 ^ v << 14) + (b >>> 17 ^ b >>> 19 ^ b >>> 10 ^ b << 15 ^ b << 13) + g + d | 0;
- j = g + j + (E >>> 6 ^ E >>> 11 ^ E >>> 25 ^ E << 26 ^ E << 21 ^ E << 7) + (C ^ E & (M ^ C)) + 0x84c87814 | 0;
- S = S + j | 0;
- j = j + (P & B ^ x & (P ^ B)) + (P >>> 2 ^ P >>> 13 ^ P >>> 22 ^ P << 30 ^ P << 19 ^ P << 10) | 0;
- v = (_ >>> 7 ^ _ >>> 18 ^ _ >>> 3 ^ _ << 25 ^ _ << 14) + (m >>> 17 ^ m >>> 19 ^ m >>> 10 ^ m << 15 ^ m << 13) + v + l | 0;
- C = v + C + (S >>> 6 ^ S >>> 11 ^ S >>> 25 ^ S << 26 ^ S << 21 ^ S << 7) + (M ^ S & (E ^ M)) + 0x8cc70208 | 0;
- x = x + C | 0;
- C = C + (j & P ^ B & (j ^ P)) + (j >>> 2 ^ j >>> 13 ^ j >>> 22 ^ j << 30 ^ j << 19 ^ j << 10) | 0;
- _ = (w >>> 7 ^ w >>> 18 ^ w >>> 3 ^ w << 25 ^ w << 14) + (g >>> 17 ^ g >>> 19 ^ g >>> 10 ^ g << 15 ^ g << 13) + _ + h | 0;
- M = _ + M + (x >>> 6 ^ x >>> 11 ^ x >>> 25 ^ x << 26 ^ x << 21 ^ x << 7) + (E ^ x & (S ^ E)) + 0x90befffa | 0;
- B = B + M | 0;
- M = M + (C & j ^ P & (C ^ j)) + (C >>> 2 ^ C >>> 13 ^ C >>> 22 ^ C << 30 ^ C << 19 ^ C << 10) | 0;
- w = (k >>> 7 ^ k >>> 18 ^ k >>> 3 ^ k << 25 ^ k << 14) + (v >>> 17 ^ v >>> 19 ^ v >>> 10 ^ v << 15 ^ v << 13) + w + p | 0;
- E = w + E + (B >>> 6 ^ B >>> 11 ^ B >>> 25 ^ B << 26 ^ B << 21 ^ B << 7) + (S ^ B & (x ^ S)) + 0xa4506ceb | 0;
- P = P + E | 0;
- E = E + (M & C ^ j & (M ^ C)) + (M >>> 2 ^ M >>> 13 ^ M >>> 22 ^ M << 30 ^ M << 19 ^ M << 10) | 0;
- k = (A >>> 7 ^ A >>> 18 ^ A >>> 3 ^ A << 25 ^ A << 14) + (_ >>> 17 ^ _ >>> 19 ^ _ >>> 10 ^ _ << 15 ^ _ << 13) + k + y | 0;
- S = k + S + (P >>> 6 ^ P >>> 11 ^ P >>> 25 ^ P << 26 ^ P << 21 ^ P << 7) + (x ^ P & (B ^ x)) + 0xbef9a3f7 | 0;
- j = j + S | 0;
- S = S + (E & M ^ C & (E ^ M)) + (E >>> 2 ^ E >>> 13 ^ E >>> 22 ^ E << 30 ^ E << 19 ^ E << 10) | 0;
- A = (e >>> 7 ^ e >>> 18 ^ e >>> 3 ^ e << 25 ^ e << 14) + (w >>> 17 ^ w >>> 19 ^ w >>> 10 ^ w << 15 ^ w << 13) + A + b | 0;
- x = A + x + (j >>> 6 ^ j >>> 11 ^ j >>> 25 ^ j << 26 ^ j << 21 ^ j << 7) + (B ^ j & (P ^ B)) + 0xc67178f2 | 0;
- C = C + x | 0;
- x = x + (S & E ^ M & (S ^ E)) + (S >>> 2 ^ S >>> 13 ^ S >>> 22 ^ S << 30 ^ S << 19 ^ S << 10) | 0;
- n = n + x | 0;
- i = i + S | 0;
- a = a + E | 0;
- s = s + M | 0;
- o = o + C | 0;
- u = u + j | 0;
- f = f + P | 0;
- c = c + B | 0
- }
-
- function B(e) {
- e = e | 0;
- P(j[e | 0] << 24 | j[e | 1] << 16 | j[e | 2] << 8 | j[e | 3], j[e | 4] << 24 | j[e | 5] << 16 | j[e | 6] << 8 | j[e | 7], j[e | 8] << 24 | j[e | 9] << 16 | j[e | 10] << 8 | j[e | 11], j[e | 12] << 24 | j[e | 13] << 16 | j[e | 14] << 8 | j[e | 15], j[e | 16] << 24 | j[e | 17] << 16 | j[e | 18] << 8 | j[e | 19], j[e | 20] << 24 | j[e | 21] << 16 | j[e | 22] << 8 | j[e | 23], j[e | 24] << 24 | j[e | 25] << 16 | j[e | 26] << 8 | j[e | 27], j[e | 28] << 24 | j[e | 29] << 16 | j[e | 30] << 8 | j[e | 31], j[e | 32] << 24 | j[e | 33] << 16 | j[e | 34] << 8 | j[e | 35], j[e | 36] << 24 | j[e | 37] << 16 | j[e | 38] << 8 | j[e | 39], j[e | 40] << 24 | j[e | 41] << 16 | j[e | 42] << 8 | j[e | 43], j[e | 44] << 24 | j[e | 45] << 16 | j[e | 46] << 8 | j[e | 47], j[e | 48] << 24 | j[e | 49] << 16 | j[e | 50] << 8 | j[e | 51], j[e | 52] << 24 | j[e | 53] << 16 | j[e | 54] << 8 | j[e | 55], j[e | 56] << 24 | j[e | 57] << 16 | j[e | 58] << 8 | j[e | 59], j[e | 60] << 24 | j[e | 61] << 16 | j[e | 62] << 8 | j[e | 63])
- }
-
- function U(e) {
- e = e | 0;
- j[e | 0] = n >>> 24;
- j[e | 1] = n >>> 16 & 255;
- j[e | 2] = n >>> 8 & 255;
- j[e | 3] = n & 255;
- j[e | 4] = i >>> 24;
- j[e | 5] = i >>> 16 & 255;
- j[e | 6] = i >>> 8 & 255;
- j[e | 7] = i & 255;
- j[e | 8] = a >>> 24;
- j[e | 9] = a >>> 16 & 255;
- j[e | 10] = a >>> 8 & 255;
- j[e | 11] = a & 255;
- j[e | 12] = s >>> 24;
- j[e | 13] = s >>> 16 & 255;
- j[e | 14] = s >>> 8 & 255;
- j[e | 15] = s & 255;
- j[e | 16] = o >>> 24;
- j[e | 17] = o >>> 16 & 255;
- j[e | 18] = o >>> 8 & 255;
- j[e | 19] = o & 255;
- j[e | 20] = u >>> 24;
- j[e | 21] = u >>> 16 & 255;
- j[e | 22] = u >>> 8 & 255;
- j[e | 23] = u & 255;
- j[e | 24] = f >>> 24;
- j[e | 25] = f >>> 16 & 255;
- j[e | 26] = f >>> 8 & 255;
- j[e | 27] = f & 255;
- j[e | 28] = c >>> 24;
- j[e | 29] = c >>> 16 & 255;
- j[e | 30] = c >>> 8 & 255;
- j[e | 31] = c & 255
- }
-
- function K() {
- n = 0x6a09e667;
- i = 0xbb67ae85;
- a = 0x3c6ef372;
- s = 0xa54ff53a;
- o = 0x510e527f;
- u = 0x9b05688c;
- f = 0x1f83d9ab;
- c = 0x5be0cd19;
- d = l = 0
- }
-
- function I(e, t, r, h, p, y, b, m, g, v) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- h = h | 0;
- p = p | 0;
- y = y | 0;
- b = b | 0;
- m = m | 0;
- g = g | 0;
- v = v | 0;
- n = e;
- i = t;
- a = r;
- s = h;
- o = p;
- u = y;
- f = b;
- c = m;
- d = g;
- l = v
- }
-
- function T(e, t) {
- e = e | 0;
- t = t | 0;
- var r = 0;
- if (e & 63) return -1;
- while ((t | 0) >= 64) {
- B(e);
- e = e + 64 | 0;
- t = t - 64 | 0;
- r = r + 64 | 0
- }
- d = d + r | 0;
- if (d >>> 0 < r >>> 0) l = l + 1 | 0;
- return r | 0
- }
-
- function O(e, t, r) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- var n = 0, i = 0;
- if (e & 63) return -1;
- if (~r) if (r & 31) return -1;
- if ((t | 0) >= 64) {
- n = T(e, t) | 0;
- if ((n | 0) == -1) return -1;
- e = e + n | 0;
- t = t - n | 0
- }
- n = n + t | 0;
- d = d + t | 0;
- if (d >>> 0 < t >>> 0) l = l + 1 | 0;
- j[e | t] = 0x80;
- if ((t | 0) >= 56) {
- for (i = t + 1 | 0; (i | 0) < 64; i = i + 1 | 0) {
- j[e | i] = 0x00
- }
- B(e);
- t = 0;
- j[e | 0] = 0
- }
- for (i = t + 1 | 0; (i | 0) < 59; i = i + 1 | 0) {
- j[e | i] = 0
- }
- j[e | 56] = l >>> 21 & 255;
- j[e | 57] = l >>> 13 & 255;
- j[e | 58] = l >>> 5 & 255;
- j[e | 59] = l << 3 & 255 | d >>> 29;
- j[e | 60] = d >>> 21 & 255;
- j[e | 61] = d >>> 13 & 255;
- j[e | 62] = d >>> 5 & 255;
- j[e | 63] = d << 3 & 255;
- B(e);
- if (~r) U(r);
- return n | 0
- }
-
- function R() {
- n = h;
- i = p;
- a = y;
- s = b;
- o = m;
- u = g;
- f = v;
- c = _;
- d = 64;
- l = 0
- }
-
- function D() {
- n = w;
- i = k;
- a = A;
- s = x;
- o = S;
- u = E;
- f = M;
- c = C;
- d = 64;
- l = 0
- }
-
- function z(e, t, r, j, B, U, I, T, O, R, D, z, L, F, N, q) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- j = j | 0;
- B = B | 0;
- U = U | 0;
- I = I | 0;
- T = T | 0;
- O = O | 0;
- R = R | 0;
- D = D | 0;
- z = z | 0;
- L = L | 0;
- F = F | 0;
- N = N | 0;
- q = q | 0;
- K();
- P(e ^ 0x5c5c5c5c, t ^ 0x5c5c5c5c, r ^ 0x5c5c5c5c, j ^ 0x5c5c5c5c, B ^ 0x5c5c5c5c, U ^ 0x5c5c5c5c, I ^ 0x5c5c5c5c, T ^ 0x5c5c5c5c, O ^ 0x5c5c5c5c, R ^ 0x5c5c5c5c, D ^ 0x5c5c5c5c, z ^ 0x5c5c5c5c, L ^ 0x5c5c5c5c, F ^ 0x5c5c5c5c, N ^ 0x5c5c5c5c, q ^ 0x5c5c5c5c);
- w = n;
- k = i;
- A = a;
- x = s;
- S = o;
- E = u;
- M = f;
- C = c;
- K();
- P(e ^ 0x36363636, t ^ 0x36363636, r ^ 0x36363636, j ^ 0x36363636, B ^ 0x36363636, U ^ 0x36363636, I ^ 0x36363636, T ^ 0x36363636, O ^ 0x36363636, R ^ 0x36363636, D ^ 0x36363636, z ^ 0x36363636, L ^ 0x36363636, F ^ 0x36363636, N ^ 0x36363636, q ^ 0x36363636);
- h = n;
- p = i;
- y = a;
- b = s;
- m = o;
- g = u;
- v = f;
- _ = c;
- d = 64;
- l = 0
- }
-
- function L(e, t, r) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- var d = 0, l = 0, h = 0, p = 0, y = 0, b = 0, m = 0, g = 0, v = 0;
- if (e & 63) return -1;
- if (~r) if (r & 31) return -1;
- v = O(e, t, -1) | 0;
- d = n, l = i, h = a, p = s, y = o, b = u, m = f, g = c;
- D();
- P(d, l, h, p, y, b, m, g, 0x80000000, 0, 0, 0, 0, 0, 0, 768);
- if (~r) U(r);
- return v | 0
- }
-
- function F(e, t, r, d, l) {
- e = e | 0;
- t = t | 0;
- r = r | 0;
- d = d | 0;
- l = l | 0;
- var h = 0, p = 0, y = 0, b = 0, m = 0, g = 0, v = 0, _ = 0, w = 0, k = 0, A = 0, x = 0, S = 0,
- E = 0, M = 0, C = 0;
- if (e & 63) return -1;
- if (~l) if (l & 31) return -1;
- j[e + t | 0] = r >>> 24;
- j[e + t + 1 | 0] = r >>> 16 & 255;
- j[e + t + 2 | 0] = r >>> 8 & 255;
- j[e + t + 3 | 0] = r & 255;
- L(e, t + 4 | 0, -1) | 0;
- h = w = n, p = k = i, y = A = a, b = x = s, m = S = o, g = E = u, v = M = f, _ = C = c;
- d = d - 1 | 0;
- while ((d | 0) > 0) {
- R();
- P(w, k, A, x, S, E, M, C, 0x80000000, 0, 0, 0, 0, 0, 0, 768);
- w = n, k = i, A = a, x = s, S = o, E = u, M = f, C = c;
- D();
- P(w, k, A, x, S, E, M, C, 0x80000000, 0, 0, 0, 0, 0, 0, 768);
- w = n, k = i, A = a, x = s, S = o, E = u, M = f, C = c;
- h = h ^ n;
- p = p ^ i;
- y = y ^ a;
- b = b ^ s;
- m = m ^ o;
- g = g ^ u;
- v = v ^ f;
- _ = _ ^ c;
- d = d - 1 | 0
- }
- n = h;
- i = p;
- a = y;
- s = b;
- o = m;
- u = g;
- f = v;
- c = _;
- if (~l) U(l);
- return 0
- }
-
- return {
- reset: K,
- init: I,
- process: T,
- finish: O,
- hmac_reset: R,
- hmac_init: z,
- hmac_finish: L,
- pbkdf2_generate_block: F
- }
- }
- }, {}],
- 17: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r._sha256_hash_size = r._sha256_block_size = void 0, r.sha256_constructor = u, r.get_sha256_instance = function () {
- null === c && (c = new u({heapSize: 1048576}));
- return c
- };
- var n = e("./sha256.asm"), i = e("../hash"), a = e("../../utils"), s = r._sha256_block_size = 64,
- o = r._sha256_hash_size = 32;
-
- function u(e) {
- e = e || {}, this.heap = (0, a._heap_init)(Uint8Array, e.heap), this.asm = e.asm || (0, n.sha256_asm)({Uint8Array: Uint8Array}, null, this.heap.buffer), this.BLOCK_SIZE = s, this.HASH_SIZE = o, this.reset()
- }
-
- u.BLOCK_SIZE = s, u.HASH_SIZE = o, u.NAME = "sha256";
- var f = u.prototype;
- f.reset = i.hash_reset, f.process = i.hash_process, f.finish = i.hash_finish;
- var c = null
- }, {"../../utils": 18, "../hash": 14, "./sha256.asm": 16}],
- 18: [function (e, t, r) {
- "use strict";
- Object.defineProperty(r, "__esModule", {value: !0}), r.string_to_bytes = n, r.hex_to_bytes = function (e) {
- var t = e.length;
- 1 & t && (e = "0" + e, t++);
- for (var r = new Uint8Array(t >> 1), n = 0; n < t; n += 2) r[n >> 1] = parseInt(e.substr(n, 2), 16);
- return r
- }, r.base64_to_bytes = function (e) {
- return n(atob(e))
- }, r.bytes_to_string = i, r.bytes_to_hex = function (e) {
- for (var t = "", r = 0; r < e.length; r++) {
- var n = (255 & e[r]).toString(16);
- n.length < 2 && (t += "0"), t += n
- }
- return t
- }, r.bytes_to_base64 = function (e) {
- return btoa(i(e))
- }, r.pow2_ceil = function (e) {
- return e -= 1, e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, e |= e >>> 16, e += 1
- }, r.is_number = function (e) {
- return "number" == typeof e
- }, r.is_string = function (e) {
- return "string" == typeof e
- }, r.is_buffer = function (e) {
- return e instanceof ArrayBuffer
- }, r.is_bytes = function (e) {
- return e instanceof Uint8Array
- }, r.is_typed_array = function (e) {
- return e instanceof Int8Array || e instanceof Uint8Array || e instanceof Int16Array || e instanceof Uint16Array || e instanceof Int32Array || e instanceof Uint32Array || e instanceof Float32Array || e instanceof Float64Array
- }, r._heap_init = function (e, t, r) {
- var n = t ? t.byteLength : r || 65536;
- if (4095 & n || n <= 0) throw new Error("heap size must be a positive integer and a multiple of 4096");
- return t = t || new e(new ArrayBuffer(n))
- }, r._heap_write = function (e, t, r, n, i) {
- var a = e.length - t, s = a < i ? a : i;
- return e.set(r.subarray(n, n + s), t), s
- };
- r.FloatArray = "undefined" != typeof Float64Array ? Float64Array : Float32Array;
-
- function n(e, t) {
- t = !!t;
- for (var r = e.length, n = new Uint8Array(t ? 4 * r : r), i = 0, a = 0; i < r; i++) {
- var s = e.charCodeAt(i);
- if (t && 55296 <= s && s <= 56319) {
- if (++i >= r) throw new Error("Malformed string, low surrogate expected at position " + i);
- s = (55296 ^ s) << 10 | 65536 | 56320 ^ e.charCodeAt(i)
- } else if (!t && s >>> 8) throw new Error("Wide characters are not allowed.");
- !t || s <= 127 ? n[a++] = s : s <= 2047 ? (n[a++] = 192 | s >> 6, n[a++] = 128 | 63 & s) : s <= 65535 ? (n[a++] = 224 | s >> 12, n[a++] = 128 | s >> 6 & 63, n[a++] = 128 | 63 & s) : (n[a++] = 240 | s >> 18, n[a++] = 128 | s >> 12 & 63, n[a++] = 128 | s >> 6 & 63, n[a++] = 128 | 63 & s)
- }
- return n.subarray(0, a)
- }
-
- function i(e, t) {
- t = !!t;
- for (var r = e.length, n = new Array(r), i = 0, a = 0; i < r; i++) {
- var s = e[i];
- if (!t || s < 128) n[a++] = s; else if (s >= 192 && s < 224 && i + 1 < r) n[a++] = (31 & s) << 6 | 63 & e[++i]; else if (s >= 224 && s < 240 && i + 2 < r) n[a++] = (15 & s) << 12 | (63 & e[++i]) << 6 | 63 & e[++i]; else {
- if (!(s >= 240 && s < 248 && i + 3 < r)) throw new Error("Malformed UTF8 character at byte offset " + i);
- var o = (7 & s) << 18 | (63 & e[++i]) << 12 | (63 & e[++i]) << 6 | 63 & e[++i];
- o <= 65535 ? n[a++] = o : (o ^= 65536, n[a++] = 55296 | o >> 10, n[a++] = 56320 | 1023 & o)
- }
- }
- var u = "";
- for (i = 0; i < a; i += 16384) u += String.fromCharCode.apply(String, n.slice(i, i + 16384 <= a ? i + 16384 : a));
- return u
- }
- }, {}],
- 19: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/array/from"), __esModule: !0}
- }, {"core-js/library/fn/array/from": 51}],
- 20: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/get-iterator"), __esModule: !0}
- }, {"core-js/library/fn/get-iterator": 52}],
- 21: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/is-iterable"), __esModule: !0}
- }, {"core-js/library/fn/is-iterable": 53}],
- 22: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/json/stringify"), __esModule: !0}
- }, {"core-js/library/fn/json/stringify": 54}],
- 23: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/object/create"), __esModule: !0}
- }, {"core-js/library/fn/object/create": 55}],
- 24: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/object/define-property"), __esModule: !0}
- }, {"core-js/library/fn/object/define-property": 56}],
- 25: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/object/freeze"), __esModule: !0}
- }, {"core-js/library/fn/object/freeze": 57}],
- 26: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/object/get-prototype-of"), __esModule: !0}
- }, {"core-js/library/fn/object/get-prototype-of": 58}],
- 27: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/object/set-prototype-of"), __esModule: !0}
- }, {"core-js/library/fn/object/set-prototype-of": 59}],
- 28: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/promise"), __esModule: !0}
- }, {"core-js/library/fn/promise": 60}],
- 29: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/symbol"), __esModule: !0}
- }, {"core-js/library/fn/symbol": 61}],
- 30: [function (e, t, r) {
- t.exports = {default: e("core-js/library/fn/symbol/iterator"), __esModule: !0}
- }, {"core-js/library/fn/symbol/iterator": 62}],
- 31: [function (e, t, r) {
- "use strict";
- r.__esModule = !0;
- var n, i = e("../core-js/promise"), a = (n = i) && n.__esModule ? n : {default: n};
- r.default = function (e) {
- return function () {
- var t = e.apply(this, arguments);
- return new a.default(function (e, r) {
- return function n(i, s) {
- try {
- var o = t[i](s), u = o.value
- } catch (e) {
- return void r(e)
- }
- if (!o.done) return a.default.resolve(u).then(function (e) {
- n("next", e)
- }, function (e) {
- n("throw", e)
- });
- e(u)
- }("next")
- })
- }
- }
- }, {"../core-js/promise": 28}],
- 32: [function (e, t, r) {
- "use strict";
- r.__esModule = !0, r.default = function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }
- }, {}],
- 33: [function (e, t, r) {
- "use strict";
- r.__esModule = !0;
- var n, i = e("../core-js/object/define-property"), a = (n = i) && n.__esModule ? n : {default: n};
- r.default = function () {
- function e(e, t) {
- for (var r = 0; r < t.length; r++) {
- var n = t[r];
- n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), (0, a.default)(e, n.key, n)
- }
- }
-
- return function (t, r, n) {
- return r && e(t.prototype, r), n && e(t, n), t
- }
- }()
- }, {"../core-js/object/define-property": 24}],
- 34: [function (e, t, r) {
- "use strict";
- r.__esModule = !0;
- var n = s(e("../core-js/object/set-prototype-of")), i = s(e("../core-js/object/create")),
- a = s(e("../helpers/typeof"));
-
- function s(e) {
- return e && e.__esModule ? e : {default: e}
- }
-
- r.default = function (e, t) {
- if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (void 0 === t ? "undefined" : (0, a.default)(t)));
- e.prototype = (0, i.default)(t && t.prototype, {
- constructor: {
- value: e,
- enumerable: !1,
- writable: !0,
- configurable: !0
- }
- }), t && (n.default ? (0, n.default)(e, t) : e.__proto__ = t)
- }
- }, {"../core-js/object/create": 23, "../core-js/object/set-prototype-of": 27, "../helpers/typeof": 37}],
- 35: [function (e, t, r) {
- "use strict";
- r.__esModule = !0;
- var n, i = e("../helpers/typeof"), a = (n = i) && n.__esModule ? n : {default: n};
- r.default = function (e, t) {
- if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- return !t || "object" !== (void 0 === t ? "undefined" : (0, a.default)(t)) && "function" != typeof t ? e : t
- }
- }, {"../helpers/typeof": 37}],
- 36: [function (e, t, r) {
- "use strict";
- r.__esModule = !0;
- var n = a(e("../core-js/is-iterable")), i = a(e("../core-js/get-iterator"));
-
- function a(e) {
- return e && e.__esModule ? e : {default: e}
- }
-
- r.default = function () {
- return function (e, t) {
- if (Array.isArray(e)) return e;
- if ((0, n.default)(Object(e))) return function (e, t) {
- var r = [], n = !0, a = !1, s = void 0;
- try {
- for (var o, u = (0, i.default)(e); !(n = (o = u.next()).done) && (r.push(o.value), !t || r.length !== t); n = !0) ;
- } catch (e) {
- a = !0, s = e
- } finally {
- try {
- !n && u.return && u.return()
- } finally {
- if (a) throw s
- }
- }
- return r
- }(e, t);
- throw new TypeError("Invalid attempt to destructure non-iterable instance")
- }
- }()
- }, {"../core-js/get-iterator": 20, "../core-js/is-iterable": 21}],
- 37: [function (e, t, r) {
- "use strict";
- r.__esModule = !0;
- var n = s(e("../core-js/symbol/iterator")), i = s(e("../core-js/symbol")),
- a = "function" == typeof i.default && "symbol" == typeof n.default ? function (e) {
- return typeof e
- } : function (e) {
- return e && "function" == typeof i.default && e.constructor === i.default && e !== i.default.prototype ? "symbol" : typeof e
- };
-
- function s(e) {
- return e && e.__esModule ? e : {default: e}
- }
-
- r.default = "function" == typeof i.default && "symbol" === a(n.default) ? function (e) {
- return void 0 === e ? "undefined" : a(e)
- } : function (e) {
- return e && "function" == typeof i.default && e.constructor === i.default && e !== i.default.prototype ? "symbol" : void 0 === e ? "undefined" : a(e)
- }
- }, {"../core-js/symbol": 29, "../core-js/symbol/iterator": 30}],
- 38: [function (e, t, r) {
- t.exports = e("regenerator-runtime")
- }, {"regenerator-runtime": 302}],
- 39: [function (e, t, r) {
- "use strict";
- r.byteLength = function (e) {
- return 3 * e.length / 4 - f(e)
- }, r.toByteArray = function (e) {
- var t, r, n, s, o, u = e.length;
- s = f(e), o = new a(3 * u / 4 - s), r = s > 0 ? u - 4 : u;
- var c = 0;
- for (t = 0; t < r; t += 4) n = i[e.charCodeAt(t)] << 18 | i[e.charCodeAt(t + 1)] << 12 | i[e.charCodeAt(t + 2)] << 6 | i[e.charCodeAt(t + 3)], o[c++] = n >> 16 & 255, o[c++] = n >> 8 & 255, o[c++] = 255 & n;
- 2 === s ? (n = i[e.charCodeAt(t)] << 2 | i[e.charCodeAt(t + 1)] >> 4, o[c++] = 255 & n) : 1 === s && (n = i[e.charCodeAt(t)] << 10 | i[e.charCodeAt(t + 1)] << 4 | i[e.charCodeAt(t + 2)] >> 2, o[c++] = n >> 8 & 255, o[c++] = 255 & n);
- return o
- }, r.fromByteArray = function (e) {
- for (var t, r = e.length, i = r % 3, a = "", s = [], o = 0, u = r - i; o < u; o += 16383) s.push(c(e, o, o + 16383 > u ? u : o + 16383));
- 1 === i ? (t = e[r - 1], a += n[t >> 2], a += n[t << 4 & 63], a += "==") : 2 === i && (t = (e[r - 2] << 8) + e[r - 1], a += n[t >> 10], a += n[t >> 4 & 63], a += n[t << 2 & 63], a += "=");
- return s.push(a), s.join("")
- };
- for (var n = [], i = [], a = "undefined" != typeof Uint8Array ? Uint8Array : Array, s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", o = 0, u = s.length; o < u; ++o) n[o] = s[o], i[s.charCodeAt(o)] = o;
-
- function f(e) {
- var t = e.length;
- if (t % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
- return "=" === e[t - 2] ? 2 : "=" === e[t - 1] ? 1 : 0
- }
-
- function c(e, t, r) {
- for (var i, a, s = [], o = t; o < r; o += 3) i = (e[o] << 16) + (e[o + 1] << 8) + e[o + 2], s.push(n[(a = i) >> 18 & 63] + n[a >> 12 & 63] + n[a >> 6 & 63] + n[63 & a]);
- return s.join("")
- }
-
- i["-".charCodeAt(0)] = 62, i["_".charCodeAt(0)] = 63
- }, {}],
- 40: [function (e, t, r) {
- !function (t, r) {
- "use strict";
-
- function n(e, t) {
- if (!e) throw new Error(t || "Assertion failed")
- }
-
- function i(e, t) {
- e.super_ = t;
- var r = function () {
- };
- r.prototype = t.prototype, e.prototype = new r, e.prototype.constructor = e
- }
-
- function a(e, t, r) {
- if (a.isBN(e)) return e;
- this.negative = 0, this.words = null, this.length = 0, this.red = null, null !== e && ("le" !== t && "be" !== t || (r = t, t = 10), this._init(e || 0, t || 10, r || "be"))
- }
-
- var s;
- "object" == typeof t ? t.exports = a : r.BN = a, a.BN = a, a.wordSize = 26;
- try {
- s = e("buffer").Buffer
- } catch (e) {
- }
-
- function o(e, t, r) {
- for (var n = 0, i = Math.min(e.length, r), a = t; a < i; a++) {
- var s = e.charCodeAt(a) - 48;
- n <<= 4, n |= s >= 49 && s <= 54 ? s - 49 + 10 : s >= 17 && s <= 22 ? s - 17 + 10 : 15 & s
- }
- return n
- }
-
- function u(e, t, r, n) {
- for (var i = 0, a = Math.min(e.length, r), s = t; s < a; s++) {
- var o = e.charCodeAt(s) - 48;
- i *= n, i += o >= 49 ? o - 49 + 10 : o >= 17 ? o - 17 + 10 : o
- }
- return i
- }
-
- a.isBN = function (e) {
- return e instanceof a || null !== e && "object" == typeof e && e.constructor.wordSize === a.wordSize && Array.isArray(e.words)
- }, a.max = function (e, t) {
- return e.cmp(t) > 0 ? e : t
- }, a.min = function (e, t) {
- return e.cmp(t) < 0 ? e : t
- }, a.prototype._init = function (e, t, r) {
- if ("number" == typeof e) return this._initNumber(e, t, r);
- if ("object" == typeof e) return this._initArray(e, t, r);
- "hex" === t && (t = 16), n(t === (0 | t) && t >= 2 && t <= 36);
- var i = 0;
- "-" === (e = e.toString().replace(/\s+/g, ""))[0] && i++, 16 === t ? this._parseHex(e, i) : this._parseBase(e, t, i), "-" === e[0] && (this.negative = 1), this.strip(), "le" === r && this._initArray(this.toArray(), t, r)
- }, a.prototype._initNumber = function (e, t, r) {
- e < 0 && (this.negative = 1, e = -e), e < 67108864 ? (this.words = [67108863 & e], this.length = 1) : e < 4503599627370496 ? (this.words = [67108863 & e, e / 67108864 & 67108863], this.length = 2) : (n(e < 9007199254740992), this.words = [67108863 & e, e / 67108864 & 67108863, 1], this.length = 3), "le" === r && this._initArray(this.toArray(), t, r)
- }, a.prototype._initArray = function (e, t, r) {
- if (n("number" == typeof e.length), e.length <= 0) return this.words = [0], this.length = 1, this;
- this.length = Math.ceil(e.length / 3), this.words = new Array(this.length);
- for (var i = 0; i < this.length; i++) this.words[i] = 0;
- var a, s, o = 0;
- if ("be" === r) for (i = e.length - 1, a = 0; i >= 0; i -= 3) s = e[i] | e[i - 1] << 8 | e[i - 2] << 16, this.words[a] |= s << o & 67108863, this.words[a + 1] = s >>> 26 - o & 67108863, (o += 24) >= 26 && (o -= 26, a++); else if ("le" === r) for (i = 0, a = 0; i < e.length; i += 3) s = e[i] | e[i + 1] << 8 | e[i + 2] << 16, this.words[a] |= s << o & 67108863, this.words[a + 1] = s >>> 26 - o & 67108863, (o += 24) >= 26 && (o -= 26, a++);
- return this.strip()
- }, a.prototype._parseHex = function (e, t) {
- this.length = Math.ceil((e.length - t) / 6), this.words = new Array(this.length);
- for (var r = 0; r < this.length; r++) this.words[r] = 0;
- var n, i, a = 0;
- for (r = e.length - 6, n = 0; r >= t; r -= 6) i = o(e, r, r + 6), this.words[n] |= i << a & 67108863, this.words[n + 1] |= i >>> 26 - a & 4194303, (a += 24) >= 26 && (a -= 26, n++);
- r + 6 !== t && (i = o(e, t, r + 6), this.words[n] |= i << a & 67108863, this.words[n + 1] |= i >>> 26 - a & 4194303), this.strip()
- }, a.prototype._parseBase = function (e, t, r) {
- this.words = [0], this.length = 1;
- for (var n = 0, i = 1; i <= 67108863; i *= t) n++;
- n--, i = i / t | 0;
- for (var a = e.length - r, s = a % n, o = Math.min(a, a - s) + r, f = 0, c = r; c < o; c += n) f = u(e, c, c + n, t), this.imuln(i), this.words[0] + f < 67108864 ? this.words[0] += f : this._iaddn(f);
- if (0 !== s) {
- var d = 1;
- for (f = u(e, c, e.length, t), c = 0; c < s; c++) d *= t;
- this.imuln(d), this.words[0] + f < 67108864 ? this.words[0] += f : this._iaddn(f)
- }
- }, a.prototype.copy = function (e) {
- e.words = new Array(this.length);
- for (var t = 0; t < this.length; t++) e.words[t] = this.words[t];
- e.length = this.length, e.negative = this.negative, e.red = this.red
- }, a.prototype.clone = function () {
- var e = new a(null);
- return this.copy(e), e
- }, a.prototype._expand = function (e) {
- for (; this.length < e;) this.words[this.length++] = 0;
- return this
- }, a.prototype.strip = function () {
- for (; this.length > 1 && 0 === this.words[this.length - 1];) this.length--;
- return this._normSign()
- }, a.prototype._normSign = function () {
- return 1 === this.length && 0 === this.words[0] && (this.negative = 0), this
- }, a.prototype.inspect = function () {
- return (this.red ? ""
- };
- var f = ["", "0", "00", "000", "0000", "00000", "000000", "0000000", "00000000", "000000000", "0000000000", "00000000000", "000000000000", "0000000000000", "00000000000000", "000000000000000", "0000000000000000", "00000000000000000", "000000000000000000", "0000000000000000000", "00000000000000000000", "000000000000000000000", "0000000000000000000000", "00000000000000000000000", "000000000000000000000000", "0000000000000000000000000"],
- c = [0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5],
- d = [0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, 43046721, 1e7, 19487171, 35831808, 62748517, 7529536, 11390625, 16777216, 24137569, 34012224, 47045881, 64e6, 4084101, 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, 243e5, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176];
-
- function l(e, t, r) {
- r.negative = t.negative ^ e.negative;
- var n = e.length + t.length | 0;
- r.length = n, n = n - 1 | 0;
- var i = 0 | e.words[0], a = 0 | t.words[0], s = i * a, o = 67108863 & s, u = s / 67108864 | 0;
- r.words[0] = o;
- for (var f = 1; f < n; f++) {
- for (var c = u >>> 26, d = 67108863 & u, l = Math.min(f, t.length - 1), h = Math.max(0, f - e.length + 1); h <= l; h++) {
- var p = f - h | 0;
- c += (s = (i = 0 | e.words[p]) * (a = 0 | t.words[h]) + d) / 67108864 | 0, d = 67108863 & s
- }
- r.words[f] = 0 | d, u = 0 | c
- }
- return 0 !== u ? r.words[f] = 0 | u : r.length--, r.strip()
- }
-
- a.prototype.toString = function (e, t) {
- var r;
- if (e = e || 10, t = 0 | t || 1, 16 === e || "hex" === e) {
- r = "";
- for (var i = 0, a = 0, s = 0; s < this.length; s++) {
- var o = this.words[s], u = (16777215 & (o << i | a)).toString(16);
- r = 0 !== (a = o >>> 24 - i & 16777215) || s !== this.length - 1 ? f[6 - u.length] + u + r : u + r, (i += 2) >= 26 && (i -= 26, s--)
- }
- for (0 !== a && (r = a.toString(16) + r); r.length % t != 0;) r = "0" + r;
- return 0 !== this.negative && (r = "-" + r), r
- }
- if (e === (0 | e) && e >= 2 && e <= 36) {
- var l = c[e], h = d[e];
- r = "";
- var p = this.clone();
- for (p.negative = 0; !p.isZero();) {
- var y = p.modn(h).toString(e);
- r = (p = p.idivn(h)).isZero() ? y + r : f[l - y.length] + y + r
- }
- for (this.isZero() && (r = "0" + r); r.length % t != 0;) r = "0" + r;
- return 0 !== this.negative && (r = "-" + r), r
- }
- n(!1, "Base should be between 2 and 36")
- }, a.prototype.toNumber = function () {
- var e = this.words[0];
- return 2 === this.length ? e += 67108864 * this.words[1] : 3 === this.length && 1 === this.words[2] ? e += 4503599627370496 + 67108864 * this.words[1] : this.length > 2 && n(!1, "Number can only safely store up to 53 bits"), 0 !== this.negative ? -e : e
- }, a.prototype.toJSON = function () {
- return this.toString(16)
- }, a.prototype.toBuffer = function (e, t) {
- return n(void 0 !== s), this.toArrayLike(s, e, t)
- }, a.prototype.toArray = function (e, t) {
- return this.toArrayLike(Array, e, t)
- }, a.prototype.toArrayLike = function (e, t, r) {
- var i = this.byteLength(), a = r || Math.max(1, i);
- n(i <= a, "byte array longer than desired length"), n(a > 0, "Requested array length <= 0"), this.strip();
- var s, o, u = "le" === t, f = new e(a), c = this.clone();
- if (u) {
- for (o = 0; !c.isZero(); o++) s = c.andln(255), c.iushrn(8), f[o] = s;
- for (; o < a; o++) f[o] = 0
- } else {
- for (o = 0; o < a - i; o++) f[o] = 0;
- for (o = 0; !c.isZero(); o++) s = c.andln(255), c.iushrn(8), f[a - o - 1] = s
- }
- return f
- }, Math.clz32 ? a.prototype._countBits = function (e) {
- return 32 - Math.clz32(e)
- } : a.prototype._countBits = function (e) {
- var t = e, r = 0;
- return t >= 4096 && (r += 13, t >>>= 13), t >= 64 && (r += 7, t >>>= 7), t >= 8 && (r += 4, t >>>= 4), t >= 2 && (r += 2, t >>>= 2), r + t
- }, a.prototype._zeroBits = function (e) {
- if (0 === e) return 26;
- var t = e, r = 0;
- return 0 == (8191 & t) && (r += 13, t >>>= 13), 0 == (127 & t) && (r += 7, t >>>= 7), 0 == (15 & t) && (r += 4, t >>>= 4), 0 == (3 & t) && (r += 2, t >>>= 2), 0 == (1 & t) && r++, r
- }, a.prototype.bitLength = function () {
- var e = this.words[this.length - 1], t = this._countBits(e);
- return 26 * (this.length - 1) + t
- }, a.prototype.zeroBits = function () {
- if (this.isZero()) return 0;
- for (var e = 0, t = 0; t < this.length; t++) {
- var r = this._zeroBits(this.words[t]);
- if (e += r, 26 !== r) break
- }
- return e
- }, a.prototype.byteLength = function () {
- return Math.ceil(this.bitLength() / 8)
- }, a.prototype.toTwos = function (e) {
- return 0 !== this.negative ? this.abs().inotn(e).iaddn(1) : this.clone()
- }, a.prototype.fromTwos = function (e) {
- return this.testn(e - 1) ? this.notn(e).iaddn(1).ineg() : this.clone()
- }, a.prototype.isNeg = function () {
- return 0 !== this.negative
- }, a.prototype.neg = function () {
- return this.clone().ineg()
- }, a.prototype.ineg = function () {
- return this.isZero() || (this.negative ^= 1), this
- }, a.prototype.iuor = function (e) {
- for (; this.length < e.length;) this.words[this.length++] = 0;
- for (var t = 0; t < e.length; t++) this.words[t] = this.words[t] | e.words[t];
- return this.strip()
- }, a.prototype.ior = function (e) {
- return n(0 == (this.negative | e.negative)), this.iuor(e)
- }, a.prototype.or = function (e) {
- return this.length > e.length ? this.clone().ior(e) : e.clone().ior(this)
- }, a.prototype.uor = function (e) {
- return this.length > e.length ? this.clone().iuor(e) : e.clone().iuor(this)
- }, a.prototype.iuand = function (e) {
- var t;
- t = this.length > e.length ? e : this;
- for (var r = 0; r < t.length; r++) this.words[r] = this.words[r] & e.words[r];
- return this.length = t.length, this.strip()
- }, a.prototype.iand = function (e) {
- return n(0 == (this.negative | e.negative)), this.iuand(e)
- }, a.prototype.and = function (e) {
- return this.length > e.length ? this.clone().iand(e) : e.clone().iand(this)
- }, a.prototype.uand = function (e) {
- return this.length > e.length ? this.clone().iuand(e) : e.clone().iuand(this)
- }, a.prototype.iuxor = function (e) {
- var t, r;
- this.length > e.length ? (t = this, r = e) : (t = e, r = this);
- for (var n = 0; n < r.length; n++) this.words[n] = t.words[n] ^ r.words[n];
- if (this !== t) for (; n < t.length; n++) this.words[n] = t.words[n];
- return this.length = t.length, this.strip()
- }, a.prototype.ixor = function (e) {
- return n(0 == (this.negative | e.negative)), this.iuxor(e)
- }, a.prototype.xor = function (e) {
- return this.length > e.length ? this.clone().ixor(e) : e.clone().ixor(this)
- }, a.prototype.uxor = function (e) {
- return this.length > e.length ? this.clone().iuxor(e) : e.clone().iuxor(this)
- }, a.prototype.inotn = function (e) {
- n("number" == typeof e && e >= 0);
- var t = 0 | Math.ceil(e / 26), r = e % 26;
- this._expand(t), r > 0 && t--;
- for (var i = 0; i < t; i++) this.words[i] = 67108863 & ~this.words[i];
- return r > 0 && (this.words[i] = ~this.words[i] & 67108863 >> 26 - r), this.strip()
- }, a.prototype.notn = function (e) {
- return this.clone().inotn(e)
- }, a.prototype.setn = function (e, t) {
- n("number" == typeof e && e >= 0);
- var r = e / 26 | 0, i = e % 26;
- return this._expand(r + 1), this.words[r] = t ? this.words[r] | 1 << i : this.words[r] & ~(1 << i), this.strip()
- }, a.prototype.iadd = function (e) {
- var t, r, n;
- if (0 !== this.negative && 0 === e.negative) return this.negative = 0, t = this.isub(e), this.negative ^= 1, this._normSign();
- if (0 === this.negative && 0 !== e.negative) return e.negative = 0, t = this.isub(e), e.negative = 1, t._normSign();
- this.length > e.length ? (r = this, n = e) : (r = e, n = this);
- for (var i = 0, a = 0; a < n.length; a++) t = (0 | r.words[a]) + (0 | n.words[a]) + i, this.words[a] = 67108863 & t, i = t >>> 26;
- for (; 0 !== i && a < r.length; a++) t = (0 | r.words[a]) + i, this.words[a] = 67108863 & t, i = t >>> 26;
- if (this.length = r.length, 0 !== i) this.words[this.length] = i, this.length++; else if (r !== this) for (; a < r.length; a++) this.words[a] = r.words[a];
- return this
- }, a.prototype.add = function (e) {
- var t;
- return 0 !== e.negative && 0 === this.negative ? (e.negative = 0, t = this.sub(e), e.negative ^= 1, t) : 0 === e.negative && 0 !== this.negative ? (this.negative = 0, t = e.sub(this), this.negative = 1, t) : this.length > e.length ? this.clone().iadd(e) : e.clone().iadd(this)
- }, a.prototype.isub = function (e) {
- if (0 !== e.negative) {
- e.negative = 0;
- var t = this.iadd(e);
- return e.negative = 1, t._normSign()
- }
- if (0 !== this.negative) return this.negative = 0, this.iadd(e), this.negative = 1, this._normSign();
- var r, n, i = this.cmp(e);
- if (0 === i) return this.negative = 0, this.length = 1, this.words[0] = 0, this;
- i > 0 ? (r = this, n = e) : (r = e, n = this);
- for (var a = 0, s = 0; s < n.length; s++) a = (t = (0 | r.words[s]) - (0 | n.words[s]) + a) >> 26, this.words[s] = 67108863 & t;
- for (; 0 !== a && s < r.length; s++) a = (t = (0 | r.words[s]) + a) >> 26, this.words[s] = 67108863 & t;
- if (0 === a && s < r.length && r !== this) for (; s < r.length; s++) this.words[s] = r.words[s];
- return this.length = Math.max(this.length, s), r !== this && (this.negative = 1), this.strip()
- }, a.prototype.sub = function (e) {
- return this.clone().isub(e)
- };
- var h = function (e, t, r) {
- var n, i, a, s = e.words, o = t.words, u = r.words, f = 0, c = 0 | s[0], d = 8191 & c, l = c >>> 13,
- h = 0 | s[1], p = 8191 & h, y = h >>> 13, b = 0 | s[2], m = 8191 & b, g = b >>> 13,
- v = 0 | s[3], _ = 8191 & v, w = v >>> 13, k = 0 | s[4], A = 8191 & k, x = k >>> 13,
- S = 0 | s[5], E = 8191 & S, M = S >>> 13, C = 0 | s[6], j = 8191 & C, P = C >>> 13,
- B = 0 | s[7], U = 8191 & B, K = B >>> 13, I = 0 | s[8], T = 8191 & I, O = I >>> 13,
- R = 0 | s[9], D = 8191 & R, z = R >>> 13, L = 0 | o[0], F = 8191 & L, N = L >>> 13,
- q = 0 | o[1], G = 8191 & q, H = q >>> 13, Z = 0 | o[2], V = 8191 & Z, W = Z >>> 13,
- Y = 0 | o[3], X = 8191 & Y, J = Y >>> 13, $ = 0 | o[4], Q = 8191 & $, ee = $ >>> 13,
- te = 0 | o[5], re = 8191 & te, ne = te >>> 13, ie = 0 | o[6], ae = 8191 & ie, se = ie >>> 13,
- oe = 0 | o[7], ue = 8191 & oe, fe = oe >>> 13, ce = 0 | o[8], de = 8191 & ce, le = ce >>> 13,
- he = 0 | o[9], pe = 8191 & he, ye = he >>> 13;
- r.negative = e.negative ^ t.negative, r.length = 19;
- var be = (f + (n = Math.imul(d, F)) | 0) + ((8191 & (i = (i = Math.imul(d, N)) + Math.imul(l, F) | 0)) << 13) | 0;
- f = ((a = Math.imul(l, N)) + (i >>> 13) | 0) + (be >>> 26) | 0, be &= 67108863, n = Math.imul(p, F), i = (i = Math.imul(p, N)) + Math.imul(y, F) | 0, a = Math.imul(y, N);
- var me = (f + (n = n + Math.imul(d, G) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(d, H) | 0) + Math.imul(l, G) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(l, H) | 0) + (i >>> 13) | 0) + (me >>> 26) | 0, me &= 67108863, n = Math.imul(m, F), i = (i = Math.imul(m, N)) + Math.imul(g, F) | 0, a = Math.imul(g, N), n = n + Math.imul(p, G) | 0, i = (i = i + Math.imul(p, H) | 0) + Math.imul(y, G) | 0, a = a + Math.imul(y, H) | 0;
- var ge = (f + (n = n + Math.imul(d, V) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(d, W) | 0) + Math.imul(l, V) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(l, W) | 0) + (i >>> 13) | 0) + (ge >>> 26) | 0, ge &= 67108863, n = Math.imul(_, F), i = (i = Math.imul(_, N)) + Math.imul(w, F) | 0, a = Math.imul(w, N), n = n + Math.imul(m, G) | 0, i = (i = i + Math.imul(m, H) | 0) + Math.imul(g, G) | 0, a = a + Math.imul(g, H) | 0, n = n + Math.imul(p, V) | 0, i = (i = i + Math.imul(p, W) | 0) + Math.imul(y, V) | 0, a = a + Math.imul(y, W) | 0;
- var ve = (f + (n = n + Math.imul(d, X) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(d, J) | 0) + Math.imul(l, X) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(l, J) | 0) + (i >>> 13) | 0) + (ve >>> 26) | 0, ve &= 67108863, n = Math.imul(A, F), i = (i = Math.imul(A, N)) + Math.imul(x, F) | 0, a = Math.imul(x, N), n = n + Math.imul(_, G) | 0, i = (i = i + Math.imul(_, H) | 0) + Math.imul(w, G) | 0, a = a + Math.imul(w, H) | 0, n = n + Math.imul(m, V) | 0, i = (i = i + Math.imul(m, W) | 0) + Math.imul(g, V) | 0, a = a + Math.imul(g, W) | 0, n = n + Math.imul(p, X) | 0, i = (i = i + Math.imul(p, J) | 0) + Math.imul(y, X) | 0, a = a + Math.imul(y, J) | 0;
- var _e = (f + (n = n + Math.imul(d, Q) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(d, ee) | 0) + Math.imul(l, Q) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(l, ee) | 0) + (i >>> 13) | 0) + (_e >>> 26) | 0, _e &= 67108863, n = Math.imul(E, F), i = (i = Math.imul(E, N)) + Math.imul(M, F) | 0, a = Math.imul(M, N), n = n + Math.imul(A, G) | 0, i = (i = i + Math.imul(A, H) | 0) + Math.imul(x, G) | 0, a = a + Math.imul(x, H) | 0, n = n + Math.imul(_, V) | 0, i = (i = i + Math.imul(_, W) | 0) + Math.imul(w, V) | 0, a = a + Math.imul(w, W) | 0, n = n + Math.imul(m, X) | 0, i = (i = i + Math.imul(m, J) | 0) + Math.imul(g, X) | 0, a = a + Math.imul(g, J) | 0, n = n + Math.imul(p, Q) | 0, i = (i = i + Math.imul(p, ee) | 0) + Math.imul(y, Q) | 0, a = a + Math.imul(y, ee) | 0;
- var we = (f + (n = n + Math.imul(d, re) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(d, ne) | 0) + Math.imul(l, re) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(l, ne) | 0) + (i >>> 13) | 0) + (we >>> 26) | 0, we &= 67108863, n = Math.imul(j, F), i = (i = Math.imul(j, N)) + Math.imul(P, F) | 0, a = Math.imul(P, N), n = n + Math.imul(E, G) | 0, i = (i = i + Math.imul(E, H) | 0) + Math.imul(M, G) | 0, a = a + Math.imul(M, H) | 0, n = n + Math.imul(A, V) | 0, i = (i = i + Math.imul(A, W) | 0) + Math.imul(x, V) | 0, a = a + Math.imul(x, W) | 0, n = n + Math.imul(_, X) | 0, i = (i = i + Math.imul(_, J) | 0) + Math.imul(w, X) | 0, a = a + Math.imul(w, J) | 0, n = n + Math.imul(m, Q) | 0, i = (i = i + Math.imul(m, ee) | 0) + Math.imul(g, Q) | 0, a = a + Math.imul(g, ee) | 0, n = n + Math.imul(p, re) | 0, i = (i = i + Math.imul(p, ne) | 0) + Math.imul(y, re) | 0, a = a + Math.imul(y, ne) | 0;
- var ke = (f + (n = n + Math.imul(d, ae) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(d, se) | 0) + Math.imul(l, ae) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(l, se) | 0) + (i >>> 13) | 0) + (ke >>> 26) | 0, ke &= 67108863, n = Math.imul(U, F), i = (i = Math.imul(U, N)) + Math.imul(K, F) | 0, a = Math.imul(K, N), n = n + Math.imul(j, G) | 0, i = (i = i + Math.imul(j, H) | 0) + Math.imul(P, G) | 0, a = a + Math.imul(P, H) | 0, n = n + Math.imul(E, V) | 0, i = (i = i + Math.imul(E, W) | 0) + Math.imul(M, V) | 0, a = a + Math.imul(M, W) | 0, n = n + Math.imul(A, X) | 0, i = (i = i + Math.imul(A, J) | 0) + Math.imul(x, X) | 0, a = a + Math.imul(x, J) | 0, n = n + Math.imul(_, Q) | 0, i = (i = i + Math.imul(_, ee) | 0) + Math.imul(w, Q) | 0, a = a + Math.imul(w, ee) | 0, n = n + Math.imul(m, re) | 0, i = (i = i + Math.imul(m, ne) | 0) + Math.imul(g, re) | 0, a = a + Math.imul(g, ne) | 0, n = n + Math.imul(p, ae) | 0, i = (i = i + Math.imul(p, se) | 0) + Math.imul(y, ae) | 0, a = a + Math.imul(y, se) | 0;
- var Ae = (f + (n = n + Math.imul(d, ue) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(d, fe) | 0) + Math.imul(l, ue) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(l, fe) | 0) + (i >>> 13) | 0) + (Ae >>> 26) | 0, Ae &= 67108863, n = Math.imul(T, F), i = (i = Math.imul(T, N)) + Math.imul(O, F) | 0, a = Math.imul(O, N), n = n + Math.imul(U, G) | 0, i = (i = i + Math.imul(U, H) | 0) + Math.imul(K, G) | 0, a = a + Math.imul(K, H) | 0, n = n + Math.imul(j, V) | 0, i = (i = i + Math.imul(j, W) | 0) + Math.imul(P, V) | 0, a = a + Math.imul(P, W) | 0, n = n + Math.imul(E, X) | 0, i = (i = i + Math.imul(E, J) | 0) + Math.imul(M, X) | 0, a = a + Math.imul(M, J) | 0, n = n + Math.imul(A, Q) | 0, i = (i = i + Math.imul(A, ee) | 0) + Math.imul(x, Q) | 0, a = a + Math.imul(x, ee) | 0, n = n + Math.imul(_, re) | 0, i = (i = i + Math.imul(_, ne) | 0) + Math.imul(w, re) | 0, a = a + Math.imul(w, ne) | 0, n = n + Math.imul(m, ae) | 0, i = (i = i + Math.imul(m, se) | 0) + Math.imul(g, ae) | 0, a = a + Math.imul(g, se) | 0, n = n + Math.imul(p, ue) | 0, i = (i = i + Math.imul(p, fe) | 0) + Math.imul(y, ue) | 0, a = a + Math.imul(y, fe) | 0;
- var xe = (f + (n = n + Math.imul(d, de) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(d, le) | 0) + Math.imul(l, de) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(l, le) | 0) + (i >>> 13) | 0) + (xe >>> 26) | 0, xe &= 67108863, n = Math.imul(D, F), i = (i = Math.imul(D, N)) + Math.imul(z, F) | 0, a = Math.imul(z, N), n = n + Math.imul(T, G) | 0, i = (i = i + Math.imul(T, H) | 0) + Math.imul(O, G) | 0, a = a + Math.imul(O, H) | 0, n = n + Math.imul(U, V) | 0, i = (i = i + Math.imul(U, W) | 0) + Math.imul(K, V) | 0, a = a + Math.imul(K, W) | 0, n = n + Math.imul(j, X) | 0, i = (i = i + Math.imul(j, J) | 0) + Math.imul(P, X) | 0, a = a + Math.imul(P, J) | 0, n = n + Math.imul(E, Q) | 0, i = (i = i + Math.imul(E, ee) | 0) + Math.imul(M, Q) | 0, a = a + Math.imul(M, ee) | 0, n = n + Math.imul(A, re) | 0, i = (i = i + Math.imul(A, ne) | 0) + Math.imul(x, re) | 0, a = a + Math.imul(x, ne) | 0, n = n + Math.imul(_, ae) | 0, i = (i = i + Math.imul(_, se) | 0) + Math.imul(w, ae) | 0, a = a + Math.imul(w, se) | 0, n = n + Math.imul(m, ue) | 0, i = (i = i + Math.imul(m, fe) | 0) + Math.imul(g, ue) | 0, a = a + Math.imul(g, fe) | 0, n = n + Math.imul(p, de) | 0, i = (i = i + Math.imul(p, le) | 0) + Math.imul(y, de) | 0, a = a + Math.imul(y, le) | 0;
- var Se = (f + (n = n + Math.imul(d, pe) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(d, ye) | 0) + Math.imul(l, pe) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(l, ye) | 0) + (i >>> 13) | 0) + (Se >>> 26) | 0, Se &= 67108863, n = Math.imul(D, G), i = (i = Math.imul(D, H)) + Math.imul(z, G) | 0, a = Math.imul(z, H), n = n + Math.imul(T, V) | 0, i = (i = i + Math.imul(T, W) | 0) + Math.imul(O, V) | 0, a = a + Math.imul(O, W) | 0, n = n + Math.imul(U, X) | 0, i = (i = i + Math.imul(U, J) | 0) + Math.imul(K, X) | 0, a = a + Math.imul(K, J) | 0, n = n + Math.imul(j, Q) | 0, i = (i = i + Math.imul(j, ee) | 0) + Math.imul(P, Q) | 0, a = a + Math.imul(P, ee) | 0, n = n + Math.imul(E, re) | 0, i = (i = i + Math.imul(E, ne) | 0) + Math.imul(M, re) | 0, a = a + Math.imul(M, ne) | 0, n = n + Math.imul(A, ae) | 0, i = (i = i + Math.imul(A, se) | 0) + Math.imul(x, ae) | 0, a = a + Math.imul(x, se) | 0, n = n + Math.imul(_, ue) | 0, i = (i = i + Math.imul(_, fe) | 0) + Math.imul(w, ue) | 0, a = a + Math.imul(w, fe) | 0, n = n + Math.imul(m, de) | 0, i = (i = i + Math.imul(m, le) | 0) + Math.imul(g, de) | 0, a = a + Math.imul(g, le) | 0;
- var Ee = (f + (n = n + Math.imul(p, pe) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(p, ye) | 0) + Math.imul(y, pe) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(y, ye) | 0) + (i >>> 13) | 0) + (Ee >>> 26) | 0, Ee &= 67108863, n = Math.imul(D, V), i = (i = Math.imul(D, W)) + Math.imul(z, V) | 0, a = Math.imul(z, W), n = n + Math.imul(T, X) | 0, i = (i = i + Math.imul(T, J) | 0) + Math.imul(O, X) | 0, a = a + Math.imul(O, J) | 0, n = n + Math.imul(U, Q) | 0, i = (i = i + Math.imul(U, ee) | 0) + Math.imul(K, Q) | 0, a = a + Math.imul(K, ee) | 0, n = n + Math.imul(j, re) | 0, i = (i = i + Math.imul(j, ne) | 0) + Math.imul(P, re) | 0, a = a + Math.imul(P, ne) | 0, n = n + Math.imul(E, ae) | 0, i = (i = i + Math.imul(E, se) | 0) + Math.imul(M, ae) | 0, a = a + Math.imul(M, se) | 0, n = n + Math.imul(A, ue) | 0, i = (i = i + Math.imul(A, fe) | 0) + Math.imul(x, ue) | 0, a = a + Math.imul(x, fe) | 0, n = n + Math.imul(_, de) | 0, i = (i = i + Math.imul(_, le) | 0) + Math.imul(w, de) | 0, a = a + Math.imul(w, le) | 0;
- var Me = (f + (n = n + Math.imul(m, pe) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(m, ye) | 0) + Math.imul(g, pe) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(g, ye) | 0) + (i >>> 13) | 0) + (Me >>> 26) | 0, Me &= 67108863, n = Math.imul(D, X), i = (i = Math.imul(D, J)) + Math.imul(z, X) | 0, a = Math.imul(z, J), n = n + Math.imul(T, Q) | 0, i = (i = i + Math.imul(T, ee) | 0) + Math.imul(O, Q) | 0, a = a + Math.imul(O, ee) | 0, n = n + Math.imul(U, re) | 0, i = (i = i + Math.imul(U, ne) | 0) + Math.imul(K, re) | 0, a = a + Math.imul(K, ne) | 0, n = n + Math.imul(j, ae) | 0, i = (i = i + Math.imul(j, se) | 0) + Math.imul(P, ae) | 0, a = a + Math.imul(P, se) | 0, n = n + Math.imul(E, ue) | 0, i = (i = i + Math.imul(E, fe) | 0) + Math.imul(M, ue) | 0, a = a + Math.imul(M, fe) | 0, n = n + Math.imul(A, de) | 0, i = (i = i + Math.imul(A, le) | 0) + Math.imul(x, de) | 0, a = a + Math.imul(x, le) | 0;
- var Ce = (f + (n = n + Math.imul(_, pe) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(_, ye) | 0) + Math.imul(w, pe) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(w, ye) | 0) + (i >>> 13) | 0) + (Ce >>> 26) | 0, Ce &= 67108863, n = Math.imul(D, Q), i = (i = Math.imul(D, ee)) + Math.imul(z, Q) | 0, a = Math.imul(z, ee), n = n + Math.imul(T, re) | 0, i = (i = i + Math.imul(T, ne) | 0) + Math.imul(O, re) | 0, a = a + Math.imul(O, ne) | 0, n = n + Math.imul(U, ae) | 0, i = (i = i + Math.imul(U, se) | 0) + Math.imul(K, ae) | 0, a = a + Math.imul(K, se) | 0, n = n + Math.imul(j, ue) | 0, i = (i = i + Math.imul(j, fe) | 0) + Math.imul(P, ue) | 0, a = a + Math.imul(P, fe) | 0, n = n + Math.imul(E, de) | 0, i = (i = i + Math.imul(E, le) | 0) + Math.imul(M, de) | 0, a = a + Math.imul(M, le) | 0;
- var je = (f + (n = n + Math.imul(A, pe) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(A, ye) | 0) + Math.imul(x, pe) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(x, ye) | 0) + (i >>> 13) | 0) + (je >>> 26) | 0, je &= 67108863, n = Math.imul(D, re), i = (i = Math.imul(D, ne)) + Math.imul(z, re) | 0, a = Math.imul(z, ne), n = n + Math.imul(T, ae) | 0, i = (i = i + Math.imul(T, se) | 0) + Math.imul(O, ae) | 0, a = a + Math.imul(O, se) | 0, n = n + Math.imul(U, ue) | 0, i = (i = i + Math.imul(U, fe) | 0) + Math.imul(K, ue) | 0, a = a + Math.imul(K, fe) | 0, n = n + Math.imul(j, de) | 0, i = (i = i + Math.imul(j, le) | 0) + Math.imul(P, de) | 0, a = a + Math.imul(P, le) | 0;
- var Pe = (f + (n = n + Math.imul(E, pe) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(E, ye) | 0) + Math.imul(M, pe) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(M, ye) | 0) + (i >>> 13) | 0) + (Pe >>> 26) | 0, Pe &= 67108863, n = Math.imul(D, ae), i = (i = Math.imul(D, se)) + Math.imul(z, ae) | 0, a = Math.imul(z, se), n = n + Math.imul(T, ue) | 0, i = (i = i + Math.imul(T, fe) | 0) + Math.imul(O, ue) | 0, a = a + Math.imul(O, fe) | 0, n = n + Math.imul(U, de) | 0, i = (i = i + Math.imul(U, le) | 0) + Math.imul(K, de) | 0, a = a + Math.imul(K, le) | 0;
- var Be = (f + (n = n + Math.imul(j, pe) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(j, ye) | 0) + Math.imul(P, pe) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(P, ye) | 0) + (i >>> 13) | 0) + (Be >>> 26) | 0, Be &= 67108863, n = Math.imul(D, ue), i = (i = Math.imul(D, fe)) + Math.imul(z, ue) | 0, a = Math.imul(z, fe), n = n + Math.imul(T, de) | 0, i = (i = i + Math.imul(T, le) | 0) + Math.imul(O, de) | 0, a = a + Math.imul(O, le) | 0;
- var Ue = (f + (n = n + Math.imul(U, pe) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(U, ye) | 0) + Math.imul(K, pe) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(K, ye) | 0) + (i >>> 13) | 0) + (Ue >>> 26) | 0, Ue &= 67108863, n = Math.imul(D, de), i = (i = Math.imul(D, le)) + Math.imul(z, de) | 0, a = Math.imul(z, le);
- var Ke = (f + (n = n + Math.imul(T, pe) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(T, ye) | 0) + Math.imul(O, pe) | 0)) << 13) | 0;
- f = ((a = a + Math.imul(O, ye) | 0) + (i >>> 13) | 0) + (Ke >>> 26) | 0, Ke &= 67108863;
- var Ie = (f + (n = Math.imul(D, pe)) | 0) + ((8191 & (i = (i = Math.imul(D, ye)) + Math.imul(z, pe) | 0)) << 13) | 0;
- return f = ((a = Math.imul(z, ye)) + (i >>> 13) | 0) + (Ie >>> 26) | 0, Ie &= 67108863, u[0] = be, u[1] = me, u[2] = ge, u[3] = ve, u[4] = _e, u[5] = we, u[6] = ke, u[7] = Ae, u[8] = xe, u[9] = Se, u[10] = Ee, u[11] = Me, u[12] = Ce, u[13] = je, u[14] = Pe, u[15] = Be, u[16] = Ue, u[17] = Ke, u[18] = Ie, 0 !== f && (u[19] = f, r.length++), r
- };
-
- function p(e, t, r) {
- return (new y).mulp(e, t, r)
- }
-
- function y(e, t) {
- this.x = e, this.y = t
- }
-
- Math.imul || (h = l), a.prototype.mulTo = function (e, t) {
- var r = this.length + e.length;
- return 10 === this.length && 10 === e.length ? h(this, e, t) : r < 63 ? l(this, e, t) : r < 1024 ? function (e, t, r) {
- r.negative = t.negative ^ e.negative, r.length = e.length + t.length;
- for (var n = 0, i = 0, a = 0; a < r.length - 1; a++) {
- var s = i;
- i = 0;
- for (var o = 67108863 & n, u = Math.min(a, t.length - 1), f = Math.max(0, a - e.length + 1); f <= u; f++) {
- var c = a - f, d = (0 | e.words[c]) * (0 | t.words[f]), l = 67108863 & d;
- o = 67108863 & (l = l + o | 0), i += (s = (s = s + (d / 67108864 | 0) | 0) + (l >>> 26) | 0) >>> 26, s &= 67108863
- }
- r.words[a] = o, n = s, s = i
- }
- return 0 !== n ? r.words[a] = n : r.length--, r.strip()
- }(this, e, t) : p(this, e, t)
- }, y.prototype.makeRBT = function (e) {
- for (var t = new Array(e), r = a.prototype._countBits(e) - 1, n = 0; n < e; n++) t[n] = this.revBin(n, r, e);
- return t
- }, y.prototype.revBin = function (e, t, r) {
- if (0 === e || e === r - 1) return e;
- for (var n = 0, i = 0; i < t; i++) n |= (1 & e) << t - i - 1, e >>= 1;
- return n
- }, y.prototype.permute = function (e, t, r, n, i, a) {
- for (var s = 0; s < a; s++) n[s] = t[e[s]], i[s] = r[e[s]]
- }, y.prototype.transform = function (e, t, r, n, i, a) {
- this.permute(a, e, t, r, n, i);
- for (var s = 1; s < i; s <<= 1) for (var o = s << 1, u = Math.cos(2 * Math.PI / o), f = Math.sin(2 * Math.PI / o), c = 0; c < i; c += o) for (var d = u, l = f, h = 0; h < s; h++) {
- var p = r[c + h], y = n[c + h], b = r[c + h + s], m = n[c + h + s], g = d * b - l * m;
- m = d * m + l * b, b = g, r[c + h] = p + b, n[c + h] = y + m, r[c + h + s] = p - b, n[c + h + s] = y - m, h !== o && (g = u * d - f * l, l = u * l + f * d, d = g)
- }
- }, y.prototype.guessLen13b = function (e, t) {
- var r = 1 | Math.max(t, e), n = 1 & r, i = 0;
- for (r = r / 2 | 0; r; r >>>= 1) i++;
- return 1 << i + 1 + n
- }, y.prototype.conjugate = function (e, t, r) {
- if (!(r <= 1)) for (var n = 0; n < r / 2; n++) {
- var i = e[n];
- e[n] = e[r - n - 1], e[r - n - 1] = i, i = t[n], t[n] = -t[r - n - 1], t[r - n - 1] = -i
- }
- }, y.prototype.normalize13b = function (e, t) {
- for (var r = 0, n = 0; n < t / 2; n++) {
- var i = 8192 * Math.round(e[2 * n + 1] / t) + Math.round(e[2 * n] / t) + r;
- e[n] = 67108863 & i, r = i < 67108864 ? 0 : i / 67108864 | 0
- }
- return e
- }, y.prototype.convert13b = function (e, t, r, i) {
- for (var a = 0, s = 0; s < t; s++) a += 0 | e[s], r[2 * s] = 8191 & a, a >>>= 13, r[2 * s + 1] = 8191 & a, a >>>= 13;
- for (s = 2 * t; s < i; ++s) r[s] = 0;
- n(0 === a), n(0 == (-8192 & a))
- }, y.prototype.stub = function (e) {
- for (var t = new Array(e), r = 0; r < e; r++) t[r] = 0;
- return t
- }, y.prototype.mulp = function (e, t, r) {
- var n = 2 * this.guessLen13b(e.length, t.length), i = this.makeRBT(n), a = this.stub(n),
- s = new Array(n), o = new Array(n), u = new Array(n), f = new Array(n), c = new Array(n),
- d = new Array(n), l = r.words;
- l.length = n, this.convert13b(e.words, e.length, s, n), this.convert13b(t.words, t.length, f, n), this.transform(s, a, o, u, n, i), this.transform(f, a, c, d, n, i);
- for (var h = 0; h < n; h++) {
- var p = o[h] * c[h] - u[h] * d[h];
- u[h] = o[h] * d[h] + u[h] * c[h], o[h] = p
- }
- return this.conjugate(o, u, n), this.transform(o, u, l, a, n, i), this.conjugate(l, a, n), this.normalize13b(l, n), r.negative = e.negative ^ t.negative, r.length = e.length + t.length, r.strip()
- }, a.prototype.mul = function (e) {
- var t = new a(null);
- return t.words = new Array(this.length + e.length), this.mulTo(e, t)
- }, a.prototype.mulf = function (e) {
- var t = new a(null);
- return t.words = new Array(this.length + e.length), p(this, e, t)
- }, a.prototype.imul = function (e) {
- return this.clone().mulTo(e, this)
- }, a.prototype.imuln = function (e) {
- n("number" == typeof e), n(e < 67108864);
- for (var t = 0, r = 0; r < this.length; r++) {
- var i = (0 | this.words[r]) * e, a = (67108863 & i) + (67108863 & t);
- t >>= 26, t += i / 67108864 | 0, t += a >>> 26, this.words[r] = 67108863 & a
- }
- return 0 !== t && (this.words[r] = t, this.length++), this
- }, a.prototype.muln = function (e) {
- return this.clone().imuln(e)
- }, a.prototype.sqr = function () {
- return this.mul(this)
- }, a.prototype.isqr = function () {
- return this.imul(this.clone())
- }, a.prototype.pow = function (e) {
- var t = function (e) {
- for (var t = new Array(e.bitLength()), r = 0; r < t.length; r++) {
- var n = r / 26 | 0, i = r % 26;
- t[r] = (e.words[n] & 1 << i) >>> i
- }
- return t
- }(e);
- if (0 === t.length) return new a(1);
- for (var r = this, n = 0; n < t.length && 0 === t[n]; n++, r = r.sqr()) ;
- if (++n < t.length) for (var i = r.sqr(); n < t.length; n++, i = i.sqr()) 0 !== t[n] && (r = r.mul(i));
- return r
- }, a.prototype.iushln = function (e) {
- n("number" == typeof e && e >= 0);
- var t, r = e % 26, i = (e - r) / 26, a = 67108863 >>> 26 - r << 26 - r;
- if (0 !== r) {
- var s = 0;
- for (t = 0; t < this.length; t++) {
- var o = this.words[t] & a, u = (0 | this.words[t]) - o << r;
- this.words[t] = u | s, s = o >>> 26 - r
- }
- s && (this.words[t] = s, this.length++)
- }
- if (0 !== i) {
- for (t = this.length - 1; t >= 0; t--) this.words[t + i] = this.words[t];
- for (t = 0; t < i; t++) this.words[t] = 0;
- this.length += i
- }
- return this.strip()
- }, a.prototype.ishln = function (e) {
- return n(0 === this.negative), this.iushln(e)
- }, a.prototype.iushrn = function (e, t, r) {
- var i;
- n("number" == typeof e && e >= 0), i = t ? (t - t % 26) / 26 : 0;
- var a = e % 26, s = Math.min((e - a) / 26, this.length), o = 67108863 ^ 67108863 >>> a << a, u = r;
- if (i -= s, i = Math.max(0, i), u) {
- for (var f = 0; f < s; f++) u.words[f] = this.words[f];
- u.length = s
- }
- if (0 === s) ; else if (this.length > s) for (this.length -= s, f = 0; f < this.length; f++) this.words[f] = this.words[f + s]; else this.words[0] = 0, this.length = 1;
- var c = 0;
- for (f = this.length - 1; f >= 0 && (0 !== c || f >= i); f--) {
- var d = 0 | this.words[f];
- this.words[f] = c << 26 - a | d >>> a, c = d & o
- }
- return u && 0 !== c && (u.words[u.length++] = c), 0 === this.length && (this.words[0] = 0, this.length = 1), this.strip()
- }, a.prototype.ishrn = function (e, t, r) {
- return n(0 === this.negative), this.iushrn(e, t, r)
- }, a.prototype.shln = function (e) {
- return this.clone().ishln(e)
- }, a.prototype.ushln = function (e) {
- return this.clone().iushln(e)
- }, a.prototype.shrn = function (e) {
- return this.clone().ishrn(e)
- }, a.prototype.ushrn = function (e) {
- return this.clone().iushrn(e)
- }, a.prototype.testn = function (e) {
- n("number" == typeof e && e >= 0);
- var t = e % 26, r = (e - t) / 26, i = 1 << t;
- return !(this.length <= r) && !!(this.words[r] & i)
- }, a.prototype.imaskn = function (e) {
- n("number" == typeof e && e >= 0);
- var t = e % 26, r = (e - t) / 26;
- if (n(0 === this.negative, "imaskn works only with positive numbers"), this.length <= r) return this;
- if (0 !== t && r++, this.length = Math.min(r, this.length), 0 !== t) {
- var i = 67108863 ^ 67108863 >>> t << t;
- this.words[this.length - 1] &= i
- }
- return this.strip()
- }, a.prototype.maskn = function (e) {
- return this.clone().imaskn(e)
- }, a.prototype.iaddn = function (e) {
- return n("number" == typeof e), n(e < 67108864), e < 0 ? this.isubn(-e) : 0 !== this.negative ? 1 === this.length && (0 | this.words[0]) < e ? (this.words[0] = e - (0 | this.words[0]), this.negative = 0, this) : (this.negative = 0, this.isubn(e), this.negative = 1, this) : this._iaddn(e)
- }, a.prototype._iaddn = function (e) {
- this.words[0] += e;
- for (var t = 0; t < this.length && this.words[t] >= 67108864; t++) this.words[t] -= 67108864, t === this.length - 1 ? this.words[t + 1] = 1 : this.words[t + 1]++;
- return this.length = Math.max(this.length, t + 1), this
- }, a.prototype.isubn = function (e) {
- if (n("number" == typeof e), n(e < 67108864), e < 0) return this.iaddn(-e);
- if (0 !== this.negative) return this.negative = 0, this.iaddn(e), this.negative = 1, this;
- if (this.words[0] -= e, 1 === this.length && this.words[0] < 0) this.words[0] = -this.words[0], this.negative = 1; else for (var t = 0; t < this.length && this.words[t] < 0; t++) this.words[t] += 67108864, this.words[t + 1] -= 1;
- return this.strip()
- }, a.prototype.addn = function (e) {
- return this.clone().iaddn(e)
- }, a.prototype.subn = function (e) {
- return this.clone().isubn(e)
- }, a.prototype.iabs = function () {
- return this.negative = 0, this
- }, a.prototype.abs = function () {
- return this.clone().iabs()
- }, a.prototype._ishlnsubmul = function (e, t, r) {
- var i, a, s = e.length + r;
- this._expand(s);
- var o = 0;
- for (i = 0; i < e.length; i++) {
- a = (0 | this.words[i + r]) + o;
- var u = (0 | e.words[i]) * t;
- o = ((a -= 67108863 & u) >> 26) - (u / 67108864 | 0), this.words[i + r] = 67108863 & a
- }
- for (; i < this.length - r; i++) o = (a = (0 | this.words[i + r]) + o) >> 26, this.words[i + r] = 67108863 & a;
- if (0 === o) return this.strip();
- for (n(-1 === o), o = 0, i = 0; i < this.length; i++) o = (a = -(0 | this.words[i]) + o) >> 26, this.words[i] = 67108863 & a;
- return this.negative = 1, this.strip()
- }, a.prototype._wordDiv = function (e, t) {
- var r = (this.length, e.length), n = this.clone(), i = e, s = 0 | i.words[i.length - 1];
- 0 !== (r = 26 - this._countBits(s)) && (i = i.ushln(r), n.iushln(r), s = 0 | i.words[i.length - 1]);
- var o, u = n.length - i.length;
- if ("mod" !== t) {
- (o = new a(null)).length = u + 1, o.words = new Array(o.length);
- for (var f = 0; f < o.length; f++) o.words[f] = 0
- }
- var c = n.clone()._ishlnsubmul(i, 1, u);
- 0 === c.negative && (n = c, o && (o.words[u] = 1));
- for (var d = u - 1; d >= 0; d--) {
- var l = 67108864 * (0 | n.words[i.length + d]) + (0 | n.words[i.length + d - 1]);
- for (l = Math.min(l / s | 0, 67108863), n._ishlnsubmul(i, l, d); 0 !== n.negative;) l--, n.negative = 0, n._ishlnsubmul(i, 1, d), n.isZero() || (n.negative ^= 1);
- o && (o.words[d] = l)
- }
- return o && o.strip(), n.strip(), "div" !== t && 0 !== r && n.iushrn(r), {div: o || null, mod: n}
- }, a.prototype.divmod = function (e, t, r) {
- return n(!e.isZero()), this.isZero() ? {
- div: new a(0),
- mod: new a(0)
- } : 0 !== this.negative && 0 === e.negative ? (o = this.neg().divmod(e, t), "mod" !== t && (i = o.div.neg()), "div" !== t && (s = o.mod.neg(), r && 0 !== s.negative && s.iadd(e)), {
- div: i,
- mod: s
- }) : 0 === this.negative && 0 !== e.negative ? (o = this.divmod(e.neg(), t), "mod" !== t && (i = o.div.neg()), {
- div: i,
- mod: o.mod
- }) : 0 != (this.negative & e.negative) ? (o = this.neg().divmod(e.neg(), t), "div" !== t && (s = o.mod.neg(), r && 0 !== s.negative && s.isub(e)), {
- div: o.div,
- mod: s
- }) : e.length > this.length || this.cmp(e) < 0 ? {
- div: new a(0),
- mod: this
- } : 1 === e.length ? "div" === t ? {
- div: this.divn(e.words[0]),
- mod: null
- } : "mod" === t ? {div: null, mod: new a(this.modn(e.words[0]))} : {
- div: this.divn(e.words[0]),
- mod: new a(this.modn(e.words[0]))
- } : this._wordDiv(e, t);
- var i, s, o
- }, a.prototype.div = function (e) {
- return this.divmod(e, "div", !1).div
- }, a.prototype.mod = function (e) {
- return this.divmod(e, "mod", !1).mod
- }, a.prototype.umod = function (e) {
- return this.divmod(e, "mod", !0).mod
- }, a.prototype.divRound = function (e) {
- var t = this.divmod(e);
- if (t.mod.isZero()) return t.div;
- var r = 0 !== t.div.negative ? t.mod.isub(e) : t.mod, n = e.ushrn(1), i = e.andln(1), a = r.cmp(n);
- return a < 0 || 1 === i && 0 === a ? t.div : 0 !== t.div.negative ? t.div.isubn(1) : t.div.iaddn(1)
- }, a.prototype.modn = function (e) {
- n(e <= 67108863);
- for (var t = (1 << 26) % e, r = 0, i = this.length - 1; i >= 0; i--) r = (t * r + (0 | this.words[i])) % e;
- return r
- }, a.prototype.idivn = function (e) {
- n(e <= 67108863);
- for (var t = 0, r = this.length - 1; r >= 0; r--) {
- var i = (0 | this.words[r]) + 67108864 * t;
- this.words[r] = i / e | 0, t = i % e
- }
- return this.strip()
- }, a.prototype.divn = function (e) {
- return this.clone().idivn(e)
- }, a.prototype.egcd = function (e) {
- n(0 === e.negative), n(!e.isZero());
- var t = this, r = e.clone();
- t = 0 !== t.negative ? t.umod(e) : t.clone();
- for (var i = new a(1), s = new a(0), o = new a(0), u = new a(1), f = 0; t.isEven() && r.isEven();) t.iushrn(1), r.iushrn(1), ++f;
- for (var c = r.clone(), d = t.clone(); !t.isZero();) {
- for (var l = 0, h = 1; 0 == (t.words[0] & h) && l < 26; ++l, h <<= 1) ;
- if (l > 0) for (t.iushrn(l); l-- > 0;) (i.isOdd() || s.isOdd()) && (i.iadd(c), s.isub(d)), i.iushrn(1), s.iushrn(1);
- for (var p = 0, y = 1; 0 == (r.words[0] & y) && p < 26; ++p, y <<= 1) ;
- if (p > 0) for (r.iushrn(p); p-- > 0;) (o.isOdd() || u.isOdd()) && (o.iadd(c), u.isub(d)), o.iushrn(1), u.iushrn(1);
- t.cmp(r) >= 0 ? (t.isub(r), i.isub(o), s.isub(u)) : (r.isub(t), o.isub(i), u.isub(s))
- }
- return {a: o, b: u, gcd: r.iushln(f)}
- }, a.prototype._invmp = function (e) {
- n(0 === e.negative), n(!e.isZero());
- var t = this, r = e.clone();
- t = 0 !== t.negative ? t.umod(e) : t.clone();
- for (var i, s = new a(1), o = new a(0), u = r.clone(); t.cmpn(1) > 0 && r.cmpn(1) > 0;) {
- for (var f = 0, c = 1; 0 == (t.words[0] & c) && f < 26; ++f, c <<= 1) ;
- if (f > 0) for (t.iushrn(f); f-- > 0;) s.isOdd() && s.iadd(u), s.iushrn(1);
- for (var d = 0, l = 1; 0 == (r.words[0] & l) && d < 26; ++d, l <<= 1) ;
- if (d > 0) for (r.iushrn(d); d-- > 0;) o.isOdd() && o.iadd(u), o.iushrn(1);
- t.cmp(r) >= 0 ? (t.isub(r), s.isub(o)) : (r.isub(t), o.isub(s))
- }
- return (i = 0 === t.cmpn(1) ? s : o).cmpn(0) < 0 && i.iadd(e), i
- }, a.prototype.gcd = function (e) {
- if (this.isZero()) return e.abs();
- if (e.isZero()) return this.abs();
- var t = this.clone(), r = e.clone();
- t.negative = 0, r.negative = 0;
- for (var n = 0; t.isEven() && r.isEven(); n++) t.iushrn(1), r.iushrn(1);
- for (; ;) {
- for (; t.isEven();) t.iushrn(1);
- for (; r.isEven();) r.iushrn(1);
- var i = t.cmp(r);
- if (i < 0) {
- var a = t;
- t = r, r = a
- } else if (0 === i || 0 === r.cmpn(1)) break;
- t.isub(r)
- }
- return r.iushln(n)
- }, a.prototype.invm = function (e) {
- return this.egcd(e).a.umod(e)
- }, a.prototype.isEven = function () {
- return 0 == (1 & this.words[0])
- }, a.prototype.isOdd = function () {
- return 1 == (1 & this.words[0])
- }, a.prototype.andln = function (e) {
- return this.words[0] & e
- }, a.prototype.bincn = function (e) {
- n("number" == typeof e);
- var t = e % 26, r = (e - t) / 26, i = 1 << t;
- if (this.length <= r) return this._expand(r + 1), this.words[r] |= i, this;
- for (var a = i, s = r; 0 !== a && s < this.length; s++) {
- var o = 0 | this.words[s];
- a = (o += a) >>> 26, o &= 67108863, this.words[s] = o
- }
- return 0 !== a && (this.words[s] = a, this.length++), this
- }, a.prototype.isZero = function () {
- return 1 === this.length && 0 === this.words[0]
- }, a.prototype.cmpn = function (e) {
- var t, r = e < 0;
- if (0 !== this.negative && !r) return -1;
- if (0 === this.negative && r) return 1;
- if (this.strip(), this.length > 1) t = 1; else {
- r && (e = -e), n(e <= 67108863, "Number is too big");
- var i = 0 | this.words[0];
- t = i === e ? 0 : i < e ? -1 : 1
- }
- return 0 !== this.negative ? 0 | -t : t
- }, a.prototype.cmp = function (e) {
- if (0 !== this.negative && 0 === e.negative) return -1;
- if (0 === this.negative && 0 !== e.negative) return 1;
- var t = this.ucmp(e);
- return 0 !== this.negative ? 0 | -t : t
- }, a.prototype.ucmp = function (e) {
- if (this.length > e.length) return 1;
- if (this.length < e.length) return -1;
- for (var t = 0, r = this.length - 1; r >= 0; r--) {
- var n = 0 | this.words[r], i = 0 | e.words[r];
- if (n !== i) {
- n < i ? t = -1 : n > i && (t = 1);
- break
- }
- }
- return t
- }, a.prototype.gtn = function (e) {
- return 1 === this.cmpn(e)
- }, a.prototype.gt = function (e) {
- return 1 === this.cmp(e)
- }, a.prototype.gten = function (e) {
- return this.cmpn(e) >= 0
- }, a.prototype.gte = function (e) {
- return this.cmp(e) >= 0
- }, a.prototype.ltn = function (e) {
- return -1 === this.cmpn(e)
- }, a.prototype.lt = function (e) {
- return -1 === this.cmp(e)
- }, a.prototype.lten = function (e) {
- return this.cmpn(e) <= 0
- }, a.prototype.lte = function (e) {
- return this.cmp(e) <= 0
- }, a.prototype.eqn = function (e) {
- return 0 === this.cmpn(e)
- }, a.prototype.eq = function (e) {
- return 0 === this.cmp(e)
- }, a.red = function (e) {
- return new k(e)
- }, a.prototype.toRed = function (e) {
- return n(!this.red, "Already a number in reduction context"), n(0 === this.negative, "red works only with positives"), e.convertTo(this)._forceRed(e)
- }, a.prototype.fromRed = function () {
- return n(this.red, "fromRed works only with numbers in reduction context"), this.red.convertFrom(this)
- }, a.prototype._forceRed = function (e) {
- return this.red = e, this
- }, a.prototype.forceRed = function (e) {
- return n(!this.red, "Already a number in reduction context"), this._forceRed(e)
- }, a.prototype.redAdd = function (e) {
- return n(this.red, "redAdd works only with red numbers"), this.red.add(this, e)
- }, a.prototype.redIAdd = function (e) {
- return n(this.red, "redIAdd works only with red numbers"), this.red.iadd(this, e)
- }, a.prototype.redSub = function (e) {
- return n(this.red, "redSub works only with red numbers"), this.red.sub(this, e)
- }, a.prototype.redISub = function (e) {
- return n(this.red, "redISub works only with red numbers"), this.red.isub(this, e)
- }, a.prototype.redShl = function (e) {
- return n(this.red, "redShl works only with red numbers"), this.red.shl(this, e)
- }, a.prototype.redMul = function (e) {
- return n(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.mul(this, e)
- }, a.prototype.redIMul = function (e) {
- return n(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.imul(this, e)
- }, a.prototype.redSqr = function () {
- return n(this.red, "redSqr works only with red numbers"), this.red._verify1(this), this.red.sqr(this)
- }, a.prototype.redISqr = function () {
- return n(this.red, "redISqr works only with red numbers"), this.red._verify1(this), this.red.isqr(this)
- }, a.prototype.redSqrt = function () {
- return n(this.red, "redSqrt works only with red numbers"), this.red._verify1(this), this.red.sqrt(this)
- }, a.prototype.redInvm = function () {
- return n(this.red, "redInvm works only with red numbers"), this.red._verify1(this), this.red.invm(this)
- }, a.prototype.redNeg = function () {
- return n(this.red, "redNeg works only with red numbers"), this.red._verify1(this), this.red.neg(this)
- }, a.prototype.redPow = function (e) {
- return n(this.red && !e.red, "redPow(normalNum)"), this.red._verify1(this), this.red.pow(this, e)
- };
- var b = {k256: null, p224: null, p192: null, p25519: null};
-
- function m(e, t) {
- this.name = e, this.p = new a(t, 16), this.n = this.p.bitLength(), this.k = new a(1).iushln(this.n).isub(this.p), this.tmp = this._tmp()
- }
-
- function g() {
- m.call(this, "k256", "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")
- }
-
- function v() {
- m.call(this, "p224", "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")
- }
-
- function _() {
- m.call(this, "p192", "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")
- }
-
- function w() {
- m.call(this, "25519", "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")
- }
-
- function k(e) {
- if ("string" == typeof e) {
- var t = a._prime(e);
- this.m = t.p, this.prime = t
- } else n(e.gtn(1), "modulus must be greater than 1"), this.m = e, this.prime = null
- }
-
- function A(e) {
- k.call(this, e), this.shift = this.m.bitLength(), this.shift % 26 != 0 && (this.shift += 26 - this.shift % 26), this.r = new a(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv)
- }
-
- m.prototype._tmp = function () {
- var e = new a(null);
- return e.words = new Array(Math.ceil(this.n / 13)), e
- }, m.prototype.ireduce = function (e) {
- var t, r = e;
- do {
- this.split(r, this.tmp), t = (r = (r = this.imulK(r)).iadd(this.tmp)).bitLength()
- } while (t > this.n);
- var n = t < this.n ? -1 : r.ucmp(this.p);
- return 0 === n ? (r.words[0] = 0, r.length = 1) : n > 0 ? r.isub(this.p) : r.strip(), r
- }, m.prototype.split = function (e, t) {
- e.iushrn(this.n, 0, t)
- }, m.prototype.imulK = function (e) {
- return e.imul(this.k)
- }, i(g, m), g.prototype.split = function (e, t) {
- for (var r = Math.min(e.length, 9), n = 0; n < r; n++) t.words[n] = e.words[n];
- if (t.length = r, e.length <= 9) return e.words[0] = 0, void(e.length = 1);
- var i = e.words[9];
- for (t.words[t.length++] = 4194303 & i, n = 10; n < e.length; n++) {
- var a = 0 | e.words[n];
- e.words[n - 10] = (4194303 & a) << 4 | i >>> 22, i = a
- }
- i >>>= 22, e.words[n - 10] = i, 0 === i && e.length > 10 ? e.length -= 10 : e.length -= 9
- }, g.prototype.imulK = function (e) {
- e.words[e.length] = 0, e.words[e.length + 1] = 0, e.length += 2;
- for (var t = 0, r = 0; r < e.length; r++) {
- var n = 0 | e.words[r];
- t += 977 * n, e.words[r] = 67108863 & t, t = 64 * n + (t / 67108864 | 0)
- }
- return 0 === e.words[e.length - 1] && (e.length--, 0 === e.words[e.length - 1] && e.length--), e
- }, i(v, m), i(_, m), i(w, m), w.prototype.imulK = function (e) {
- for (var t = 0, r = 0; r < e.length; r++) {
- var n = 19 * (0 | e.words[r]) + t, i = 67108863 & n;
- n >>>= 26, e.words[r] = i, t = n
- }
- return 0 !== t && (e.words[e.length++] = t), e
- }, a._prime = function (e) {
- if (b[e]) return b[e];
- var t;
- if ("k256" === e) t = new g; else if ("p224" === e) t = new v; else if ("p192" === e) t = new _; else {
- if ("p25519" !== e) throw new Error("Unknown prime " + e);
- t = new w
- }
- return b[e] = t, t
- }, k.prototype._verify1 = function (e) {
- n(0 === e.negative, "red works only with positives"), n(e.red, "red works only with red numbers")
- }, k.prototype._verify2 = function (e, t) {
- n(0 == (e.negative | t.negative), "red works only with positives"), n(e.red && e.red === t.red, "red works only with red numbers")
- }, k.prototype.imod = function (e) {
- return this.prime ? this.prime.ireduce(e)._forceRed(this) : e.umod(this.m)._forceRed(this)
- }, k.prototype.neg = function (e) {
- return e.isZero() ? e.clone() : this.m.sub(e)._forceRed(this)
- }, k.prototype.add = function (e, t) {
- this._verify2(e, t);
- var r = e.add(t);
- return r.cmp(this.m) >= 0 && r.isub(this.m), r._forceRed(this)
- }, k.prototype.iadd = function (e, t) {
- this._verify2(e, t);
- var r = e.iadd(t);
- return r.cmp(this.m) >= 0 && r.isub(this.m), r
- }, k.prototype.sub = function (e, t) {
- this._verify2(e, t);
- var r = e.sub(t);
- return r.cmpn(0) < 0 && r.iadd(this.m), r._forceRed(this)
- }, k.prototype.isub = function (e, t) {
- this._verify2(e, t);
- var r = e.isub(t);
- return r.cmpn(0) < 0 && r.iadd(this.m), r
- }, k.prototype.shl = function (e, t) {
- return this._verify1(e), this.imod(e.ushln(t))
- }, k.prototype.imul = function (e, t) {
- return this._verify2(e, t), this.imod(e.imul(t))
- }, k.prototype.mul = function (e, t) {
- return this._verify2(e, t), this.imod(e.mul(t))
- }, k.prototype.isqr = function (e) {
- return this.imul(e, e.clone())
- }, k.prototype.sqr = function (e) {
- return this.mul(e, e)
- }, k.prototype.sqrt = function (e) {
- if (e.isZero()) return e.clone();
- var t = this.m.andln(3);
- if (n(t % 2 == 1), 3 === t) {
- var r = this.m.add(new a(1)).iushrn(2);
- return this.pow(e, r)
- }
- for (var i = this.m.subn(1), s = 0; !i.isZero() && 0 === i.andln(1);) s++, i.iushrn(1);
- n(!i.isZero());
- var o = new a(1).toRed(this), u = o.redNeg(), f = this.m.subn(1).iushrn(1), c = this.m.bitLength();
- for (c = new a(2 * c * c).toRed(this); 0 !== this.pow(c, f).cmp(u);) c.redIAdd(u);
- for (var d = this.pow(c, i), l = this.pow(e, i.addn(1).iushrn(1)), h = this.pow(e, i), p = s; 0 !== h.cmp(o);) {
- for (var y = h, b = 0; 0 !== y.cmp(o); b++) y = y.redSqr();
- n(b < p);
- var m = this.pow(d, new a(1).iushln(p - b - 1));
- l = l.redMul(m), d = m.redSqr(), h = h.redMul(d), p = b
- }
- return l
- }, k.prototype.invm = function (e) {
- var t = e._invmp(this.m);
- return 0 !== t.negative ? (t.negative = 0, this.imod(t).redNeg()) : this.imod(t)
- }, k.prototype.pow = function (e, t) {
- if (t.isZero()) return new a(1).toRed(this);
- if (0 === t.cmpn(1)) return e.clone();
- var r = new Array(16);
- r[0] = new a(1).toRed(this), r[1] = e;
- for (var n = 2; n < r.length; n++) r[n] = this.mul(r[n - 1], e);
- var i = r[0], s = 0, o = 0, u = t.bitLength() % 26;
- for (0 === u && (u = 26), n = t.length - 1; n >= 0; n--) {
- for (var f = t.words[n], c = u - 1; c >= 0; c--) {
- var d = f >> c & 1;
- i !== r[0] && (i = this.sqr(i)), 0 !== d || 0 !== s ? (s <<= 1, s |= d, (4 === ++o || 0 === n && 0 === c) && (i = this.mul(i, r[s]), o = 0, s = 0)) : o = 0
- }
- u = 26
- }
- return i
- }, k.prototype.convertTo = function (e) {
- var t = e.umod(this.m);
- return t === e ? t.clone() : t
- }, k.prototype.convertFrom = function (e) {
- var t = e.clone();
- return t.red = null, t
- }, a.mont = function (e) {
- return new A(e)
- }, i(A, k), A.prototype.convertTo = function (e) {
- return this.imod(e.ushln(this.shift))
- }, A.prototype.convertFrom = function (e) {
- var t = this.imod(e.mul(this.rinv));
- return t.red = null, t
- }, A.prototype.imul = function (e, t) {
- if (e.isZero() || t.isZero()) return e.words[0] = 0, e.length = 1, e;
- var r = e.imul(t), n = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),
- i = r.isub(n).iushrn(this.shift), a = i;
- return i.cmp(this.m) >= 0 ? a = i.isub(this.m) : i.cmpn(0) < 0 && (a = i.iadd(this.m)), a._forceRed(this)
- }, A.prototype.mul = function (e, t) {
- if (e.isZero() || t.isZero()) return new a(0)._forceRed(this);
- var r = e.mul(t), n = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),
- i = r.isub(n).iushrn(this.shift), s = i;
- return i.cmp(this.m) >= 0 ? s = i.isub(this.m) : i.cmpn(0) < 0 && (s = i.iadd(this.m)), s._forceRed(this)
- }, A.prototype.invm = function (e) {
- return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)
- }
- }(void 0 === t || t, this)
- }, {buffer: 42}],
- 41: [function (e, t, r) {
- var n;
-
- function i(e) {
- this.rand = e
- }
-
- if (t.exports = function (e) {
- return n || (n = new i(null)), n.generate(e)
- }, t.exports.Rand = i, i.prototype.generate = function (e) {
- return this._rand(e)
- }, i.prototype._rand = function (e) {
- if (this.rand.getBytes) return this.rand.getBytes(e);
- for (var t = new Uint8Array(e), r = 0; r < t.length; r++) t[r] = this.rand.getByte();
- return t
- }, "object" == typeof self) self.crypto && self.crypto.getRandomValues ? i.prototype._rand = function (e) {
- var t = new Uint8Array(e);
- return self.crypto.getRandomValues(t), t
- } : self.msCrypto && self.msCrypto.getRandomValues ? i.prototype._rand = function (e) {
- var t = new Uint8Array(e);
- return self.msCrypto.getRandomValues(t), t
- } : "object" == typeof window && (i.prototype._rand = function () {
- throw new Error("Not implemented yet")
- }); else try {
- var a = e("crypto");
- if ("function" != typeof a.randomBytes) throw new Error("Not supported");
- i.prototype._rand = function (e) {
- return a.randomBytes(e)
- }
- } catch (e) {
- }
- }, {crypto: "crypto"}],
- 42: [function (e, t, r) {
- }, {}],
- 43: [function (e, t, r) {
- "use strict";
- var n = e("base64-js"), i = e("ieee754");
- r.Buffer = o, r.SlowBuffer = function (e) {
- +e != e && (e = 0);
- return o.alloc(+e)
- }, r.INSPECT_MAX_BYTES = 50;
- var a = 2147483647;
-
- function s(e) {
- if (e > a) throw new RangeError("Invalid typed array length");
- var t = new Uint8Array(e);
- return t.__proto__ = o.prototype, t
- }
-
- function o(e, t, r) {
- if ("number" == typeof e) {
- if ("string" == typeof t) throw new Error("If encoding is specified then the first argument must be a string");
- return c(e)
- }
- return u(e, t, r)
- }
-
- function u(e, t, r) {
- if ("number" == typeof e) throw new TypeError('"value" argument must not be a number');
- return L(e) ? function (e, t, r) {
- if (t < 0 || e.byteLength < t) throw new RangeError("'offset' is out of bounds");
- if (e.byteLength < t + (r || 0)) throw new RangeError("'length' is out of bounds");
- var n;
- n = void 0 === t && void 0 === r ? new Uint8Array(e) : void 0 === r ? new Uint8Array(e, t) : new Uint8Array(e, t, r);
- return n.__proto__ = o.prototype, n
- }(e, t, r) : "string" == typeof e ? function (e, t) {
- "string" == typeof t && "" !== t || (t = "utf8");
- if (!o.isEncoding(t)) throw new TypeError('"encoding" must be a valid string encoding');
- var r = 0 | h(e, t), n = s(r), i = n.write(e, t);
- i !== r && (n = n.slice(0, i));
- return n
- }(e, t) : function (e) {
- if (o.isBuffer(e)) {
- var t = 0 | l(e.length), r = s(t);
- return 0 === r.length ? r : (e.copy(r, 0, 0, t), r)
- }
- if (e) {
- if (F(e) || "length" in e) return "number" != typeof e.length || N(e.length) ? s(0) : d(e);
- if ("Buffer" === e.type && Array.isArray(e.data)) return d(e.data)
- }
- throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")
- }(e)
- }
-
- function f(e) {
- if ("number" != typeof e) throw new TypeError('"size" argument must be a number');
- if (e < 0) throw new RangeError('"size" argument must not be negative')
- }
-
- function c(e) {
- return f(e), s(e < 0 ? 0 : 0 | l(e))
- }
-
- function d(e) {
- for (var t = e.length < 0 ? 0 : 0 | l(e.length), r = s(t), n = 0; n < t; n += 1) r[n] = 255 & e[n];
- return r
- }
-
- function l(e) {
- if (e >= a) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + a.toString(16) + " bytes");
- return 0 | e
- }
-
- function h(e, t) {
- if (o.isBuffer(e)) return e.length;
- if (F(e) || L(e)) return e.byteLength;
- "string" != typeof e && (e = "" + e);
- var r = e.length;
- if (0 === r) return 0;
- for (var n = !1; ;) switch (t) {
- case"ascii":
- case"latin1":
- case"binary":
- return r;
- case"utf8":
- case"utf-8":
- case void 0:
- return R(e).length;
- case"ucs2":
- case"ucs-2":
- case"utf16le":
- case"utf-16le":
- return 2 * r;
- case"hex":
- return r >>> 1;
- case"base64":
- return D(e).length;
- default:
- if (n) return R(e).length;
- t = ("" + t).toLowerCase(), n = !0
- }
- }
-
- function p(e, t, r) {
- var n = e[t];
- e[t] = e[r], e[r] = n
- }
-
- function y(e, t, r, n, i) {
- if (0 === e.length) return -1;
- if ("string" == typeof r ? (n = r, r = 0) : r > 2147483647 ? r = 2147483647 : r < -2147483648 && (r = -2147483648), N(r = +r) && (r = i ? 0 : e.length - 1), r < 0 && (r = e.length + r), r >= e.length) {
- if (i) return -1;
- r = e.length - 1
- } else if (r < 0) {
- if (!i) return -1;
- r = 0
- }
- if ("string" == typeof t && (t = o.from(t, n)), o.isBuffer(t)) return 0 === t.length ? -1 : b(e, t, r, n, i);
- if ("number" == typeof t) return t &= 255, "function" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(e, t, r) : Uint8Array.prototype.lastIndexOf.call(e, t, r) : b(e, [t], r, n, i);
- throw new TypeError("val must be string, number or Buffer")
- }
-
- function b(e, t, r, n, i) {
- var a, s = 1, o = e.length, u = t.length;
- if (void 0 !== n && ("ucs2" === (n = String(n).toLowerCase()) || "ucs-2" === n || "utf16le" === n || "utf-16le" === n)) {
- if (e.length < 2 || t.length < 2) return -1;
- s = 2, o /= 2, u /= 2, r /= 2
- }
-
- function f(e, t) {
- return 1 === s ? e[t] : e.readUInt16BE(t * s)
- }
-
- if (i) {
- var c = -1;
- for (a = r; a < o; a++) if (f(e, a) === f(t, -1 === c ? 0 : a - c)) {
- if (-1 === c && (c = a), a - c + 1 === u) return c * s
- } else -1 !== c && (a -= a - c), c = -1
- } else for (r + u > o && (r = o - u), a = r; a >= 0; a--) {
- for (var d = !0, l = 0; l < u; l++) if (f(e, a + l) !== f(t, l)) {
- d = !1;
- break
- }
- if (d) return a
- }
- return -1
- }
-
- function m(e, t, r, n) {
- r = Number(r) || 0;
- var i = e.length - r;
- n ? (n = Number(n)) > i && (n = i) : n = i;
- var a = t.length;
- if (a % 2 != 0) throw new TypeError("Invalid hex string");
- n > a / 2 && (n = a / 2);
- for (var s = 0; s < n; ++s) {
- var o = parseInt(t.substr(2 * s, 2), 16);
- if (N(o)) return s;
- e[r + s] = o
- }
- return s
- }
-
- function g(e, t, r, n) {
- return z(R(t, e.length - r), e, r, n)
- }
-
- function v(e, t, r, n) {
- return z(function (e) {
- for (var t = [], r = 0; r < e.length; ++r) t.push(255 & e.charCodeAt(r));
- return t
- }(t), e, r, n)
- }
-
- function _(e, t, r, n) {
- return v(e, t, r, n)
- }
-
- function w(e, t, r, n) {
- return z(D(t), e, r, n)
- }
-
- function k(e, t, r, n) {
- return z(function (e, t) {
- for (var r, n, i, a = [], s = 0; s < e.length && !((t -= 2) < 0); ++s) r = e.charCodeAt(s), n = r >> 8, i = r % 256, a.push(i), a.push(n);
- return a
- }(t, e.length - r), e, r, n)
- }
-
- function A(e, t, r) {
- return 0 === t && r === e.length ? n.fromByteArray(e) : n.fromByteArray(e.slice(t, r))
- }
-
- function x(e, t, r) {
- r = Math.min(e.length, r);
- for (var n = [], i = t; i < r;) {
- var a, s, o, u, f = e[i], c = null, d = f > 239 ? 4 : f > 223 ? 3 : f > 191 ? 2 : 1;
- if (i + d <= r) switch (d) {
- case 1:
- f < 128 && (c = f);
- break;
- case 2:
- 128 == (192 & (a = e[i + 1])) && (u = (31 & f) << 6 | 63 & a) > 127 && (c = u);
- break;
- case 3:
- a = e[i + 1], s = e[i + 2], 128 == (192 & a) && 128 == (192 & s) && (u = (15 & f) << 12 | (63 & a) << 6 | 63 & s) > 2047 && (u < 55296 || u > 57343) && (c = u);
- break;
- case 4:
- a = e[i + 1], s = e[i + 2], o = e[i + 3], 128 == (192 & a) && 128 == (192 & s) && 128 == (192 & o) && (u = (15 & f) << 18 | (63 & a) << 12 | (63 & s) << 6 | 63 & o) > 65535 && u < 1114112 && (c = u)
- }
- null === c ? (c = 65533, d = 1) : c > 65535 && (c -= 65536, n.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), n.push(c), i += d
- }
- return function (e) {
- var t = e.length;
- if (t <= S) return String.fromCharCode.apply(String, e);
- var r = "", n = 0;
- for (; n < t;) r += String.fromCharCode.apply(String, e.slice(n, n += S));
- return r
- }(n)
- }
-
- r.kMaxLength = a, o.TYPED_ARRAY_SUPPORT = function () {
- try {
- var e = new Uint8Array(1);
- return e.__proto__ = {
- __proto__: Uint8Array.prototype, foo: function () {
- return 42
- }
- }, 42 === e.foo()
- } catch (e) {
- return !1
- }
- }(), o.TYPED_ARRAY_SUPPORT || "undefined" == typeof console || "function" != typeof console.error || console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), "undefined" != typeof Symbol && Symbol.species && o[Symbol.species] === o && Object.defineProperty(o, Symbol.species, {
- value: null,
- configurable: !0,
- enumerable: !1,
- writable: !1
- }), o.poolSize = 8192, o.from = function (e, t, r) {
- return u(e, t, r)
- }, o.prototype.__proto__ = Uint8Array.prototype, o.__proto__ = Uint8Array, o.alloc = function (e, t, r) {
- return function (e, t, r) {
- return f(e), e <= 0 ? s(e) : void 0 !== t ? "string" == typeof r ? s(e).fill(t, r) : s(e).fill(t) : s(e)
- }(e, t, r)
- }, o.allocUnsafe = function (e) {
- return c(e)
- }, o.allocUnsafeSlow = function (e) {
- return c(e)
- }, o.isBuffer = function (e) {
- return null != e && !0 === e._isBuffer
- }, o.compare = function (e, t) {
- if (!o.isBuffer(e) || !o.isBuffer(t)) throw new TypeError("Arguments must be Buffers");
- if (e === t) return 0;
- for (var r = e.length, n = t.length, i = 0, a = Math.min(r, n); i < a; ++i) if (e[i] !== t[i]) {
- r = e[i], n = t[i];
- break
- }
- return r < n ? -1 : n < r ? 1 : 0
- }, o.isEncoding = function (e) {
- switch (String(e).toLowerCase()) {
- case"hex":
- case"utf8":
- case"utf-8":
- case"ascii":
- case"latin1":
- case"binary":
- case"base64":
- case"ucs2":
- case"ucs-2":
- case"utf16le":
- case"utf-16le":
- return !0;
- default:
- return !1
- }
- }, o.concat = function (e, t) {
- if (!Array.isArray(e)) throw new TypeError('"list" argument must be an Array of Buffers');
- if (0 === e.length) return o.alloc(0);
- var r;
- if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) t += e[r].length;
- var n = o.allocUnsafe(t), i = 0;
- for (r = 0; r < e.length; ++r) {
- var a = e[r];
- if (!o.isBuffer(a)) throw new TypeError('"list" argument must be an Array of Buffers');
- a.copy(n, i), i += a.length
- }
- return n
- }, o.byteLength = h, o.prototype._isBuffer = !0, o.prototype.swap16 = function () {
- var e = this.length;
- if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits");
- for (var t = 0; t < e; t += 2) p(this, t, t + 1);
- return this
- }, o.prototype.swap32 = function () {
- var e = this.length;
- if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits");
- for (var t = 0; t < e; t += 4) p(this, t, t + 3), p(this, t + 1, t + 2);
- return this
- }, o.prototype.swap64 = function () {
- var e = this.length;
- if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits");
- for (var t = 0; t < e; t += 8) p(this, t, t + 7), p(this, t + 1, t + 6), p(this, t + 2, t + 5), p(this, t + 3, t + 4);
- return this
- }, o.prototype.toString = function () {
- var e = this.length;
- return 0 === e ? "" : 0 === arguments.length ? x(this, 0, e) : function (e, t, r) {
- var n = !1;
- if ((void 0 === t || t < 0) && (t = 0), t > this.length) return "";
- if ((void 0 === r || r > this.length) && (r = this.length), r <= 0) return "";
- if ((r >>>= 0) <= (t >>>= 0)) return "";
- for (e || (e = "utf8"); ;) switch (e) {
- case"hex":
- return C(this, t, r);
- case"utf8":
- case"utf-8":
- return x(this, t, r);
- case"ascii":
- return E(this, t, r);
- case"latin1":
- case"binary":
- return M(this, t, r);
- case"base64":
- return A(this, t, r);
- case"ucs2":
- case"ucs-2":
- case"utf16le":
- case"utf-16le":
- return j(this, t, r);
- default:
- if (n) throw new TypeError("Unknown encoding: " + e);
- e = (e + "").toLowerCase(), n = !0
- }
- }.apply(this, arguments)
- }, o.prototype.equals = function (e) {
- if (!o.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
- return this === e || 0 === o.compare(this, e)
- }, o.prototype.inspect = function () {
- var e = "", t = r.INSPECT_MAX_BYTES;
- return this.length > 0 && (e = this.toString("hex", 0, t).match(/.{2}/g).join(" "), this.length > t && (e += " ... ")), ""
- }, o.prototype.compare = function (e, t, r, n, i) {
- if (!o.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
- if (void 0 === t && (t = 0), void 0 === r && (r = e ? e.length : 0), void 0 === n && (n = 0), void 0 === i && (i = this.length), t < 0 || r > e.length || n < 0 || i > this.length) throw new RangeError("out of range index");
- if (n >= i && t >= r) return 0;
- if (n >= i) return -1;
- if (t >= r) return 1;
- if (t >>>= 0, r >>>= 0, n >>>= 0, i >>>= 0, this === e) return 0;
- for (var a = i - n, s = r - t, u = Math.min(a, s), f = this.slice(n, i), c = e.slice(t, r), d = 0; d < u; ++d) if (f[d] !== c[d]) {
- a = f[d], s = c[d];
- break
- }
- return a < s ? -1 : s < a ? 1 : 0
- }, o.prototype.includes = function (e, t, r) {
- return -1 !== this.indexOf(e, t, r)
- }, o.prototype.indexOf = function (e, t, r) {
- return y(this, e, t, r, !0)
- }, o.prototype.lastIndexOf = function (e, t, r) {
- return y(this, e, t, r, !1)
- }, o.prototype.write = function (e, t, r, n) {
- if (void 0 === t) n = "utf8", r = this.length, t = 0; else if (void 0 === r && "string" == typeof t) n = t, r = this.length, t = 0; else {
- if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
- t >>>= 0, isFinite(r) ? (r >>>= 0, void 0 === n && (n = "utf8")) : (n = r, r = void 0)
- }
- var i = this.length - t;
- if ((void 0 === r || r > i) && (r = i), e.length > 0 && (r < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds");
- n || (n = "utf8");
- for (var a = !1; ;) switch (n) {
- case"hex":
- return m(this, e, t, r);
- case"utf8":
- case"utf-8":
- return g(this, e, t, r);
- case"ascii":
- return v(this, e, t, r);
- case"latin1":
- case"binary":
- return _(this, e, t, r);
- case"base64":
- return w(this, e, t, r);
- case"ucs2":
- case"ucs-2":
- case"utf16le":
- case"utf-16le":
- return k(this, e, t, r);
- default:
- if (a) throw new TypeError("Unknown encoding: " + n);
- n = ("" + n).toLowerCase(), a = !0
- }
- }, o.prototype.toJSON = function () {
- return {type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0)}
- };
- var S = 4096;
-
- function E(e, t, r) {
- var n = "";
- r = Math.min(e.length, r);
- for (var i = t; i < r; ++i) n += String.fromCharCode(127 & e[i]);
- return n
- }
-
- function M(e, t, r) {
- var n = "";
- r = Math.min(e.length, r);
- for (var i = t; i < r; ++i) n += String.fromCharCode(e[i]);
- return n
- }
-
- function C(e, t, r) {
- var n = e.length;
- (!t || t < 0) && (t = 0), (!r || r < 0 || r > n) && (r = n);
- for (var i = "", a = t; a < r; ++a) i += O(e[a]);
- return i
- }
-
- function j(e, t, r) {
- for (var n = e.slice(t, r), i = "", a = 0; a < n.length; a += 2) i += String.fromCharCode(n[a] + 256 * n[a + 1]);
- return i
- }
-
- function P(e, t, r) {
- if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint");
- if (e + t > r) throw new RangeError("Trying to access beyond buffer length")
- }
-
- function B(e, t, r, n, i, a) {
- if (!o.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');
- if (t > i || t < a) throw new RangeError('"value" argument is out of bounds');
- if (r + n > e.length) throw new RangeError("Index out of range")
- }
-
- function U(e, t, r, n, i, a) {
- if (r + n > e.length) throw new RangeError("Index out of range");
- if (r < 0) throw new RangeError("Index out of range")
- }
-
- function K(e, t, r, n, a) {
- return t = +t, r >>>= 0, a || U(e, 0, r, 4), i.write(e, t, r, n, 23, 4), r + 4
- }
-
- function I(e, t, r, n, a) {
- return t = +t, r >>>= 0, a || U(e, 0, r, 8), i.write(e, t, r, n, 52, 8), r + 8
- }
-
- o.prototype.slice = function (e, t) {
- var r = this.length;
- e = ~~e, t = void 0 === t ? r : ~~t, e < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), t < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), t < e && (t = e);
- var n = this.subarray(e, t);
- return n.__proto__ = o.prototype, n
- }, o.prototype.readUIntLE = function (e, t, r) {
- e >>>= 0, t >>>= 0, r || P(e, t, this.length);
- for (var n = this[e], i = 1, a = 0; ++a < t && (i *= 256);) n += this[e + a] * i;
- return n
- }, o.prototype.readUIntBE = function (e, t, r) {
- e >>>= 0, t >>>= 0, r || P(e, t, this.length);
- for (var n = this[e + --t], i = 1; t > 0 && (i *= 256);) n += this[e + --t] * i;
- return n
- }, o.prototype.readUInt8 = function (e, t) {
- return e >>>= 0, t || P(e, 1, this.length), this[e]
- }, o.prototype.readUInt16LE = function (e, t) {
- return e >>>= 0, t || P(e, 2, this.length), this[e] | this[e + 1] << 8
- }, o.prototype.readUInt16BE = function (e, t) {
- return e >>>= 0, t || P(e, 2, this.length), this[e] << 8 | this[e + 1]
- }, o.prototype.readUInt32LE = function (e, t) {
- return e >>>= 0, t || P(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3]
- }, o.prototype.readUInt32BE = function (e, t) {
- return e >>>= 0, t || P(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3])
- }, o.prototype.readIntLE = function (e, t, r) {
- e >>>= 0, t >>>= 0, r || P(e, t, this.length);
- for (var n = this[e], i = 1, a = 0; ++a < t && (i *= 256);) n += this[e + a] * i;
- return n >= (i *= 128) && (n -= Math.pow(2, 8 * t)), n
- }, o.prototype.readIntBE = function (e, t, r) {
- e >>>= 0, t >>>= 0, r || P(e, t, this.length);
- for (var n = t, i = 1, a = this[e + --n]; n > 0 && (i *= 256);) a += this[e + --n] * i;
- return a >= (i *= 128) && (a -= Math.pow(2, 8 * t)), a
- }, o.prototype.readInt8 = function (e, t) {
- return e >>>= 0, t || P(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e]
- }, o.prototype.readInt16LE = function (e, t) {
- e >>>= 0, t || P(e, 2, this.length);
- var r = this[e] | this[e + 1] << 8;
- return 32768 & r ? 4294901760 | r : r
- }, o.prototype.readInt16BE = function (e, t) {
- e >>>= 0, t || P(e, 2, this.length);
- var r = this[e + 1] | this[e] << 8;
- return 32768 & r ? 4294901760 | r : r
- }, o.prototype.readInt32LE = function (e, t) {
- return e >>>= 0, t || P(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24
- }, o.prototype.readInt32BE = function (e, t) {
- return e >>>= 0, t || P(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]
- }, o.prototype.readFloatLE = function (e, t) {
- return e >>>= 0, t || P(e, 4, this.length), i.read(this, e, !0, 23, 4)
- }, o.prototype.readFloatBE = function (e, t) {
- return e >>>= 0, t || P(e, 4, this.length), i.read(this, e, !1, 23, 4)
- }, o.prototype.readDoubleLE = function (e, t) {
- return e >>>= 0, t || P(e, 8, this.length), i.read(this, e, !0, 52, 8)
- }, o.prototype.readDoubleBE = function (e, t) {
- return e >>>= 0, t || P(e, 8, this.length), i.read(this, e, !1, 52, 8)
- }, o.prototype.writeUIntLE = function (e, t, r, n) {
- (e = +e, t >>>= 0, r >>>= 0, n) || B(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
- var i = 1, a = 0;
- for (this[t] = 255 & e; ++a < r && (i *= 256);) this[t + a] = e / i & 255;
- return t + r
- }, o.prototype.writeUIntBE = function (e, t, r, n) {
- (e = +e, t >>>= 0, r >>>= 0, n) || B(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
- var i = r - 1, a = 1;
- for (this[t + i] = 255 & e; --i >= 0 && (a *= 256);) this[t + i] = e / a & 255;
- return t + r
- }, o.prototype.writeUInt8 = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 1, 255, 0), this[t] = 255 & e, t + 1
- }, o.prototype.writeUInt16LE = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 2, 65535, 0), this[t] = 255 & e, this[t + 1] = e >>> 8, t + 2
- }, o.prototype.writeUInt16BE = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 2, 65535, 0), this[t] = e >>> 8, this[t + 1] = 255 & e, t + 2
- }, o.prototype.writeUInt32LE = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 4, 4294967295, 0), this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e, t + 4
- }, o.prototype.writeUInt32BE = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 4, 4294967295, 0), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e, t + 4
- }, o.prototype.writeIntLE = function (e, t, r, n) {
- if (e = +e, t >>>= 0, !n) {
- var i = Math.pow(2, 8 * r - 1);
- B(this, e, t, r, i - 1, -i)
- }
- var a = 0, s = 1, o = 0;
- for (this[t] = 255 & e; ++a < r && (s *= 256);) e < 0 && 0 === o && 0 !== this[t + a - 1] && (o = 1), this[t + a] = (e / s >> 0) - o & 255;
- return t + r
- }, o.prototype.writeIntBE = function (e, t, r, n) {
- if (e = +e, t >>>= 0, !n) {
- var i = Math.pow(2, 8 * r - 1);
- B(this, e, t, r, i - 1, -i)
- }
- var a = r - 1, s = 1, o = 0;
- for (this[t + a] = 255 & e; --a >= 0 && (s *= 256);) e < 0 && 0 === o && 0 !== this[t + a + 1] && (o = 1), this[t + a] = (e / s >> 0) - o & 255;
- return t + r
- }, o.prototype.writeInt8 = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 1, 127, -128), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1
- }, o.prototype.writeInt16LE = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 2, 32767, -32768), this[t] = 255 & e, this[t + 1] = e >>> 8, t + 2
- }, o.prototype.writeInt16BE = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 2, 32767, -32768), this[t] = e >>> 8, this[t + 1] = 255 & e, t + 2
- }, o.prototype.writeInt32LE = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 4, 2147483647, -2147483648), this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24, t + 4
- }, o.prototype.writeInt32BE = function (e, t, r) {
- return e = +e, t >>>= 0, r || B(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e, t + 4
- }, o.prototype.writeFloatLE = function (e, t, r) {
- return K(this, e, t, !0, r)
- }, o.prototype.writeFloatBE = function (e, t, r) {
- return K(this, e, t, !1, r)
- }, o.prototype.writeDoubleLE = function (e, t, r) {
- return I(this, e, t, !0, r)
- }, o.prototype.writeDoubleBE = function (e, t, r) {
- return I(this, e, t, !1, r)
- }, o.prototype.copy = function (e, t, r, n) {
- if (r || (r = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < r && (n = r), n === r) return 0;
- if (0 === e.length || 0 === this.length) return 0;
- if (t < 0) throw new RangeError("targetStart out of bounds");
- if (r < 0 || r >= this.length) throw new RangeError("sourceStart out of bounds");
- if (n < 0) throw new RangeError("sourceEnd out of bounds");
- n > this.length && (n = this.length), e.length - t < n - r && (n = e.length - t + r);
- var i, a = n - r;
- if (this === e && r < t && t < n) for (i = a - 1; i >= 0; --i) e[i + t] = this[i + r]; else if (a < 1e3) for (i = 0; i < a; ++i) e[i + t] = this[i + r]; else Uint8Array.prototype.set.call(e, this.subarray(r, r + a), t);
- return a
- }, o.prototype.fill = function (e, t, r, n) {
- if ("string" == typeof e) {
- if ("string" == typeof t ? (n = t, t = 0, r = this.length) : "string" == typeof r && (n = r, r = this.length), 1 === e.length) {
- var i = e.charCodeAt(0);
- i < 256 && (e = i)
- }
- if (void 0 !== n && "string" != typeof n) throw new TypeError("encoding must be a string");
- if ("string" == typeof n && !o.isEncoding(n)) throw new TypeError("Unknown encoding: " + n)
- } else "number" == typeof e && (e &= 255);
- if (t < 0 || this.length < t || this.length < r) throw new RangeError("Out of range index");
- if (r <= t) return this;
- var a;
- if (t >>>= 0, r = void 0 === r ? this.length : r >>> 0, e || (e = 0), "number" == typeof e) for (a = t; a < r; ++a) this[a] = e; else {
- var s = o.isBuffer(e) ? e : new o(e, n), u = s.length;
- for (a = 0; a < r - t; ++a) this[a + t] = s[a % u]
- }
- return this
- };
- var T = /[^+/0-9A-Za-z-_]/g;
-
- function O(e) {
- return e < 16 ? "0" + e.toString(16) : e.toString(16)
- }
-
- function R(e, t) {
- var r;
- t = t || 1 / 0;
- for (var n = e.length, i = null, a = [], s = 0; s < n; ++s) {
- if ((r = e.charCodeAt(s)) > 55295 && r < 57344) {
- if (!i) {
- if (r > 56319) {
- (t -= 3) > -1 && a.push(239, 191, 189);
- continue
- }
- if (s + 1 === n) {
- (t -= 3) > -1 && a.push(239, 191, 189);
- continue
- }
- i = r;
- continue
- }
- if (r < 56320) {
- (t -= 3) > -1 && a.push(239, 191, 189), i = r;
- continue
- }
- r = 65536 + (i - 55296 << 10 | r - 56320)
- } else i && (t -= 3) > -1 && a.push(239, 191, 189);
- if (i = null, r < 128) {
- if ((t -= 1) < 0) break;
- a.push(r)
- } else if (r < 2048) {
- if ((t -= 2) < 0) break;
- a.push(r >> 6 | 192, 63 & r | 128)
- } else if (r < 65536) {
- if ((t -= 3) < 0) break;
- a.push(r >> 12 | 224, r >> 6 & 63 | 128, 63 & r | 128)
- } else {
- if (!(r < 1114112)) throw new Error("Invalid code point");
- if ((t -= 4) < 0) break;
- a.push(r >> 18 | 240, r >> 12 & 63 | 128, r >> 6 & 63 | 128, 63 & r | 128)
- }
- }
- return a
- }
-
- function D(e) {
- return n.toByteArray(function (e) {
- if ((e = e.trim().replace(T, "")).length < 2) return "";
- for (; e.length % 4 != 0;) e += "=";
- return e
- }(e))
- }
-
- function z(e, t, r, n) {
- for (var i = 0; i < n && !(i + r >= t.length || i >= e.length); ++i) t[i + r] = e[i];
- return i
- }
-
- function L(e) {
- return e instanceof ArrayBuffer || null != e && null != e.constructor && "ArrayBuffer" === e.constructor.name && "number" == typeof e.byteLength
- }
-
- function F(e) {
- return "function" == typeof ArrayBuffer.isView && ArrayBuffer.isView(e)
- }
-
- function N(e) {
- return e != e
- }
- }, {"base64-js": 39, ieee754: 281}],
- 44: [function (e, t, r) {
- e("../../modules/es6.array.fill"), t.exports = e("../../modules/_core").Array.fill
- }, {"../../modules/_core": 167, "../../modules/es6.array.fill": 237}],
- 45: [function (e, t, r) {
- e("../../modules/es6.array.find"), t.exports = e("../../modules/_core").Array.find
- }, {"../../modules/_core": 167, "../../modules/es6.array.find": 238}],
- 46: [function (e, t, r) {
- e("../../modules/es6.string.iterator"), e("../../modules/es6.array.from"), t.exports = e("../../modules/_core").Array.from
- }, {"../../modules/_core": 167, "../../modules/es6.array.from": 239, "../../modules/es6.string.iterator": 243}],
- 47: [function (e, t, r) {
- e("../modules/es6.object.to-string"), e("../modules/es6.string.iterator"), e("../modules/web.dom.iterable"), e("../modules/es6.promise"), e("../modules/es7.promise.finally"), e("../modules/es7.promise.try"), t.exports = e("../modules/_core").Promise
- }, {
- "../modules/_core": 167,
- "../modules/es6.object.to-string": 241,
- "../modules/es6.promise": 242,
- "../modules/es6.string.iterator": 243,
- "../modules/es7.promise.finally": 247,
- "../modules/es7.promise.try": 248,
- "../modules/web.dom.iterable": 251
- }],
- 48: [function (e, t, r) {
- e("../../modules/es6.string.repeat"), t.exports = e("../../modules/_core").String.repeat
- }, {"../../modules/_core": 167, "../../modules/es6.string.repeat": 244}],
- 49: [function (e, t, r) {
- e("../../modules/es6.symbol"), e("../../modules/es6.object.to-string"), e("../../modules/es7.symbol.async-iterator"), e("../../modules/es7.symbol.observable"), t.exports = e("../../modules/_core").Symbol
- }, {
- "../../modules/_core": 167,
- "../../modules/es6.object.to-string": 241,
- "../../modules/es6.symbol": 245,
- "../../modules/es7.symbol.async-iterator": 249,
- "../../modules/es7.symbol.observable": 250
- }],
- 50: [function (e, t, r) {
- e("../../modules/es6.typed.uint8-array"), t.exports = e("../../modules/_core").Uint8Array
- }, {"../../modules/_core": 167, "../../modules/es6.typed.uint8-array": 246}],
- 51: [function (e, t, r) {
- arguments[4][46][0].apply(r, arguments)
- }, {
- "../../modules/_core": 70,
- "../../modules/es6.array.from": 139,
- "../../modules/es6.string.iterator": 148,
- dup: 46
- }],
- 52: [function (e, t, r) {
- e("../modules/web.dom.iterable"), e("../modules/es6.string.iterator"), t.exports = e("../modules/core.get-iterator")
- }, {
- "../modules/core.get-iterator": 137,
- "../modules/es6.string.iterator": 148,
- "../modules/web.dom.iterable": 154
- }],
- 53: [function (e, t, r) {
- e("../modules/web.dom.iterable"), e("../modules/es6.string.iterator"), t.exports = e("../modules/core.is-iterable")
- }, {
- "../modules/core.is-iterable": 138,
- "../modules/es6.string.iterator": 148,
- "../modules/web.dom.iterable": 154
- }],
- 54: [function (e, t, r) {
- var n = e("../../modules/_core"), i = n.JSON || (n.JSON = {stringify: JSON.stringify});
- t.exports = function (e) {
- return i.stringify.apply(i, arguments)
- }
- }, {"../../modules/_core": 70}],
- 55: [function (e, t, r) {
- e("../../modules/es6.object.create");
- var n = e("../../modules/_core").Object;
- t.exports = function (e, t) {
- return n.create(e, t)
- }
- }, {"../../modules/_core": 70, "../../modules/es6.object.create": 141}],
- 56: [function (e, t, r) {
- e("../../modules/es6.object.define-property");
- var n = e("../../modules/_core").Object;
- t.exports = function (e, t, r) {
- return n.defineProperty(e, t, r)
- }
- }, {"../../modules/_core": 70, "../../modules/es6.object.define-property": 142}],
- 57: [function (e, t, r) {
- e("../../modules/es6.object.freeze"), t.exports = e("../../modules/_core").Object.freeze
- }, {"../../modules/_core": 70, "../../modules/es6.object.freeze": 143}],
- 58: [function (e, t, r) {
- e("../../modules/es6.object.get-prototype-of"), t.exports = e("../../modules/_core").Object.getPrototypeOf
- }, {"../../modules/_core": 70, "../../modules/es6.object.get-prototype-of": 144}],
- 59: [function (e, t, r) {
- e("../../modules/es6.object.set-prototype-of"), t.exports = e("../../modules/_core").Object.setPrototypeOf
- }, {"../../modules/_core": 70, "../../modules/es6.object.set-prototype-of": 145}],
- 60: [function (e, t, r) {
- arguments[4][47][0].apply(r, arguments)
- }, {
- "../modules/_core": 70,
- "../modules/es6.object.to-string": 146,
- "../modules/es6.promise": 147,
- "../modules/es6.string.iterator": 148,
- "../modules/es7.promise.finally": 150,
- "../modules/es7.promise.try": 151,
- "../modules/web.dom.iterable": 154,
- dup: 47
- }],
- 61: [function (e, t, r) {
- arguments[4][49][0].apply(r, arguments)
- }, {
- "../../modules/_core": 70,
- "../../modules/es6.object.to-string": 146,
- "../../modules/es6.symbol": 149,
- "../../modules/es7.symbol.async-iterator": 152,
- "../../modules/es7.symbol.observable": 153,
- dup: 49
- }],
- 62: [function (e, t, r) {
- e("../../modules/es6.string.iterator"), e("../../modules/web.dom.iterable"), t.exports = e("../../modules/_wks-ext").f("iterator")
- }, {
- "../../modules/_wks-ext": 134,
- "../../modules/es6.string.iterator": 148,
- "../../modules/web.dom.iterable": 154
- }],
- 63: [function (e, t, r) {
- t.exports = function (e) {
- if ("function" != typeof e) throw TypeError(e + " is not a function!");
- return e
- }
- }, {}],
- 64: [function (e, t, r) {
- t.exports = function () {
- }
- }, {}],
- 65: [function (e, t, r) {
- t.exports = function (e, t, r, n) {
- if (!(e instanceof t) || void 0 !== n && n in e) throw TypeError(r + ": incorrect invocation!");
- return e
- }
- }, {}],
- 66: [function (e, t, r) {
- var n = e("./_is-object");
- t.exports = function (e) {
- if (!n(e)) throw TypeError(e + " is not an object!");
- return e
- }
- }, {"./_is-object": 90}],
- 67: [function (e, t, r) {
- var n = e("./_to-iobject"), i = e("./_to-length"), a = e("./_to-absolute-index");
- t.exports = function (e) {
- return function (t, r, s) {
- var o, u = n(t), f = i(u.length), c = a(s, f);
- if (e && r != r) {
- for (; f > c;) if ((o = u[c++]) != o) return !0
- } else for (; f > c; c++) if ((e || c in u) && u[c] === r) return e || c || 0;
- return !e && -1
- }
- }
- }, {"./_to-absolute-index": 126, "./_to-iobject": 128, "./_to-length": 129}],
- 68: [function (e, t, r) {
- var n = e("./_cof"), i = e("./_wks")("toStringTag"), a = "Arguments" == n(function () {
- return arguments
- }());
- t.exports = function (e) {
- var t, r, s;
- return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof(r = function (e, t) {
- try {
- return e[t]
- } catch (e) {
- }
- }(t = Object(e), i)) ? r : a ? n(t) : "Object" == (s = n(t)) && "function" == typeof t.callee ? "Arguments" : s
- }
- }, {"./_cof": 69, "./_wks": 135}],
- 69: [function (e, t, r) {
- var n = {}.toString;
- t.exports = function (e) {
- return n.call(e).slice(8, -1)
- }
- }, {}],
- 70: [function (e, t, r) {
- var n = t.exports = {version: "2.5.3"};
- "number" == typeof __e && (__e = n)
- }, {}],
- 71: [function (e, t, r) {
- "use strict";
- var n = e("./_object-dp"), i = e("./_property-desc");
- t.exports = function (e, t, r) {
- t in e ? n.f(e, t, i(0, r)) : e[t] = r
- }
- }, {"./_object-dp": 102, "./_property-desc": 115}],
- 72: [function (e, t, r) {
- var n = e("./_a-function");
- t.exports = function (e, t, r) {
- if (n(e), void 0 === t) return e;
- switch (r) {
- case 1:
- return function (r) {
- return e.call(t, r)
- };
- case 2:
- return function (r, n) {
- return e.call(t, r, n)
- };
- case 3:
- return function (r, n, i) {
- return e.call(t, r, n, i)
- }
- }
- return function () {
- return e.apply(t, arguments)
- }
- }
- }, {"./_a-function": 63}],
- 73: [function (e, t, r) {
- t.exports = function (e) {
- if (void 0 == e) throw TypeError("Can't call method on " + e);
- return e
- }
- }, {}],
- 74: [function (e, t, r) {
- t.exports = !e("./_fails")(function () {
- return 7 != Object.defineProperty({}, "a", {
- get: function () {
- return 7
- }
- }).a
- })
- }, {"./_fails": 79}],
- 75: [function (e, t, r) {
- var n = e("./_is-object"), i = e("./_global").document, a = n(i) && n(i.createElement);
- t.exports = function (e) {
- return a ? i.createElement(e) : {}
- }
- }, {"./_global": 81, "./_is-object": 90}],
- 76: [function (e, t, r) {
- t.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
- }, {}],
- 77: [function (e, t, r) {
- var n = e("./_object-keys"), i = e("./_object-gops"), a = e("./_object-pie");
- t.exports = function (e) {
- var t = n(e), r = i.f;
- if (r) for (var s, o = r(e), u = a.f, f = 0; o.length > f;) u.call(e, s = o[f++]) && t.push(s);
- return t
- }
- }, {"./_object-gops": 107, "./_object-keys": 110, "./_object-pie": 111}],
- 78: [function (e, t, r) {
- var n = e("./_global"), i = e("./_core"), a = e("./_ctx"), s = e("./_hide"), o = function (e, t, r) {
- var u, f, c, d = e & o.F, l = e & o.G, h = e & o.S, p = e & o.P, y = e & o.B, b = e & o.W,
- m = l ? i : i[t] || (i[t] = {}), g = m.prototype, v = l ? n : h ? n[t] : (n[t] || {}).prototype;
- for (u in l && (r = t), r) (f = !d && v && void 0 !== v[u]) && u in m || (c = f ? v[u] : r[u], m[u] = l && "function" != typeof v[u] ? r[u] : y && f ? a(c, n) : b && v[u] == c ? function (e) {
- var t = function (t, r, n) {
- if (this instanceof e) {
- switch (arguments.length) {
- case 0:
- return new e;
- case 1:
- return new e(t);
- case 2:
- return new e(t, r)
- }
- return new e(t, r, n)
- }
- return e.apply(this, arguments)
- };
- return t.prototype = e.prototype, t
- }(c) : p && "function" == typeof c ? a(Function.call, c) : c, p && ((m.virtual || (m.virtual = {}))[u] = c, e & o.R && g && !g[u] && s(g, u, c)))
- };
- o.F = 1, o.G = 2, o.S = 4, o.P = 8, o.B = 16, o.W = 32, o.U = 64, o.R = 128, t.exports = o
- }, {"./_core": 70, "./_ctx": 72, "./_global": 81, "./_hide": 83}],
- 79: [function (e, t, r) {
- t.exports = function (e) {
- try {
- return !!e()
- } catch (e) {
- return !0
- }
- }
- }, {}],
- 80: [function (e, t, r) {
- var n = e("./_ctx"), i = e("./_iter-call"), a = e("./_is-array-iter"), s = e("./_an-object"),
- o = e("./_to-length"), u = e("./core.get-iterator-method"), f = {}, c = {};
- (r = t.exports = function (e, t, r, d, l) {
- var h, p, y, b, m = l ? function () {
- return e
- } : u(e), g = n(r, d, t ? 2 : 1), v = 0;
- if ("function" != typeof m) throw TypeError(e + " is not iterable!");
- if (a(m)) {
- for (h = o(e.length); h > v; v++) if ((b = t ? g(s(p = e[v])[0], p[1]) : g(e[v])) === f || b === c) return b
- } else for (y = m.call(e); !(p = y.next()).done;) if ((b = i(y, g, p.value, t)) === f || b === c) return b
- }).BREAK = f, r.RETURN = c
- }, {
- "./_an-object": 66,
- "./_ctx": 72,
- "./_is-array-iter": 88,
- "./_iter-call": 91,
- "./_to-length": 129,
- "./core.get-iterator-method": 136
- }],
- 81: [function (e, t, r) {
- var n = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
- "number" == typeof __g && (__g = n)
- }, {}],
- 82: [function (e, t, r) {
- var n = {}.hasOwnProperty;
- t.exports = function (e, t) {
- return n.call(e, t)
- }
- }, {}],
- 83: [function (e, t, r) {
- var n = e("./_object-dp"), i = e("./_property-desc");
- t.exports = e("./_descriptors") ? function (e, t, r) {
- return n.f(e, t, i(1, r))
- } : function (e, t, r) {
- return e[t] = r, e
- }
- }, {"./_descriptors": 74, "./_object-dp": 102, "./_property-desc": 115}],
- 84: [function (e, t, r) {
- var n = e("./_global").document;
- t.exports = n && n.documentElement
- }, {"./_global": 81}],
- 85: [function (e, t, r) {
- t.exports = !e("./_descriptors") && !e("./_fails")(function () {
- return 7 != Object.defineProperty(e("./_dom-create")("div"), "a", {
- get: function () {
- return 7
- }
- }).a
- })
- }, {"./_descriptors": 74, "./_dom-create": 75, "./_fails": 79}],
- 86: [function (e, t, r) {
- t.exports = function (e, t, r) {
- var n = void 0 === r;
- switch (t.length) {
- case 0:
- return n ? e() : e.call(r);
- case 1:
- return n ? e(t[0]) : e.call(r, t[0]);
- case 2:
- return n ? e(t[0], t[1]) : e.call(r, t[0], t[1]);
- case 3:
- return n ? e(t[0], t[1], t[2]) : e.call(r, t[0], t[1], t[2]);
- case 4:
- return n ? e(t[0], t[1], t[2], t[3]) : e.call(r, t[0], t[1], t[2], t[3])
- }
- return e.apply(r, t)
- }
- }, {}],
- 87: [function (e, t, r) {
- var n = e("./_cof");
- t.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {
- return "String" == n(e) ? e.split("") : Object(e)
- }
- }, {"./_cof": 69}],
- 88: [function (e, t, r) {
- var n = e("./_iterators"), i = e("./_wks")("iterator"), a = Array.prototype;
- t.exports = function (e) {
- return void 0 !== e && (n.Array === e || a[i] === e)
- }
- }, {"./_iterators": 96, "./_wks": 135}],
- 89: [function (e, t, r) {
- var n = e("./_cof");
- t.exports = Array.isArray || function (e) {
- return "Array" == n(e)
- }
- }, {"./_cof": 69}],
- 90: [function (e, t, r) {
- t.exports = function (e) {
- return "object" == typeof e ? null !== e : "function" == typeof e
- }
- }, {}],
- 91: [function (e, t, r) {
- var n = e("./_an-object");
- t.exports = function (e, t, r, i) {
- try {
- return i ? t(n(r)[0], r[1]) : t(r)
- } catch (t) {
- var a = e.return;
- throw void 0 !== a && n(a.call(e)), t
- }
- }
- }, {"./_an-object": 66}],
- 92: [function (e, t, r) {
- "use strict";
- var n = e("./_object-create"), i = e("./_property-desc"), a = e("./_set-to-string-tag"), s = {};
- e("./_hide")(s, e("./_wks")("iterator"), function () {
- return this
- }), t.exports = function (e, t, r) {
- e.prototype = n(s, {next: i(1, r)}), a(e, t + " Iterator")
- }
- }, {
- "./_hide": 83,
- "./_object-create": 101,
- "./_property-desc": 115,
- "./_set-to-string-tag": 120,
- "./_wks": 135
- }],
- 93: [function (e, t, r) {
- "use strict";
- var n = e("./_library"), i = e("./_export"), a = e("./_redefine"), s = e("./_hide"), o = e("./_has"),
- u = e("./_iterators"), f = e("./_iter-create"), c = e("./_set-to-string-tag"), d = e("./_object-gpo"),
- l = e("./_wks")("iterator"), h = !([].keys && "next" in [].keys()), p = function () {
- return this
- };
- t.exports = function (e, t, r, y, b, m, g) {
- f(r, t, y);
- var v, _, w, k = function (e) {
- if (!h && e in E) return E[e];
- switch (e) {
- case"keys":
- case"values":
- return function () {
- return new r(this, e)
- }
- }
- return function () {
- return new r(this, e)
- }
- }, A = t + " Iterator", x = "values" == b, S = !1, E = e.prototype,
- M = E[l] || E["@@iterator"] || b && E[b], C = !h && M || k(b),
- j = b ? x ? k("entries") : C : void 0, P = "Array" == t && E.entries || M;
- if (P && (w = d(P.call(new e))) !== Object.prototype && w.next && (c(w, A, !0), n || o(w, l) || s(w, l, p)), x && M && "values" !== M.name && (S = !0, C = function () {
- return M.call(this)
- }), n && !g || !h && !S && E[l] || s(E, l, C), u[t] = C, u[A] = p, b) if (v = {
- values: x ? C : k("values"),
- keys: m ? C : k("keys"),
- entries: j
- }, g) for (_ in v) _ in E || a(E, _, v[_]); else i(i.P + i.F * (h || S), t, v);
- return v
- }
- }, {
- "./_export": 78,
- "./_has": 82,
- "./_hide": 83,
- "./_iter-create": 92,
- "./_iterators": 96,
- "./_library": 97,
- "./_object-gpo": 108,
- "./_redefine": 117,
- "./_set-to-string-tag": 120,
- "./_wks": 135
- }],
- 94: [function (e, t, r) {
- var n = e("./_wks")("iterator"), i = !1;
- try {
- var a = [7][n]();
- a.return = function () {
- i = !0
- }, Array.from(a, function () {
- throw 2
- })
- } catch (e) {
- }
- t.exports = function (e, t) {
- if (!t && !i) return !1;
- var r = !1;
- try {
- var a = [7], s = a[n]();
- s.next = function () {
- return {done: r = !0}
- }, a[n] = function () {
- return s
- }, e(a)
- } catch (e) {
- }
- return r
- }
- }, {"./_wks": 135}],
- 95: [function (e, t, r) {
- t.exports = function (e, t) {
- return {value: t, done: !!e}
- }
- }, {}],
- 96: [function (e, t, r) {
- t.exports = {}
- }, {}],
- 97: [function (e, t, r) {
- t.exports = !0
- }, {}],
- 98: [function (e, t, r) {
- var n = e("./_uid")("meta"), i = e("./_is-object"), a = e("./_has"), s = e("./_object-dp").f, o = 0,
- u = Object.isExtensible || function () {
- return !0
- }, f = !e("./_fails")(function () {
- return u(Object.preventExtensions({}))
- }), c = function (e) {
- s(e, n, {value: {i: "O" + ++o, w: {}}})
- }, d = t.exports = {
- KEY: n, NEED: !1, fastKey: function (e, t) {
- if (!i(e)) return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;
- if (!a(e, n)) {
- if (!u(e)) return "F";
- if (!t) return "E";
- c(e)
- }
- return e[n].i
- }, getWeak: function (e, t) {
- if (!a(e, n)) {
- if (!u(e)) return !0;
- if (!t) return !1;
- c(e)
- }
- return e[n].w
- }, onFreeze: function (e) {
- return f && d.NEED && u(e) && !a(e, n) && c(e), e
- }
- }
- }, {"./_fails": 79, "./_has": 82, "./_is-object": 90, "./_object-dp": 102, "./_uid": 132}],
- 99: [function (e, t, r) {
- var n = e("./_global"), i = e("./_task").set, a = n.MutationObserver || n.WebKitMutationObserver,
- s = n.process, o = n.Promise, u = "process" == e("./_cof")(s);
- t.exports = function () {
- var e, t, r, f = function () {
- var n, i;
- for (u && (n = s.domain) && n.exit(); e;) {
- i = e.fn, e = e.next;
- try {
- i()
- } catch (n) {
- throw e ? r() : t = void 0, n
- }
- }
- t = void 0, n && n.enter()
- };
- if (u) r = function () {
- s.nextTick(f)
- }; else if (!a || n.navigator && n.navigator.standalone) if (o && o.resolve) {
- var c = o.resolve();
- r = function () {
- c.then(f)
- }
- } else r = function () {
- i.call(n, f)
- }; else {
- var d = !0, l = document.createTextNode("");
- new a(f).observe(l, {characterData: !0}), r = function () {
- l.data = d = !d
- }
- }
- return function (n) {
- var i = {fn: n, next: void 0};
- t && (t.next = i), e || (e = i, r()), t = i
- }
- }
- }, {"./_cof": 69, "./_global": 81, "./_task": 125}],
- 100: [function (e, t, r) {
- "use strict";
- var n = e("./_a-function");
- t.exports.f = function (e) {
- return new function (e) {
- var t, r;
- this.promise = new e(function (e, n) {
- if (void 0 !== t || void 0 !== r) throw TypeError("Bad Promise constructor");
- t = e, r = n
- }), this.resolve = n(t), this.reject = n(r)
- }(e)
- }
- }, {"./_a-function": 63}],
- 101: [function (e, t, r) {
- var n = e("./_an-object"), i = e("./_object-dps"), a = e("./_enum-bug-keys"),
- s = e("./_shared-key")("IE_PROTO"), o = function () {
- }, u = function () {
- var t, r = e("./_dom-create")("iframe"), n = a.length;
- for (r.style.display = "none", e("./_html").appendChild(r), r.src = "javascript:", (t = r.contentWindow.document).open(), t.write("
-
-
-
-
-
-
-
-
-
-
- Jump to Page: • Show:
-
-
-
-
-
- *
- * Initialize ufTable on your container object:
- *
- * $("#widget-users").ufTable(options);
- *
- * `options` is an object containing any of the following parameters:
- * @param {string} dataUrl The absolute URL from which to fetch table data.
- * @param {mixed} addParams An object containing any additional key-value pairs that you want appended to the AJAX requests.
- * @param {mixed} tablesorter An object containing tablesorter's configuration options (https://mottie.github.io/tablesorter/docs/#Configuration)
- * @param {mixed} pager An object containing tablesorter's paging options (https://mottie.github.io/tablesorter/docs/#pager)
- *
- * == EVENTS ==
- *
- * ufTable triggers the following events:
- *
- * `pagerComplete.ufTable`: triggered when the tablesorter pager plugin has completed rendering of the table.
- *
- * == METHODS ==
- *
- * `getTableStateVars( table )`: fetches the current page size, page number, sort order, sort field, and column filters.
- *
- * UserFrosting https://www.userfrosting.com
- * @author Alexander Weissman
- */
-;(function ($, window, document, undefined) {
- 'use strict';
-
- // Define plugin name and defaults.
- var pluginName = 'ufTable',
- defaults = {
- DEBUG: false,
- site: site, // global site variables
- dataUrl: '',
- msgTarget: $('#alerts-page'),
- addParams: {},
- filterAllField: '_all',
- useLoadingTransition: true,
- rowTemplate: null,
- columnTemplates: {},
- tablesorter: {
- debug: false,
- theme: 'bootstrap',
- widthFixed: true,
- // Set up pagination of data via an AJAX source
- // See http://jsfiddle.net/Mottie/uwZc2/
- // Also see https://mottie.github.io/tablesorter/docs/example-pager-ajax.html
- widgets: ['saveSort', 'sort2Hash', 'filter', 'pager', 'columnSelector', 'reflow2'],
- widgetOptions: {
- columnSelector_layout: '',
- filter_cssFilter: 'form-control',
- filter_saveFilters: true,
- filter_serversideFiltering: true,
- filter_selectSource: {
- '.filter-select': function () {
- return null;
- }
- },
-
- // apply disabled classname to the pager arrows when the rows at either extreme is visible
- pager_updateArrows: true,
-
- // starting page of the pager (zero based index)
- pager_startPage: 0,
-
- // Number of visible rows
- pager_size: 10,
-
- // Save pager page & size if the storage script is loaded (requires $.tablesorter.storage in jquery.tablesorter.widgets.js)
- pager_savePages: true,
-
- // if true, the table will remain the same height no matter how many records are displayed. The space is made up by an empty
- // table row set to a height to compensate; default is false
- pager_fixedHeight: false,
-
- // remove rows from the table to speed up the sort of large tables.
- // setting this to false, only hides the non-visible rows; needed if you plan to add/remove rows with the pager enabled.
- pager_removeRows: false, // removing rows in larger tables speeds up the sort
-
- // target the pager markup - see the HTML block below
- pager_css: {
- errorRow: 'uf-table-error-row', // error information row
- disabled: 'disabled' // Note there is no period "." in front of this class name
- },
-
- // Must be initialized with a 'data' key
- pager_ajaxObject: {
- data: {},
- dataType: 'json'
- },
-
- // hash prefix
- sort2Hash_hash: '#',
- // don't '#' or '=' here
- sort2Hash_separator: '|',
- // this option > table ID > table index on page
- sort2Hash_tableId: null,
- // if true, show header cell text instead of a zero-based column index
- sort2Hash_headerTextAttr: 'data-column-name',
- // direction text shown in the URL e.g. [ 'asc', 'desc' ]
- sort2Hash_directionText: ['asc', 'desc'], // default values
- // if true, override saveSort widget sort, if used & stored sort is available
- sort2Hash_overrideSaveSort: true, // default = false
- }
- }
- };
-
- // Constructor
- function Plugin(element, options) {
- this.element = element[0];
- this.$element = $(this.element);
-
- var lateDefaults = {
- download: {
- button: this.$element.find('.js-uf-table-download'),
- callback: $.proxy(this._onDownload, this)
- },
- info: {
- container: this.$element.find('.js-uf-table-info'),
- callback: $.proxy(this._renderInfoMessages, this)
- },
- overlay: {
- container: this.$element.find('.js-uf-table-overlay')
- },
- tableElement: this.$element.find('.tablesorter'),
- tablesorter: {
- widgetOptions: {
- columnSelector_container: this.$element.find('.js-uf-table-cs-options'),
- filter_external: this.$element.find('.js-uf-table-search input'),
-
- // Pager selectors
- pager_selectors: {
- container: this.$element.find('.js-uf-table-pager'),
- first: '.first', // go to first page arrow
- prev: '.prev', // previous page arrow
- next: '.next', // next page arrow
- last: '.last', // go to last page arrow
- gotoPage: '.gotoPage', // go to page selector - select dropdown that sets the current page
- pageDisplay: '.pagedisplay', // location of where the "output" is displayed
- pageSize: '.pagesize' // page size selector - select dropdown that sets the "size" option
- },
- // We need to use $.proxy to properly bind the context for callbacks that will be called by Tablesorter
-
- // Generate the URL for the AJAX request, with the relevant parameters
- pager_customAjaxUrl: $.proxy(this._generateUrl, this),
-
- // Callback to process the response from the AJAX request
- pager_ajaxProcessing: $.proxy(this._processAjax, this),
-
- // Callback to display errors
- pager_ajaxError: $.proxy(this._pagerAjaxError, this),
-
- sort2Hash_encodeHash: $.proxy(this._encodeHash, this),
-
- sort2Hash_decodeHash: $.proxy(this._decodeHash, this),
-
- sort2Hash_cleanHash: $.proxy(this._cleanHash, this)
- }
- }
- };
- this.settings = $.extend(true, {}, defaults, lateDefaults, options);
- this._defaults = defaults;
- this._name = pluginName;
- this._debugAjax = (typeof this.settings.site !== 'undefined') && this.settings.site.debug.ajax;
-
- // Fall back to attributes from data-*, default values if not specified in options
- var pagerContainer = this.settings.tablesorter.widgetOptions.pager_selectors.container;
- var infoContainer = this.settings.info.container;
- var dataAttributeDefaults = {
- info: {
- messageEmptyRows: infoContainer.data('message-empty-rows') ?
- infoContainer.data('message-empty-rows') :
- "Sorry, we've got nothing here."
- },
- tablesorter: {
- widgetOptions: {
- // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
- // also {page:input} & {startRow:input} will add a modifiable input in place of the value
- pager_output: pagerContainer.data('output-template') ?
- pagerContainer.data('output-template') :
- '{startRow} to {endRow} of {filteredRows} ({totalRows})' // default if not set on data-* attribute
- }
- }
- };
-
- this.settings = $.extend(true, {}, dataAttributeDefaults, this.settings);
-
- // Check that tableElement exists
- var tableElement = this.settings.tableElement;
- if (!tableElement.length) {
- if (window.console && console.error) {
- console.error('ufTable could not be initialized: wrapper element does not exist, or does not contain a matched tableElement (see https://learn.userfrosting.com/client-side-code/components/tables )');
- }
- return;
- }
-
- // Copy over dataUrl to pager_ajaxUrl
- this.settings.tablesorter.widgetOptions.pager_ajaxUrl = this.settings.dataUrl;
-
- // Set up 'loading' overlays
- if (this.settings.useLoadingTransition) {
- var overlay = this.settings.overlay.container;
- tableElement.bind('sortStart filterStart pageMoved', function () {
- overlay.removeClass('hidden');
- }).bind('pagerComplete updateComplete', function () {
- overlay.addClass('hidden');
- });
- }
-
- // Set up tablesorter and pager
- this.ts = tableElement.tablesorter(this.settings.tablesorter);
-
- // Map default column template selectors based on data-column-template attribute in each column header
- var columns = this.ts[0].config.$headerIndexed;
- var columnTemplates = {};
- for (var col = 0; col < columns.length; col++) {
- var columnName = columns[col].data('column-name');
- if (!columnName && this.settings.DEBUG) {
- console.error('Column number ' + col + ' is missing a data-column-name attribute.');
- }
- columnTemplates[columnName] = columns[col].data('column-template');
- }
-
- // Merge in any column template selectors that were set in the ctor options
- columnTemplates = $.extend(true, columnTemplates, this.settings.columnTemplates);
-
- // Locate and compile templates for any string-identified column renderers
- // At the same time, build out a numerically indexed array of templates
- this.columnTemplatesIndexed = [];
- for (var col = 0; col < columns.length; col++) {
- var columnName = columns[col].data('column-name');
- if (!columnTemplates[columnName] && this.settings.DEBUG) {
- console.error("No template found for column '" + columnName + "'.");
- }
- var columnTemplate = columnTemplates[columnName];
- if (typeof columnTemplate === 'string') {
- this.columnTemplatesIndexed.push(Handlebars.compile($(columnTemplate).html()));
- } else {
- this.columnTemplatesIndexed.push(columnTemplate);
- }
- }
-
- // Locate and compile row template
- this.rowTemplate = Handlebars.compile('
');
- // If rowTemplateSelector is set, then find the DOM element that it references, which contains the template
- if (this.settings.rowTemplate) {
- var rowTemplate = this.settings.rowTemplate;
- if (typeof rowTemplate === 'string') {
- this.rowTemplate = Handlebars.compile($(this.settings.rowTemplate).html());
- } else {
- this.rowTemplate = rowTemplate;
- }
- }
-
- // Link CSV download button
- this.settings.download.button.on('click', this.settings.download.callback);
-
- // Allow clicking on the labels in the table menu without closing the menu
- $(this.settings.tablesorter.widgetOptions.columnSelector_container).find('label').on('click', function (e) {
- e.stopPropagation();
- });
-
- // Propagate our own pagerComplete event
- this.ts.on('pagerComplete', $.proxy(function () {
- this.$element.trigger('pagerComplete.ufTable');
- }, this));
-
- // Show info messages when there are no rows/no results
- this.ts.on('filterEnd filterReset pagerComplete', this.settings.info.callback);
-
- // Detect changes to element attributes
- this.$element.attrchange({
- callback: function (event) {
- this.element = event.target;
- }.bind(this)
- });
-
- return this;
- }
-
- /**
- * Get state variables for this table, as required by the AJAX data source: sorts, filters, size, page
- */
- Plugin.prototype.getTableStateVars = function (table) {
- var base = this;
-
- // Get sort column and order
- var sortOrders = {
- '0': 'asc',
- '1': 'desc'
- };
-
- // Set sorts in URL. Assumes each th has a data-column-name attribute that corresponds to the name in the API
- var sortList = table.config.sortList;
- var sorts = {};
- for (var i = 0; i < sortList.length; i++) {
- var columnIndex = sortList[i][0];
- var columnDirection = sortOrders[sortList[i][1]]; // Converts to 'asc' or 'desc'
- if (sortList[i]) {
- var columnName = table.config.$headerIndexed[columnIndex].data('column-name');
- sorts[columnName] = columnDirection;
- }
- }
-
- // Set filters in URL. Assumes each th has a data-column-name attribute that corresponds to the name in the API
- var filterList = base.getSavedFilters(table);
- var filters = {};
- for (i = 0; i < filterList.length; i++) {
- if (filterList[i]) {
- var columnName = base.settings.filterAllField;
-
- if (table.config.$headerIndexed[i]) {
- columnName = table.config.$headerIndexed[i].data('column-name');
- }
-
- filters[columnName] = filterList[i];
- }
- }
-
- var state = {
- size: table.config.pager.size,
- page: table.config.pager.page,
- sorts: sorts,
- filters: filters
- };
-
- return state;
- };
-
- /**
- * Get saved filters from the browser local storage. Those should always be up to date
- */
- Plugin.prototype.getSavedFilters = function (table) {
-
- // Fallback to `getFilters` or empty in case of failure
- var filterList = $.tablesorter.getFilters(table) || [];
-
- // Overwrite list with saved filter for filter-select not setup by ts
- var isArray, saved,
- wo = table.config.widgetOptions;
- if (wo.filter_saveFilters && $.tablesorter.storage) {
- saved = $.tablesorter.storage(table, 'tablesorter-filters') || [];
- isArray = $.isArray(saved);
- // make sure we're not just getting an empty array
- if (!(isArray && saved.join('') === '' || !isArray)) {
- filterList = $.tablesorter.filter.processFilters(saved);
- }
- }
-
- return filterList;
- };
-
- /**
- * Generate the AJAX url.
- * Used as the default callback for pager_customAjaxUrl
- * @private
- */
- Plugin.prototype._generateUrl = function (table, url) {
- var tableState = this.getTableStateVars(table);
-
- if (this.settings.DEBUG) {
- console.log(tableState);
- }
-
- $.extend(table.config.pager.ajaxObject.data, tableState);
-
- // Merge in any additional parameters
- $.extend(table.config.pager.ajaxObject.data, this.settings.addParams);
-
- return url;
- };
- /**
- * Process data returned from the AJAX request and rendering the table cells.
- * Used as the default callback for pager_ajaxProcessing
- * @private
- */
- Plugin.prototype._processAjax = function (data) {
- var ts = this.ts[0];
- var json = {},
- rows = '';
-
- if (data) {
- var size = data.rows.length;
-
- // Render table rows and cells via Handlebars
- for (var row = 0; row < size; row++) {
- var cellData = {
- rownum: row,
- row: data.rows[row], // It is safe to use the data from the API because Handlebars escapes HTML
- site: this.settings.site
- };
-
- rows += this.rowTemplate(cellData);
-
- for (var col = 0; col < this.columnTemplatesIndexed.length; col++) {
- rows += this.columnTemplatesIndexed[col](cellData);
- }
-
- rows += '
';
- }
-
- // Initialize any dropdown filters
- var columns = ts.config.$headerIndexed;
- this._ajaxInitFilterSelects(columns, data.listable);
-
- json.total = data.count; // Get total rows without pagination
- json.filteredRows = data.count_filtered; // no filtering
- json.rows = $(rows);
- json.output = data.output;
- } else {
- json.total = 0;
- json.filteredRows = 0;
- json.rows = '';
- }
-
- return json;
- };
-
- /**
- * Initialize filter select menus using the ajax `listable` values
- * @private
- */
- Plugin.prototype._ajaxInitFilterSelects = function (columns, listable) {
- var ts = this.ts[0];
- var filters = this.getSavedFilters(ts);
- // Find columns with `.filter-select` and match them to column numbers based on their data-column-name
- for (var col = 0; col < columns.length; col++) {
- var column = columns[col];
- // If the column is designated for filter-select, get the listables from the data and recreate it
- if (column.hasClass('filter-select')) {
- var columnName = column.data('column-name');
- if (listable[columnName]) {
- $.tablesorter.filter.buildSelect(ts, col, listable[columnName], true);
- // If there is a filter actually set for this column, update the selected option.
- if (filters[col]) {
- var selectControl = $(ts).find(".tablesorter-filter[data-column='" + col + "']");
- selectControl.val(filters[col]);
- }
- }
- }
- }
- };
-
- /**
- * Implements handler for the "download CSV" button.
- * Default callback for download.callback
- * @private
- */
- Plugin.prototype._onDownload = function () {
- var tableState = this.getTableStateVars(this.ts[0]);
- tableState.format = 'csv';
- delete tableState.page;
- delete tableState.size;
-
- // Merge in any additional request parameters
- $.extend(tableState, this.settings.addParams);
-
- // Causes download to begin
- window.location = this.settings.dataUrl + '?' + $.param(tableState);
- };
-
- /**
- * Handle pager ajax errors.
- * @private
- */
- Plugin.prototype._pagerAjaxError = function (c, jqXHR, settings, exception) {
- this._ajaxError(jqXHR);
-
- // Let TS handle the in-table error message
- return '';
- };
-
- /**
- * Handle ajax error
- * @private
- */
- Plugin.prototype._ajaxError = function (jqXHR) {
- if (typeof jqXHR === 'object') {
- // Error messages
- if (this._debugAjax && jqXHR.responseText) {
- document.write(jqXHR.responseText);
- document.close();
- } else {
- if (this.settings.DEBUG) {
- console.log('Error (' + jqXHR.status + '): ' + jqXHR.responseText);
- }
- // Display errors on failure
- // ufAlerts widget should have a 'destroy' method
- if (!this.settings.msgTarget.data('ufAlerts')) {
- this.settings.msgTarget.ufAlerts();
- } else {
- this.settings.msgTarget.ufAlerts('clear');
- }
-
- this.settings.msgTarget.ufAlerts('fetch').ufAlerts('render');
- }
- }
- };
-
- /**
- * Render info messages, such as when there are no results.
- * Default callback for info.callback
- * @private
- */
- Plugin.prototype._renderInfoMessages = function () {
- var table = this.ts[0];
- var infoMessages = this.settings.info.container;
- if (table.config.pager) {
- infoMessages.html('');
- var fr = table.config.pager.filteredRows;
- if (fr === 0) {
- infoMessages.html(this.settings.info.messageEmptyRows);
- }
- }
- };
-
- /**
- * Encode the current table state variables into a URL hash.
- * Default callback for sort2Hash_encodeHash
- * @private
- */
- Plugin.prototype._encodeHash = function (config, tableId, component, value, rawValue) {
- var wo = config.widgetOptions;
- if (component === 'filter') {
- // rawValue is an array of filter values, numerically indexed
- var encodedFilters = '';
- var len = rawValue.length;
- for (var index = 0; index < len; index++) {
- if (rawValue[index]) {
- var columnName = this.settings.filterAllField;
- if (config.$headerIndexed[index]) {
- columnName = $(config.$headerIndexed[index][0]).attr(wo.sort2Hash_headerTextAttr);
- }
- encodedFilters += '&filter[' + tableId + '][' + columnName + ']=' + encodeURIComponent(rawValue[index]);
- }
- }
- return encodedFilters;
- } else if (component === 'sort') {
- // rawValue is an array of sort pairs [columnNum, sortDirection]
- var encodedFilters = '';
- var len = rawValue.length;
- for (var index = 0; index < len; index++) {
- var columnNum = rawValue[index][0];
- var sortDirection = rawValue[index][1];
- var columnName = $(config.$headerIndexed[columnNum][0]).attr(wo.sort2Hash_headerTextAttr);
- encodedFilters += '&sort[' + tableId + '][' + columnName + ']=' + wo.sort2Hash_directionText[sortDirection];
- }
- return encodedFilters;
- }
- return false;
- };
-
- /**
- * Decode the current table state variables from the URL hash.
- * Default callback for sort2Hash_decodeHash
- * @private
- */
- Plugin.prototype._decodeHash = function (config, tableId, component) {
- var wo = config.widgetOptions;
- var result;
- // Convert hash into JSON object
- var urlObject = $.String.deparam(window.location.hash);
- delete urlObject[wo.sort2Hash_hash]; // Remove hash character
- if (component === 'filter') {
- var decodedFilters = [];
- // Extract filter names and values for the specified table
- var pageFilters = urlObject.filter ? urlObject.filter : [];
- if (pageFilters[tableId]) {
- var tableFilters = pageFilters[tableId];
- // Build a numerically indexed array of filter values
- var len = config.$headerIndexed.length;
- for (var index = 0; index < len; index++) {
- var columnName = $(config.$headerIndexed[index][0]).attr(wo.sort2Hash_headerTextAttr);
- if (tableFilters[columnName] && tableFilters[columnName] != this.settings.filterAllField) {
- decodedFilters.push(tableFilters[columnName]);
- } else {
- decodedFilters.push('');
- }
- }
- // Convert array of filter values to a delimited string
- result = decodedFilters.join(wo.sort2Hash_separator);
- // make sure to use decodeURIComponent on the result
- return decodeURIComponent(result);
- } else {
- return '';
- }
- }
- return false;
- };
-
- /**
- * Clean up URL hash.
- * Default callback for sort2Hash_cleanHash
- * @private
- */
- Plugin.prototype._cleanHash = function (config, tableId, component, hash) {
- var wo = config.widgetOptions;
- // Convert hash to JSON object
- var urlObject = $.String.deparam(hash);
- delete urlObject[wo.sort2Hash_hash]; // Remove hash character
- // Remove specified component for specified table
- if (urlObject[component]) {
- if (urlObject[component][tableId]) {
- delete urlObject[component][tableId];
- }
- // Delete entire component if no other tables remaining
- if (jQuery.isEmptyObject(urlObject[component])) {
- delete urlObject[component];
- }
- }
- // Convert modified JSON object back into serialized representation
- var result = decodeURIComponent(jQuery.param(urlObject));
- return result.length ? result : '';
- };
-
- // Handles instantiation and access to non-private methods.
- $.fn[pluginName] = function (methodOrOptions) {
- // Grab plugin instance
- var instance = $(this).data(pluginName);
- // If undefined or object, initalise plugin.
- if (methodOrOptions === undefined || typeof methodOrOptions === 'object') {
- // Only initalise if not previously done.
- if (!instance) {
- $(this).data(pluginName, new Plugin(this, methodOrOptions));
- }
- return this;
- // Otherwise ensure first parameter is a valid string, and is the name of an actual function.
- } else if (typeof methodOrOptions === 'string' && typeof instance[methodOrOptions] === 'function') {
- // Ensure not a private function
- if (methodOrOptions.indexOf('_') !== 0) {
- return instance[methodOrOptions](Array.prototype.slice.call(arguments, 1));
- }
- else {
- console.warn('Method ' + methodOrOptions + ' is private!');
- }
- } else {
- console.warn('Method ' + methodOrOptions + ' does not exist.');
- }
- };
-})(jQuery, window, document);
diff --git a/main/app/sprinkles/core/assets/userfrosting/js/uf-tablesorter-parsers.js b/main/app/sprinkles/core/assets/userfrosting/js/uf-tablesorter-parsers.js
deleted file mode 100644
index e720a47..0000000
--- a/main/app/sprinkles/core/assets/userfrosting/js/uf-tablesorter-parsers.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Parser for sorting integers, timestamps, etc based on metadata from
attributes
-// Adapted from http://mottie.github.io/tablesorter/docs/example-parsers-advanced.html
-$.tablesorter.addParser({
- // set a unique id
- id: 'metanum',
- is: function (s) {
- // return false so this parser is not auto detected
- return false;
- },
- format: function (s, table, cell, cellIndex) {
- var $cell = $(cell);
- // returns metadata, or cell text (s) if it doesn't exist
- return $cell.attr('data-num') || s;
-
- },
- // set type to numeric
- type: 'numeric'
-});
-
-$.tablesorter.addParser({
- // set a unique id
- id: 'metatext',
- is: function (s) {
- // return false so this parser is not auto detected
- return false;
- },
- format: function (s, table, cell, cellIndex) {
- var $cell = $(cell);
- // returns metadata, or cell text (s) if it doesn't exist
- return $cell.attr('data-text') || s;
-
- },
-
- type: 'text'
-});
-
-$.tablesorter.addParser({
- // set a unique id
- id: 'isblank',
- is: function (s) {
- // return false so this parser is not auto detected
- return false;
- },
- format: function (s, table, cell, cellIndex) {
- var $cell = $(cell);
- // returns 1 if blank (whitespace), 0 otherwise
- var isBlank = $cell.html().trim() == " " ? 1 : 0;
- return isBlank;
-
- },
-
- type: 'numeric'
-});
diff --git a/main/app/sprinkles/core/bower.json b/main/app/sprinkles/core/bower.json
deleted file mode 100644
index 0a6ad00..0000000
--- a/main/app/sprinkles/core/bower.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "name": "userfrosting-sprinkle-core",
- "description": "Core module for UserFrosting.",
- "homepage": "https://github.com/userfrosting",
- "license": "MIT",
- "authors": [
- {
- "name": "Alexander Weissman",
- "homepage": "https://alexanderweissman.com"
- },
- "ssnukala"
- ],
- "dependencies": {
- "jquery": ">= 2.2.4",
- "bootstrap": "^3.3.6",
- "font-awesome": "^4.7",
- "handlebars": "^3.0",
- "clipboard": "^1.5",
- "ionicons": "^2.0",
- "icheck": "^1.0",
- "speakingurl": "^11.0",
- "urijs": "^1.18",
- "fastclick": "^1.0.6",
- "moment": "^2.17",
- "jquery-slimscroll": "^1.3",
- "jquery-validation": "~1.14.0",
- "select2": "~4.0.5",
- "tablesorter": "jquery.tablesorter#2.28"
- },
- "resolutions": {
- "jquery": ">= 2.2.4"
- },
- "moduleType": [
- "node"
- ],
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "assets/vendor",
- "examples",
- "demo-resources",
- "demo",
- "test",
- "tests"
- ]
-}
diff --git a/main/app/sprinkles/core/composer.json b/main/app/sprinkles/core/composer.json
deleted file mode 100644
index d34888b..0000000
--- a/main/app/sprinkles/core/composer.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "userfrosting/sprinkle-core",
- "type": "userfrosting-sprinkle",
- "description": "Core module for UserFrosting.",
- "keywords": [
- "php user management",
- "usercake",
- "bootstrap"
- ],
- "homepage": "https://github.com/userfrosting/UserFrosting",
- "license": "MIT",
- "authors": [
- {
- "name": "Alexander Weissman",
- "homepage": "https://alexanderweissman.com"
- }
- ],
- "require": {
- "doctrine/dbal": "^2.5",
- "filp/whoops": "^2.1",
- "illuminate/cache": "5.4.*",
- "illuminate/database": "5.4.*",
- "illuminate/events": "5.4.*",
- "illuminate/filesystem": "5.4.*",
- "league/csv": "^8.1",
- "monolog/monolog": "^1",
- "phpmailer/phpmailer": "5.2.10",
- "rockettheme/toolbox": "1.3.1",
- "slim/csrf": "^0.8",
- "slim/slim": "^3",
- "slim/twig-view": "^1.2",
- "symfony/http-foundation": "*",
- "twig/twig": "^1.18",
- "userfrosting/assets": "~4.1.0",
- "userfrosting/config": "~4.1.0",
- "userfrosting/cache": "~4.1.0",
- "userfrosting/fortress": "~4.1.1",
- "userfrosting/i18n": "~4.1.0",
- "userfrosting/session": "~4.1.0",
- "userfrosting/support": "~4.1.1",
- "vlucas/phpdotenv": "^2"
- },
- "autoload": {
- "psr-4": {
- "UserFrosting\\Sprinkle\\Core\\": "src/"
- }
- }
-}
diff --git a/main/app/sprinkles/core/config/default.php b/main/app/sprinkles/core/config/default.php
deleted file mode 100644
index 1a80538..0000000
--- a/main/app/sprinkles/core/config/default.php
+++ /dev/null
@@ -1,183 +0,0 @@
- [
- 'admin' => [
- 'email' => getenv('SMTP_USER') ?: NULL,
- 'name' => 'Site Administrator'
- ]
- ],
- 'alert' => [
- 'storage' => 'session', // Set to one of `cache` or `session`
- 'key' => 'site.alerts', // the key to use to store flash messages
- ],
- 'assets' => [
- 'compiled' => [
- 'path' => 'assets',
- 'schema' => 'bundle.result.json'
- ],
- 'raw' => [
- 'path' => 'assets-raw',
- 'schema' => 'asset-bundles.json'
- ],
- 'use_raw' => TRUE
- ],
- 'cache' => [
- 'driver' => 'file', // Set to one of `file`, `memcached`, `redis`
- 'prefix' => 'userfrosting', // Edit prefix to something unique when multiple instance of memcached/redis are used on the same server
- 'memcached' => [
- 'host' => '127.0.0.1',
- 'port' => 11211,
- 'weight' => 100
- ],
- 'redis' => [
- 'host' => '127.0.0.1',
- 'password' => NULL,
- 'port' => 6379,
- 'database' => 0
- ],
- 'twig' => FALSE
- ],
- // CSRF middleware settings (see https://github.com/slimphp/Slim-Csrf)
- 'csrf' => [
- 'name' => 'csrf',
- 'storage_limit' => 200,
- 'strength' => 16,
- 'persistent_token' => TRUE,
- // A list of url paths to ignore CSRF checks on
- 'blacklist' => [
- // URL paths will be matched against each regular expression in this list.
- // Each regular expression should map to an array of methods.
- // Regular expressions will be delimited with ~ in preg_match, so if you
- // have routes with ~ in them, you must escape this character in your regex.
- // Also, remember to use ^ when you only want to match the beginning of a URL path!
- ]
- ],
- 'db' => [
- 'default' => [
- 'driver' => getenv('DB_DRIVER') ?: 'mysql',
- 'host' => getenv('DB_HOST') ?: NULL,
- 'port' => getenv('DB_PORT') ?: NULL,
- 'database' => getenv('DB_NAME') ?: NULL,
- 'username' => getenv('DB_USER') ?: NULL,
- 'password' => getenv('DB_PASSWORD') ?: NULL,
- 'charset' => 'utf8',
- 'collation' => 'utf8_unicode_ci',
- 'prefix' => ''
- ]
- ],
- 'debug' => [
- 'queries' => FALSE,
- 'smtp' => FALSE,
- 'twig' => FALSE
- ],
- 'mail' => [
- 'mailer' => 'smtp', // Set to one of 'smtp', 'mail', 'qmail', 'sendmail'
- 'host' => getenv('SMTP_HOST') ?: NULL,
- 'port' => 465,
- 'auth' => TRUE,
- 'secure' => 'ssl',
- 'username' => getenv('SMTP_USER') ?: NULL,
- 'password' => getenv('SMTP_PASSWORD') ?: NULL,
- 'smtp_debug' => 4,
- 'message_options' => [
- 'CharSet' => 'UTF-8',
- 'isHtml' => TRUE,
- 'Timeout' => 15
- ]
- ],
- // Filesystem paths
- 'path' => [
- 'document_root' => str_replace(DIRECTORY_SEPARATOR, \UserFrosting\DS, $_SERVER['DOCUMENT_ROOT']),
- 'public_relative' => dirname($_SERVER['SCRIPT_NAME']) // The location of `index.php` relative to the document root. Use for sites installed in subdirectories of your web server's document root.
- ],
- 'session' => [
- 'handler' => 'file',
- // Config values for when using db-based sessions
- 'database' => [
- 'table' => 'sessions'
- ],
- 'name' => 'uf4',
- 'minutes' => 120,
- 'cache_limiter' => FALSE,
- // Decouples the session keys used to store certain session info
- 'keys' => [
- 'csrf' => 'site.csrf', // the key (prefix) used to store an ArrayObject of CSRF tokens.
- ]
- ],
- // Slim settings - see http://www.slimframework.com/docs/objects/application.html#slim-default-settings
- 'settings' => [
- 'displayErrorDetails' => TRUE
- ],
- // "Site" settings that are automatically passed to Twig
- 'site' => [
- 'AdminLTE' => [
- 'skin' => 'blue'
- ],
- 'analytics' => [
- 'google' => [
- 'code' => 'UA-109245179-2',
- 'enabled' => TRUE
- ]
- ],
- 'author' => 'Author',
- 'csrf' => NULL, // Do not set this variable. The core Twig extension will override it with values from the CSRF service.
- 'debug' => [
- 'ajax' => FALSE,
- 'info' => TRUE
- ],
- 'locales' => [
- // Should be ordered according to https://en.wikipedia.org/wiki/List_of_languages_by_total_number_of_speakers,
- // with the exception of English, which as the default language comes first.
- 'available' => [
- 'en_US' => 'English',
- 'zh_CN' => '中文',
- 'es_ES' => 'Español',
- 'ar' => 'العربية',
- 'pt_PT' => 'Português',
- 'ru_RU' => 'русский',
- 'tlh' => 'tlhIngan Hol',
- 'de_DE' => 'Deutsch',
- 'fr_FR' => 'Français',
- 'tr' => 'Türk',
- 'it_IT' => 'Italiano',
- 'th_TH' => 'ภาษาไทย',
- 'fa' => 'فارسی'
- ],
- // This can be a comma-separated list, to load multiple fallback locales
- 'default' => 'en_US'
- ],
- 'title' => 'BEAM-Messenger',
- // Global ufTable settings
- 'uf_table' => [
- 'use_loading_transition' => TRUE
- ],
- // URLs
- 'uri' => [
- 'base' => [
- 'host' => isset($_SERVER['SERVER_NAME']) ? trim($_SERVER['SERVER_NAME'], '/') : 'localhost',
- 'scheme' => empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off' ? 'http' : 'https',
- 'port' => isset($_SERVER['SERVER_PORT']) ? (int)$_SERVER['SERVER_PORT'] : NULL,
- 'path' => isset($_SERVER['SCRIPT_NAME']) ? trim(dirname($_SERVER['SCRIPT_NAME']), '/\\') : ''
- ],
- 'author' => 'https://marvinborner.me',
- 'publisher' => 'https://marvinborner.me'
- ]
- ],
- 'php' => [
- 'timezone' => 'Europe/Berlin',
- 'error_reporting' => E_ALL, // Development - report all errors and suggestions
- 'display_errors' => 'true',
- 'log_errors' => 'true',
- // Let PHP itself render errors natively. Useful if a fatal error is raised in our custom shutdown handler.
- 'display_errors_native' => 'true'
- ]
-];
diff --git a/main/app/sprinkles/core/config/dev.php b/main/app/sprinkles/core/config/dev.php
deleted file mode 100644
index a4429ae..0000000
--- a/main/app/sprinkles/core/config/dev.php
+++ /dev/null
@@ -1,30 +0,0 @@
- [
- 'use_raw' => TRUE
- ],
- 'cache' => [
- 'twig' => FALSE
- ],
- 'debug' => [
- 'twig' => TRUE,
- 'auth' => TRUE,
- 'smtp' => TRUE
- ],
- // Slim settings - see http://www.slimframework.com/docs/objects/application.html#slim-default-settings
- 'settings' => [
- 'displayErrorDetails' => TRUE
- ],
- 'site' => [
- 'debug' => [
- 'ajax' => TRUE,
- 'info' => TRUE
- ]
- ]
-];
\ No newline at end of file
diff --git a/main/app/sprinkles/core/config/production.php b/main/app/sprinkles/core/config/production.php
deleted file mode 100644
index 1648679..0000000
--- a/main/app/sprinkles/core/config/production.php
+++ /dev/null
@@ -1,40 +0,0 @@
- [
- 'use_raw' => FALSE
- ],
- 'cache' => [
- 'twig' => TRUE
- ],
- 'debug' => [
- 'twig' => FALSE,
- 'auth' => FALSE,
- 'smtp' => FALSE
- ],
- // Slim settings - see http://www.slimframework.com/docs/objects/application.html#slim-default-settings
- 'settings' => [
- 'routerCacheFile' => \UserFrosting\ROOT_DIR . '/' . \UserFrosting\APP_DIR_NAME . '/' . \UserFrosting\CACHE_DIR_NAME . '/' . 'routes.cache',
- 'displayErrorDetails' => FALSE
- ],
- 'site' => [
- 'analytics' => [
- 'google' => [
- 'enabled' => TRUE
- ]
- ],
- 'debug' => [
- 'ajax' => FALSE,
- 'info' => FALSE
- ]
- ],
- 'php' => [
- 'display_errors' => 'false',
- 'log_errors' => 'true'
- ]
-];
diff --git a/main/app/sprinkles/core/config/testing.php b/main/app/sprinkles/core/config/testing.php
deleted file mode 100644
index 4bae194..0000000
--- a/main/app/sprinkles/core/config/testing.php
+++ /dev/null
@@ -1,23 +0,0 @@
- [
- 'illuminate' => [
- 'default' => 'array',
- ]
- ],
- 'db' => [
- 'test_integration' => [
- 'driver' => 'sqlite',
- 'database' => ':memory:',
- ]
- ],
- 'settings' => [
- 'displayErrorDetails' => FALSE
- ]
-];
diff --git a/main/app/sprinkles/core/extra/adjectives.php b/main/app/sprinkles/core/extra/adjectives.php
deleted file mode 100644
index fbdbeb0..0000000
--- a/main/app/sprinkles/core/extra/adjectives.php
+++ /dev/null
@@ -1,1221 +0,0 @@
- [
- "@TRANSLATION" => "خطأ",
-
- "400" => [
- "TITLE" => "الخطأ 400:اقتراح غير جيد",
- "DESCRIPTION" => "على الارجح ليس خطأك",
- ],
-
- "404" => [
- "TITLE" => "الخطأ 404: الصفحة غير موجودة",
- "DESCRIPTION" => " لا يبدو للعثور على ما كنت تبحث عن",
- "DETAIL" => "حاولنا العثور على صفحتك",
- "EXPLAIN" => "لم نتمكن من العثور على الصفحة التي تبحث عنها",
- "RETURN" => 'وفي كلتا الحالتين، اضغط هنا للعودة إلى الصفحة الأولى'
- ],
-
- "CONFIG" => [
- "TITLE" => "مشكلة في تكوين UserFrosting",
- "DESCRIPTION" => "لم تتحقق بعض متطلبات التكوين UserFrosting",
- "DETAIL" => "شيء ليس صحيحا هنا",
- "RETURN" => 'يرجى تصحيح الأخطاء التالية، ثم إعادة تحميل'
- ],
-
- "DESCRIPTION" => "لقد لمست اضطراب كبير في الموقع",
- "DETAIL" => "وهنا ما عندنا من معلومات",
-
- "ENCOUNTERED" => "حدث شيء لا نعرف ما هو",
-
- "MAIL" => "خطأ فادح في محاولة البريد الإلكتروني، اتصل بمسؤول المقع إذا كنت المشرف، يرجى التحقق من التسجل البريد الإلكتروني UF",
-
- "RETURN" => 'اضغط هنا للعودة إلى الصفحة الأولى',
-
- "SERVER" => "يبدو خادمنا قد أخطأ إذا كنت المسير، يرجى مراجعة سجلات الخطأ PHP أو UF",
-
- "TITLE" => "اضطراب في الموقع"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/ar/messages.php b/main/app/sprinkles/core/locale/ar/messages.php
deleted file mode 100644
index e44c441..0000000
--- a/main/app/sprinkles/core/locale/ar/messages.php
+++ /dev/null
@@ -1,112 +0,0 @@
- 1,
-
- "ABOUT" => "عن",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "كلمة التحقق",
- "FAIL" => "لم تقم بإدخال رمز كلمة التحقق بشكل صحيح",
- "SPECIFY" => "أدخل كلمة التحقق",
- "VERIFY" => "التحقق من كلمة التحقق"
- ],
-
- "CSRF_MISSING" => "رمز CSRF غير موجود حاول تحديث الصفحة ومن ثم إرساله مرة أخرى",
-
- "DB_INVALID" => "لا يمكن الاتصال بقاعدة البيانات إذا كنت مسؤولا، يرجى مراجعة سجل خطأ",
- "DESCRIPTION" => "وصف",
- "DOWNLOAD" => [
- "@TRANSLATION" => "تحميل",
- "CSV" => "تحميل CSV"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "البريد الإلكتروني",
- "YOUR" => "عنوان بريدك الإلكتروني"
- ],
-
- "HOME" => "الصفحة الرئيسية",
-
- "LEGAL" => [
- "@TRANSLATION" => "السياسة القانونية",
- "DESCRIPTION" => "تسري سياستنا القانونية على استخدامك لهذا الموقع وخدماتنا"
- ],
-
- "LOCALE" => [
- "@TRANSLATION" => "اللغه",
- ],
-
- "NAME" => "اسم",
- "NAVIGATION" => "التنقل",
-
- "PAGINATION" => [
- "GOTO" => "انتقال إلى الصفحة",
- "SHOW" => "عرض",
- "NEXT" => "الصفحة التالية",
- "PREVIOUS" => "الصفحة السابقة",
- "FIRST" => "الصفحة الأولى",
- "LAST" => "آخر صفحة"
- ],
- "PRIVACY" => [
- "@TRANSLATION" => "سياسة الخصوصية",
- "DESCRIPTION" => "تحدد سياسة الخصوصية لدينا نوع المعلومات التي نجمعها منك وكيفية استخدامها."
- ],
-
- "SLUG" => "Slug",
- "SLUG_CONDITION" => "Slug/الظروف",
- "STATUS" => "الحالة",
-
- "UNKNOWN" => "غير معروف",
-
- // Actions words
- "ACTIONS" => "الأفعال",
- "ACTIVATE" => "تفعيل",
- "ACTIVE" => "نشيط",
- "ADD" => "إضافة",
- "CANCEL" => "إلغاء",
- "CONFIRM" => "تؤكد",
- "CREATE" => "أنتج",
- "DELETE" => "حذف",
- "DELETE_CONFIRM" => "هل أنت متأكد أنك تريد حذف هذا",
- "DELETE_CONFIRM_YES" => "نعم، احذف",
- "DELETE_CONFIRM_NAMED" => "هل أنت متأكد أنك تريد حذف {{name}}?",
- "DELETE_CONFIRM_YES_NAMED" => "نعم، احذف {{name}}",
- "DELETE_CANNOT_UNDONE" => "لا يمكن التراجع عن هذا الإجراء",
- "DELETE_NAMED" => "احذف {{name}}",
- "DENY" => "رفض",
- "DISABLE" => "تعطيل",
- "DISABLED" => "معطل",
- "EDIT" => "تصحيح",
- "ENABLE" => "تمكين",
- "ENABLED" => "مكين",
- "OVERRIDE" => "كتب فوق الكتابة",
- "RESET" => "إعادة تعيين",
- "SAVE" => "احفظ",
- "SEARCH" => "ابحث",
- "SORT" => "فرز",
- "SUBMIT" => "ارسل",
- "PRINT" => "اطباعة",
- "REMOVE" => "إزالة",
- "UNACTIVATED" => "إبطال",
- "UPDATE" => "تحديث",
- "YES" => "نعم",
- "NO" => "لا",
- "OPTIONAL" => "اختياري",
-
- // Misc
- "BUILT_WITH_UF" => "بنيت مع UserFrosting",
- "ADMINLTE_THEME_BY" => "فكرة رئيسية Almsaeed Studio كل الحقوق محفوظة",
- "WELCOME_TO" => "مرحبا بك في {{title}}!"
-];
diff --git a/main/app/sprinkles/core/locale/ar/validate.php b/main/app/sprinkles/core/locale/ar/validate.php
deleted file mode 100644
index 52698b6..0000000
--- a/main/app/sprinkles/core/locale/ar/validate.php
+++ /dev/null
@@ -1,25 +0,0 @@
- [
- "ARRAY" => "القيمات ل {{label}} يجب أن تكون في مجموعة",
- "BOOLEAN" => "القيم ل {{label}} يجب أن يكون إما '٠' أو '١'",
- "INTEGER" => "القيم ل {{label}} يجب أن يكون رقم",
- "INVALID_EMAIL" => "عنوان البريد الإلكتروني غير صالح",
- "LENGTH_RANGE" => "{{label}} لابد ان تكون بين {{min}} و {{max}} حورف",
- "NO_LEAD_WS" => "القيم ل {{label}} لا يمكن أن تبدأ المساحات، علامات، أو بيضاء أخرى",
- "NO_TRAIL_WS" => "القيم ل {{label}} لا يمكن أن ينتهي مع مسافات، علامات، أو بيضاء أخرى",
- "REQUIRED" => " تحديد قيمة ل {{label}}"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/de_DE/errors.php b/main/app/sprinkles/core/locale/de_DE/errors.php
deleted file mode 100644
index 4246b17..0000000
--- a/main/app/sprinkles/core/locale/de_DE/errors.php
+++ /dev/null
@@ -1,53 +0,0 @@
- [
- "@TRANSLATION" => "Fehler",
-
- "400" => [
- "TITLE" => "Fehler 400: Ungültige Anforderung",
- "DESCRIPTION" => "Die Anfrage-Nachricht war fehlerhaft aufgebaut.",
- ],
-
- "404" => [
- "TITLE" => "Fehler 404: Seite nicht gefunden",
- "DESCRIPTION" => "Die angeforderte Ressource wurde nicht gefunden.",
- "DETAIL" => "Wir haben versucht Ihre Seite zu finden ...",
- "EXPLAIN" => "Die von Ihnen gesuchte Seite konnte nicht gefunden werden.",
- "RETURN" => "Klicken Sie Hier, um zur Startseite zurückzukehren."
- ],
-
- "CONFIG" => [
- "TITLE" => "UserFrosting Konfigurationsproblem!",
- "DESCRIPTION" => "Einige UserFrosting-Konfigurationsanforderungen wurden nicht erfüllt.",
- "DETAIL" => "Etwas stimmt hier nicht.",
- "RETURN" => "Bitte beheben Sie die folgenden Fehler dann laden Sie die Website neu."
- ],
-
- "DESCRIPTION" => "Wir haben eine große Störung in der Macht erkannt.",
- "DETAIL" => "Hier haben wir:",
-
- "ENCOUNTERED" => "Uhhh ... etwas ist passiert. Wir wissen nicht was.",
-
- "MAIL" => "Schwerwiegender Fehler beim Mailversand, wenden Sie sich an Ihren Serveradministrator. Wenn Sie der Administrator sind, überprüfen Sie bitte das UF-Mail-Protokoll.",
-
- "RETURN" => "Klicken Sie Hier, um zur Startseite zurückzukehren.",
-
- "SERVER" => "Hoppla, sieht aus als hätte der Server möglicherweise gepatzt. Wenn Sie ein Administrator sind, überprüfen Sie bitte die PHP- oder UF-Fehlerprotokolle.",
-
- "TITLE" => "Störung in der Kraft"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/de_DE/main.php b/main/app/sprinkles/core/locale/de_DE/main.php
deleted file mode 100644
index 83f04d9..0000000
--- a/main/app/sprinkles/core/locale/de_DE/main.php
+++ /dev/null
@@ -1,20 +0,0 @@
- [
- "FEED" => "Neues",
- "EXPLORE" => "Entdecken",
- "CHAT" => "Nachrichten",
- "FRIENDS" => "Freunde",
- "PERSONAL" => "Persönliche Daten"
- ],
- "CHAT_MESSAGES" => [
- "USER_GROUP_JOIN" => "{{user}} ist der Gruppe beigetreten",
- "YOU_GROUP_JOIN" => "Du bist der Gruppe {{group}} beigetreten",
- "USER_DISCONNECT" => "{{user}} hat sich vom Server getrennt",
- "JOIN_GROUP_PH" => "Betrete eine Gruppe...",
- "WRITE_MESSAGE_PH" => "Schreibe eine Nachricht..."
- ],
- "EXPLORE_TAB" => [
- "USER_SEARCH_PH" => "Suche ein Profil..."
- ]
-];
\ No newline at end of file
diff --git a/main/app/sprinkles/core/locale/de_DE/messages.php b/main/app/sprinkles/core/locale/de_DE/messages.php
deleted file mode 100644
index 1af7c57..0000000
--- a/main/app/sprinkles/core/locale/de_DE/messages.php
+++ /dev/null
@@ -1,123 +0,0 @@
- 1,
-
- "ABOUT" => "Über",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "Sicherheitscode",
- "FAIL" => "Sie haben den Sicherheitscode nicht korrekt eingegeben.",
- "SPECIFY" => "Geben Sie den Sicherheitscode ein",
- "VERIFY" => "Überprüfen Sie den Sicherheitscode"
- ],
-
- "CSRF_MISSING" => "Fehlender CSRF-Token. Versuchen, die Seite zu aktualisieren und erneut zu senden?",
-
- "DB_INVALID" => "Keine Verbindung zur Datenbank möglich. Wenn Sie ein Administrator sind, überprüfen Sie bitte Ihr Fehlerprotokoll.",
- "DESCRIPTION" => "Beschreibung",
- "DOWNLOAD" => [
- "@TRANSLATION" => "Herunterladen",
- "CSV" => "CSV herunterladen"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "E-Mail",
- "YOUR" => "Ihre E-Mail-Adresse"
- ],
-
- "HOME" => "Startseite",
-
- "LEGAL" => [
- "@TRANSLATION" => "Rechtsgrundsatz",
- "DESCRIPTION" => "Unser Rechtsgrundsatz gilt für die Benutzung dieser Internetseite und unserer Dienste."
- ],
-
- "LOCALE" => [
- "@TRANSLATION" => "Sprache"
- ],
-
- "NAME" => "Name",
- "NAVIGATION" => "Navigation",
- "NO_RESULTS" => "Sorry, hier gibt es bisher nichts zu sehen.",
-
- "PAGINATION" => [
- "GOTO" => "Gehe zu Seite",
- "SHOW" => "Anzeigen",
-
- // Paginator
- // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
- // also {page:input} & {startRow:input} will add a modifiable input in place of the value
- "OUTPUT" => "{startRow} bis {endRow} von {filteredRows} ({totalRows})",
-
- "NEXT" => "Nächste Seite",
- "PREVIOUS" => "Vorherige Seite",
- "FIRST" => "Erste Seite",
- "LAST" => "Letzte Seite"
- ],
- "PRIVACY" => [
- "@TRANSLATION" => "Datenschutzbestimmungen",
- "DESCRIPTION" => "In unsere Datenschutzbestimmungen erklären wir Ihnen, welche Daten wir sammeln und wozu wir diese benutzen."
- ],
-
- "SLUG" => "Abkürzung",
- "SLUG_CONDITION" => "Abkürzung/Bedingungen",
- "SLUG_IN_USE" => "Die Abkürzung {{slug}} existiert bereits",
- "STATUS" => "Status",
- "SUGGEST" => "Vorschlagen",
-
- "UNKNOWN" => "Unbekannt",
-
- // Actions words
- "ACTIONS" => "Aktionen",
- "ACTIVATE" => "Aktivieren",
- "ACTIVE" => "Aktiv",
- "ADD" => "Hinzufügen",
- "CANCEL" => "Abbrechen",
- "CONFIRM" => "Bestätigen",
- "CREATE" => "Erstellen",
- "DELETE" => "Löschen",
- "DELETE_CONFIRM" => "Möchten Sie diese wirklich löschen?",
- "DELETE_CONFIRM_YES" => "Ja, löschen",
- "DELETE_CONFIRM_NAMED" => "Möchten Sie {{name}} wirklich löschen?",
- "DELETE_CONFIRM_YES_NAMED" => "Ja, {{name}} löschen",
- "DELETE_CANNOT_UNDONE" => "Diese Aktion kann nicht rückgängig gemacht werden.",
- "DELETE_NAMED" => "{{name}} löschen",
- "DENY" => "Verweigern",
- "DISABLE" => "Deaktivieren",
- "DISABLED" => "Deaktiviert",
- "EDIT" => "Bearbeiten",
- "ENABLE" => "Aktivieren",
- "ENABLED" => "Aktiviert",
- "OVERRIDE" => "Überschreiben",
- "RESET" => "Zurücksetzen",
- "SAVE" => "Speichern",
- "SEARCH" => "Suchen",
- "SORT" => "Sortieren",
- "SUBMIT" => "Einreichen",
- "PRINT" => "Drucken",
- "REMOVE" => "Entfernen",
- "UNACTIVATED" => "Unaktiviert",
- "UPDATE" => "Aktualisieren",
- "YES" => "Ja",
- "NO" => "Nein",
- "OPTIONAL" => "Optional",
-
- // Misc.
- "BUILT_WITH_UF" => "Errichtet mit UserFrosting",
- "ADMINLTE_THEME_BY" => "Theme von Almsaeed Studio. Alle Rechte vorbehalten",
- "WELCOME_TO" => "Willkommen auf {{title}}!"
-];
diff --git a/main/app/sprinkles/core/locale/de_DE/validate.php b/main/app/sprinkles/core/locale/de_DE/validate.php
deleted file mode 100644
index 6659863..0000000
--- a/main/app/sprinkles/core/locale/de_DE/validate.php
+++ /dev/null
@@ -1,32 +0,0 @@
- [
- "ARRAY" => "Die Werte für {{label}} müssen in einem Feld liegen.",
- "BOOLEAN" => "Der Wert für {{label}} muss entweder '0' oder '1' sein.",
- "INTEGER" => "Der Wert für {{label}} muss eine ganze Zahl sein.",
- "INVALID_EMAIL" => "Ungültige E-Mail-Adresse.",
- "LENGTH_RANGE" => "{{label}} muss zwischen {{min}} und {{max}} Zeichen lang sein.",
- "NO_LEAD_WS" => "Der Wert für {{label}} kann nicht mit Leerzeichen, Tabulatoren oder anderen Leerzeichen beginnen.",
- "NO_TRAIL_WS" => "Der Wert für {{label}} kann nicht mit Leerzeichen, Tabulatoren oder anderen Leerzeichen enden.",
- "REQUIRED" => "Bitte geben Sie einen Wert für {{label}} an.",
- "SPRUNJE" => [
- "BAD_FILTER" => "{{name}} ist kein gültiger Filter für dieses Sprunje.",
- "BAD_LIST" => "{{name}} ist kein gültige Liste für dieses Sprunje.",
- "BAD_SORT" => "{{name}} ist kein gültiges Sortierungsfeld für dieses Sprunje."
- ]
- ]
-];
diff --git a/main/app/sprinkles/core/locale/en_US/errors.php b/main/app/sprinkles/core/locale/en_US/errors.php
deleted file mode 100644
index 479452b..0000000
--- a/main/app/sprinkles/core/locale/en_US/errors.php
+++ /dev/null
@@ -1,51 +0,0 @@
- [
- "@TRANSLATION" => "Error",
-
- "400" => [
- "TITLE" => "Error 400: Bad Request",
- "DESCRIPTION" => "It's probably not your fault.",
- ],
-
- "404" => [
- "TITLE" => "Error 404: Not Found",
- "DESCRIPTION" => "We can't seem to find what you're looking for.",
- "DETAIL" => "We tried to find your page...",
- "EXPLAIN" => "We could not find the page you were looking for.",
- "RETURN" => 'Either way, click here to return to the front page.'
- ],
-
- "CONFIG" => [
- "TITLE" => "UserFrosting Configuration Issue!",
- "DESCRIPTION" => "Some UserFrosting configuration requirements have not been met.",
- "DETAIL" => "Something's not right here.",
- "RETURN" => 'Please fix the following errors, then reload.'
- ],
-
- "DESCRIPTION" => "We've sensed a great disturbance in the Force.",
- "DETAIL" => "Here's what we got:",
-
- "ENCOUNTERED" => "Uhhh...something happened. We don't know what.",
-
- "MAIL" => "Fatal error attempting mail, contact your server administrator. If you are the admin, please check the UserFrosting log.",
-
- "RETURN" => 'Click here to return to the front page.',
-
- "SERVER" => "Oops, looks like our server might have goofed. If you're an admin, please check the PHP or UserFrosting logs.",
-
- "TITLE" => "Disturbance in the Force"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/en_US/main.php b/main/app/sprinkles/core/locale/en_US/main.php
deleted file mode 100644
index be78e64..0000000
--- a/main/app/sprinkles/core/locale/en_US/main.php
+++ /dev/null
@@ -1,20 +0,0 @@
- [
- "FEED" => "New",
- "EXPLORE" => "Explore",
- "CHAT" => "Chat",
- "FRIENDS" => "Friends",
- "PERSONAL" => "Personal"
- ],
- "CHAT_MESSAGES" => [
- "USER_GROUP_JOIN" => "{{user}} joined the group",
- "YOU_GROUP_JOIN" => "You joined the group {{group}}",
- "USER_DISCONNECT" => "{{user}} has disconnected from the server",
- "JOIN_GROUP_PH" => "Join a group...",
- "WRITE_MESSAGE_PH" => "Write a message..."
- ],
- "EXPLORE_TAB" => [
- "USER_SEARCH_PH" => "Search a user..."
- ]
-];
\ No newline at end of file
diff --git a/main/app/sprinkles/core/locale/en_US/messages.php b/main/app/sprinkles/core/locale/en_US/messages.php
deleted file mode 100644
index d355edd..0000000
--- a/main/app/sprinkles/core/locale/en_US/messages.php
+++ /dev/null
@@ -1,120 +0,0 @@
- 1,
-
- "ABOUT" => "About",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "Captcha",
- "FAIL" => "You did not enter the captcha code correctly.",
- "SPECIFY" => "Enter the captcha",
- "VERIFY" => "Verify the captcha"
- ],
-
- "CSRF_MISSING" => "Missing CSRF token. Try refreshing the page and then submitting again?",
-
- "DB_INVALID" => "Cannot connect to the database. If you are an administrator, please check your error log.",
- "DESCRIPTION" => "Description",
- "DOWNLOAD" => [
- "@TRANSLATION" => "Download",
- "CSV" => "Download CSV"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "Email",
- "YOUR" => "Your email address"
- ],
-
- "HOME" => "Home",
-
- "LEGAL" => [
- "@TRANSLATION" => "Legal Policy",
- "DESCRIPTION" => "Our legal policy applies to your usage of this website and our services."
- ],
-
- "LOCALE" => [
- "@TRANSLATION" => "Locale"
- ],
-
- "NAME" => "Name",
- "NAVIGATION" => "Navigation",
- "NO_RESULTS" => "Sorry, we've got nothing here.",
-
- "PAGINATION" => [
- "GOTO" => "Jump to Page",
- "SHOW" => "Show",
-
- // Paginator
- // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
- // also {page:input} & {startRow:input} will add a modifiable input in place of the value
- "OUTPUT" => "{startRow} to {endRow} of {filteredRows} ({totalRows})",
- "NEXT" => "Next page",
- "PREVIOUS" => "Previous page",
- "FIRST" => "First page",
- "LAST" => "Last page"
- ],
- "PRIVACY" => [
- "@TRANSLATION" => "Privacy Policy",
- "DESCRIPTION" => "Our privacy policy outlines what kind of information we collect from you and how we will use it."
- ],
-
- "SLUG" => "Slug",
- "SLUG_CONDITION" => "Slug/Conditions",
- "SLUG_IN_USE" => "A {{slug}} slug already exists",
- "STATUS" => "Status",
- "SUGGEST" => "Suggest",
-
- "UNKNOWN" => "Unknown",
-
- // Actions words
- "ACTIONS" => "Actions",
- "ACTIVATE" => "Activate",
- "ACTIVE" => "Active",
- "ADD" => "Add",
- "CANCEL" => "Cancel",
- "CONFIRM" => "Confirm",
- "CREATE" => "Create",
- "DELETE" => "Delete",
- "DELETE_CONFIRM" => "Are you sure you want to delete this?",
- "DELETE_CONFIRM_YES" => "Yes, delete",
- "DELETE_CONFIRM_NAMED" => "Are you sure you want to delete {{name}}?",
- "DELETE_CONFIRM_YES_NAMED" => "Yes, delete {{name}}",
- "DELETE_CANNOT_UNDONE" => "This action cannot be undone.",
- "DELETE_NAMED" => "Delete {{name}}",
- "DENY" => "Deny",
- "DISABLE" => "Disable",
- "DISABLED" => "Disabled",
- "EDIT" => "Edit",
- "ENABLE" => "Enable",
- "ENABLED" => "Enabled",
- "OVERRIDE" => "Override",
- "RESET" => "Reset",
- "SAVE" => "Save",
- "SEARCH" => "Search",
- "SORT" => "Sort",
- "SUBMIT" => "Submit",
- "PRINT" => "Print",
- "REMOVE" => "Remove",
- "UNACTIVATED" => "Unactivated",
- "UPDATE" => "Update",
- "YES" => "Yes",
- "NO" => "No",
- "OPTIONAL" => "Optional",
-
- // Misc.
- "BUILT_WITH_UF" => "Built with UserFrosting",
- "ADMINLTE_THEME_BY" => "Theme by Almsaeed Studio. All rights reserved",
- "WELCOME_TO" => "Welcome to {{title}}!"
-];
diff --git a/main/app/sprinkles/core/locale/en_US/validate.php b/main/app/sprinkles/core/locale/en_US/validate.php
deleted file mode 100644
index 95ae835..0000000
--- a/main/app/sprinkles/core/locale/en_US/validate.php
+++ /dev/null
@@ -1,33 +0,0 @@
- [
- "ARRAY" => "The values for {{label}} must be in an array.",
- "BOOLEAN" => "The value for {{label}} must be either '0' or '1'.",
- "INTEGER" => "The value for {{label}} must be an integer.",
- "INVALID_EMAIL" => "Invalid email address.",
- "LENGTH_RANGE" => "{{label}} must be between {{min}} and {{max}} characters in length.",
- "MAX_LENGTH" => "{{label}} must be maximum {{max}} characters in length.",
- "MIN_LENGTH" => "{{label}} must be minimum {{min}} characters in length.",
- "NO_LEAD_WS" => "The value for {{label}} cannot begin with spaces, tabs, or other whitespace.",
- "NO_TRAIL_WS" => "The value for {{label}} cannot end with spaces, tabs, or other whitespace.",
- "RANGE" => "The value for {{label}} must be between {{min}} and {{max}}.",
- "REQUIRED" => "Please specify a value for {{label}}.",
- "SPRUNJE" => [
- "BAD_FILTER" => "{{name}} is not a valid filter for this Sprunje.",
- "BAD_LIST" => "{{name}} is not a valid list for this Sprunje.",
- "BAD_SORT" => "{{name}} is not a valid sort field for this Sprunje."
- ]
- ]
-];
diff --git a/main/app/sprinkles/core/locale/es_ES/errors.php b/main/app/sprinkles/core/locale/es_ES/errors.php
deleted file mode 100644
index 362cedb..0000000
--- a/main/app/sprinkles/core/locale/es_ES/errors.php
+++ /dev/null
@@ -1,51 +0,0 @@
- [
- "@TRANSLATION" => "Error",
-
- "400" => [
- "TITLE" => "Error 400: solicitud incorrecta",
- "DESCRIPTION" => "Probablemente no es tu culpa.",
- ],
-
- "404" => [
- "TITLE" => "Error 404 - Página no encontrada",
- "DESCRIPTION" => "Parece que no podemos encontrar lo que buscas.",
- "DETAIL" => "Intentamos encontrar tu página ...",
- "EXPLAIN" => "No pudimos encontrar la página que buscabas.",
- "RETURN" => 'De cualquier manera, haga clic en aquí para volver a la página principal.'
- ],
-
- "CONFIG" => [
- "TITLE" => "¡Problema de configuración del Servidor!",
- "DESCRIPTION" => "Algunos requisitos de configuración de Servidor no se han cumplido.",
- "DETAIL" => "Algo no está bien aquí.",
- "RETURN" => 'Corrija los siguientes errores, luego recargue .'
- ],
-
- "DESCRIPTION" => "Hemos sentido una gran perturbación en la Fuerza.",
- "DETAIL" => "Esto es lo que tenemos:",
-
- "ENCOUNTERED" => "Uhhh ... sucedió algo. No sabemos qué.",
-
- "MAIL" => "Error fatal al intentar enviar correo, póngase en contacto con el administrador del servidor. Si usted es el administrador, compruebe el log de errores.",
-
- "RETURN" => 'Haga clic en aquí para volver a la página principal.',
-
- "SERVER" => "¡Vaya, parece que nuestro servidor pudo haber metido la pata. Si eres un administrador, comprueba los registros de errores de PHP o el log de UserFrosting.",
-
- "TITLE" => "Perturbación en la Fuerza",
- ]
-];
diff --git a/main/app/sprinkles/core/locale/es_ES/messages.php b/main/app/sprinkles/core/locale/es_ES/messages.php
deleted file mode 100644
index bacaf70..0000000
--- a/main/app/sprinkles/core/locale/es_ES/messages.php
+++ /dev/null
@@ -1,115 +0,0 @@
- 1,
-
- "ABOUT" => "Acerca de",
- "WELCOME_TO" => "¡Bienvenido a {{title}}!",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "Captcha",
- "FAIL" => "No ha introducido correctamente el código de captcha.",
- "SPECIFY" => "Introduzca el captcha",
- "VERIFY" => "Verificar el captcha"
- ],
-
- "CSRF_MISSING" => "¿Falta el símbolo CSRF?. Intente refrescar la página y luego volver a enviarla",
-
- "DB_INVALID" => "No se puede conectar a la base de datos. Si es un administrador, compruebe su registro de errores.",
- "DESCRIPTION" => "Descripción",
- "DOWNLOAD" => [
- "@TRANSLATION" => "Descargar",
- "CSV" => "Descargar CSV"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "Email",
- "YOUR" => "Tu correo electrónico"
- ],
-
- "HOME" => "Inicio",
-
- "LEGAL" => "Política Legal",
-
- "LOCALE" => [
- "@TRANSLATION" => "Traducción"
- ],
-
- "MAIL_ERROR" => "Error fatal al intentar enviar correo, póngase en contacto con el administrador del servidor. Si eres el administrador, comprueba el registro de correo de UF.",
-
- "NAME" => "Nombre",
- "NAVIGATION" => "Navegación",
-
- "PAGINATION" => [
- "GOTO" => "Ir a la página",
- "SHOW" => "Mostrar",
-
- // Paginator
- // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
- // also {page:input} & {startRow:input} will add a modifiable input in place of the value
- "OUTPUT" => "{startRow} a {endRow} de {filteredRows} ({totalRows})",
- "NEXT" => "Siguiente página",
- "PREVIOUS" => "Pagina anterior",
- "FIRST" => "Primera página",
- "LAST" => "Última página"
- ],
- "PRIVACY" => "Política de privacidad",
-
- "SLUG" => "Slug",
- "SLUG_CONDITION" => "Slug/Condiciones",
- "SLUG_IN_USE" => "A {{slug}} slug ya existe",
- "STATUS" => "Estado",
- "SUGGEST" => "Sugerencia",
-
- "UNKNOWN" => "Desconocido",
-
- // Actions words
- "ACTIONS" => "Acciones",
- "ACTIVATE" => "Activar",
- "ACTIVE" => "Activo",
- "ADD" => "Añadir",
- "CANCEL" => "Cancelar",
- "CONFIRM" => "Confirmar",
- "CREATE" => "Crear",
- "DELETE" => "Eliminar",
- "DELETE_CONFIRM" => "¿Estás seguro que quieres eliminar esto?",
- "DELETE_CONFIRM_YES" => "Sí, borrar",
- "DELETE_CONFIRM_NAMED" => "¿Seguro que quieres eliminar {{name}}?",
- "DELETE_CONFIRM_YES_NAMED" => "Sí, eliminar {{nombre}}",
- "DELETE_CANNOT_UNDONE" => "Esta acción no se puede deshacer.",
- "DELETE_NAMED" => "Eliminar {{name}}",
- "DENY" => "Negar",
- "DISABLE" => "Inhabilitar",
- "DISABLED" => "Deshabilidato",
- "EDIT" => "Editar",
- "ENABLE" => "Habilitar",
- "ENABLED" => "Habilitado",
- "OVERRIDE" => "Anular",
- "RESET" => "Reiniciar",
- "SAVE" => "Guardar",
- "SEARCH" => "Buscar",
- "SORT" => "Ordenar",
- "SUBMIT" => "Enviar",
- "PRINT" => "Imprimir",
- "REMOVE" => "Remover",
- "UNACTIVATED" => "Desactivado",
- "UPDATE" => "Actualizar",
- "YES" => "Si",
- "NO" => "No",
- "OPTIONAL" => "Opcional",
-
- // Misc.
- "BUILT_WITH_UF" => "Construido con UserFrosting ",
- "ADMINLTE_THEME_BY" => "Theme by Almsaeed Studio. All rights reserved"
-];
diff --git a/main/app/sprinkles/core/locale/es_ES/validate.php b/main/app/sprinkles/core/locale/es_ES/validate.php
deleted file mode 100644
index 38218f5..0000000
--- a/main/app/sprinkles/core/locale/es_ES/validate.php
+++ /dev/null
@@ -1,35 +0,0 @@
- [
- "ARRAY" => "Los valores de {{label}} deben estar en una matriz.",
- "BOOLEAN" => "El valor de {{label}} debe ser '0' o '1'.",
- "INTEGER" => "El valor de {{label}} debe ser un entero.",
- "NUMERIC" => "El valor de {{label}} debe ser sólo números.",
- "INVALID_EMAIL" => "Dirección de correo electrónico no válida.",
- "LENGTH_RANGE" => "{{label}} debe tener entre {{min}} y {{max}} caracteres de longitud.",
- "MAX_LENGTH" => "{{label}} debe tener un máximo de {{max}} caracteres de longitud.",
- "MIN_LENGTH" => "{{label}} debe tener un mínimo de {{min}} caracteres de longitud.",
- "NO_LEAD_WS" => "El valor de {{label}} no puede comenzar con espacios, pestañas u otros espacios en blanco.",
- "NO_TRAIL_WS" => "El valor de {{label}} no puede finalizar con espacios, pestañas u otros espacios en blanco.",
- "RANGE" => "El valor de {{label}} debe estar entre {{min}} y {{max}}.",
- "REQUIRED" => "Especifique un valor para {{label}} .",
- "PHONE" => "El numero proporcionado para el télefono es invalido.",
- "SPRUNJE" => [
- "BAD_FILTER" => " {{name}} no es un filtro válido para este Sprunje.",
- "BAD_LIST" => " {{name}} no es una lista válida para este Sprunje.",
- "BAD_SORT" => "{{name}} no es un campo de clasificación válido para este Sprunje."
- ]
- ]
-];
diff --git a/main/app/sprinkles/core/locale/fa/errors.php b/main/app/sprinkles/core/locale/fa/errors.php
deleted file mode 100644
index 76ad548..0000000
--- a/main/app/sprinkles/core/locale/fa/errors.php
+++ /dev/null
@@ -1,52 +0,0 @@
- [
- "@TRANSLATION" => "خطا",
-
- "400" => [
- "TITLE" => "خطا 400: درخواست بد",
- "DESCRIPTION" => "احتمالا تقصیر شما نیست.",
- ],
-
- "404" => [
- "TITLE" => "خطا 404: صفحه یافت نشد",
- "DESCRIPTION" => "به نظر نمیرسد چیزی را که دنبالش هستید پیدا کنیم.",
- "DETAIL" => "ما سعی کردیم صفحه شما را پیدا کنیم...",
- "EXPLAIN" => "ما نتوانستیم صفحه ی مورد نظر شما را پیدا کنیم.",
- "RETURN" => 'در هر حال، اینجا کلیک کنید تا به صفحه اصلی بازگردید.'
- ],
-
- "CONFIG" => [
- "TITLE" => "خطای تنظیمات یوزرفروستینگ!",
- "DESCRIPTION" => "برخی از الزامات پیکربندی یوزرفروستینگ به نتیجه نرسید.",
- "DETAIL" => "خطایی پیش آمد.",
- "RETURN" => 'لطفا خطاهای زیر را اصلاح کنید و سپس مجددا بارگذاری نمایید.'
- ],
-
- "DESCRIPTION" => "ما یک اختلال بزرگ در سیستم احساس کردیم.",
- "DETAIL" => "این چیزی است که ما دریافت کردیم",
-
- "ENCOUNTERED" => "خطایی ویژه. نمیدانیم مشکل چیست.",
-
- "MAIL" => "خطا در ارسال ایمیل. لطفا با مدیر سیستم تماس برقرار کنید. لطفا لاگ را بررسی کنید.",
-
- "RETURN" => 'اینجا کلیک تا به صفحه اصلی بازگردید.',
-
- "SERVER" => "به نظر می آید که در سرور خطایی بوجود آمد. لطفا لاگ پی اچ پی و یوزرفروستینگ را چک کنید.",
-
- "TITLE" => "اختلالی پدید آمد."
- ]
-];
diff --git a/main/app/sprinkles/core/locale/fa/messages.php b/main/app/sprinkles/core/locale/fa/messages.php
deleted file mode 100644
index 46faaee..0000000
--- a/main/app/sprinkles/core/locale/fa/messages.php
+++ /dev/null
@@ -1,110 +0,0 @@
- 1,
-
- "ABOUT" => "درباره",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "کد امنیتی",
- "FAIL" => "کد امنیتی درست نیست",
- "SPECIFY" => "کد امنیتی را وارد کنید",
- "VERIFY" => "کد امنیتی را بررسی کنید"
- ],
-
- "CSRF_MISSING" => "سی اس آر اف توکن یافت نشد. لطفا صفحه را از نو بارگذاری کرده و دوباره تلاش کنید.",
-
- "DB_INVALID" => "خطا در اتصال به پایگاه داده ها. لطفا لاگ پی اچ پی را چک کنید.",
- "DESCRIPTION" => "توضیحات",
- "DOWNLOAD" => [
- "@TRANSLATION" => "دانلود",
- "CSV" => "دانلود سی اس وی"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "ایمیل",
- "YOUR" => "آدرس ایمیل"
- ],
-
- "HOME" => "خانه",
-
- "LEGAL" => "سیاست حقوقی",
-
- "LOCALE" => [
- "@TRANSLATION" => "زبان"
- ],
-
- "NAME" => "نام",
- "NAVIGATION" => "جهت یابی",
- "NO_RESULTS" => "با عرض پوزش، چیزی یافت نشد.",
-
- "PAGINATION" => [
- "GOTO" => "پرش به صفحه",
- "SHOW" => "نمایش",
-
- // Paginator
- // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
- // also {page:input} & {startRow:input} will add a modifiable input in place of the value
- "OUTPUT" => "{startRow} تا {endRow} از {filteredRows} ({totalRows})"
- ],
- "PRIVACY" => "سیاست حفظ حریم خصوصی",
-
- "SLUG" => "اسلاگ",
- "SLUG_CONDITION" => "اسلاگ/شرایط",
- "SLUG_IN_USE" => "{{slug}} وجود دارد",
- "STATUS" => "وضعیت",
- "SUGGEST" => "پیشنهاد",
-
- "UNKNOWN" => "ناشناخته",
-
- // Actions words
- "ACTIONS" => "اقدام ها",
- "ACTIVATE" => "فعال سازی",
- "ACTIVE" => "فعال",
- "ADD" => "اضافه کردن",
- "CANCEL" => "لغو",
- "CONFIRM" => "تایید",
- "CREATE" => "اضافه کردن",
- "DELETE" => "حذف",
- "DELETE_CONFIRM" => "آیا مطمئن هستید که میخواهید این را حذف کنید؟",
- "DELETE_CONFIRM_YES" => "بله، حذف شود",
- "DELETE_CONFIRM_NAMED" => "اطمینان دارید که میخواهید {{name}} را حذف کنید؟",
- "DELETE_CONFIRM_YES_NAMED" => "بله، {{name}} حذف شود",
- "DELETE_CANNOT_UNDONE" => "این عملیات قابل بازگشت نیست.",
- "DELETE_NAMED" => "{{name}} حذف شود",
- "DENY" => "انکار",
- "DISABLE" => "غیر فعال",
- "DISABLED" => "غیر فعال",
- "EDIT" => "ویرایش",
- "ENABLE" => "فعال",
- "ENABLED" => "فعال",
- "OVERRIDE" => "تغییر",
- "RESET" => "تنظیم مجدد",
- "SAVE" => "ذخیره",
- "SEARCH" => "جست و جو",
- "SORT" => "مرتب سازی",
- "SUBMIT" => "ارسال",
- "PRINT" => "چاپ",
- "REMOVE" => "حذف",
- "UNACTIVATED" => "غیر فعال",
- "UPDATE" => "به روز رسانی",
- "YES" => "بله",
- "NO" => "خیر",
- "OPTIONAL" => "اختیاری",
-
- // Misc.
- "BUILT_WITH_UF" => "ساخته شده با یوزرفراستینگ",
- "ADMINLTE_THEME_BY" => "قالب از Almsaeed Studio. تمامی حقوق محفوظ است"
-];
diff --git a/main/app/sprinkles/core/locale/fa/validate.php b/main/app/sprinkles/core/locale/fa/validate.php
deleted file mode 100644
index d0f0bcd..0000000
--- a/main/app/sprinkles/core/locale/fa/validate.php
+++ /dev/null
@@ -1,31 +0,0 @@
- [
- "ARRAY" => "مقادیر {{label}} باید از یک آرایه باشند.",
- "BOOLEAN" => "مقدار {{label}} باید 1 یا 0 باشد.",
- "INTEGER" => "مقدار {{label}} باید یک عدد اینتجر باشد.",
- "INVALID_EMAIL" => "آدرس پست الکترونیکی صحیح نیست.",
- "LENGTH_RANGE" => "{{label}} باید بین {{min}} و {{max}} حرف باشد.",
- "NO_LEAD_WS" => "مقدار {{label}} نباید با فاصله شروع شود.",
- "NO_TRAIL_WS" => "مقدار {{label}} نباید با فاصله تمام شود.",
- "REQUIRED" => "لطفا برای {{label}} مقداری تعیین کنید.",
- "SPRUNJE" => [
- "BAD_FILTER" => "{{name}} فیلتر صحیحی نیست.",
- "BAD_LIST" => "{{name}} لیست صحیحی نیست.",
- "BAD_SORT" => "{{name}} فیلد مرتب سازی صحیحی نیست."
- ]
- ]
-];
diff --git a/main/app/sprinkles/core/locale/fr_FR/errors.php b/main/app/sprinkles/core/locale/fr_FR/errors.php
deleted file mode 100644
index 570a676..0000000
--- a/main/app/sprinkles/core/locale/fr_FR/errors.php
+++ /dev/null
@@ -1,51 +0,0 @@
- [
- "@TRANSLATION" => "Erreur",
-
- "400" => [
- "TITLE" => "Erreur 400: Mauvaise requête",
- "DESCRIPTION" => "Ce n'est probablement pas de votre faute.",
- ],
-
- "404" => [
- "TITLE" => "Erreur 404: Page introuvable",
- "DESCRIPTION" => "Nous ne pouvons trouver ce que vous cherchez.",
- "DETAIL" => "Nous avons tout tenté...",
- "EXPLAIN" => "Nous ne pouvons trouver la page que vous cherchez.",
- "RETURN" => 'Cliquez ici pour retourner à la page d\'accueil.'
- ],
-
- "CONFIG" => [
- "TITLE" => "Problème de configuration UserFrosting!",
- "DESCRIPTION" => "Les exigences de configuration de UserFrosting n'ont pas été satisfaites.",
- "DETAIL" => "Quelque chose cloche ici...",
- "RETURN" => 'Corrigez les erreurs suivantes, ensuite recharger la page.'
- ],
-
- "DESCRIPTION" => "Nous avons ressenti un grand bouleversement de la Force.",
- "DETAIL" => "Voici les détails :",
-
- "ENCOUNTERED" => "D'oh! Quelque chose s'est produit. Aucune idée c'est quoi.",
-
- "MAIL" => "Erreur fatale lors de l'envoie du courriel. Contactez votre administrateur. Si vous être administrateur, consultez les logs.",
-
- "RETURN" => 'Cliquez ici pour retourner à la page d\'accueil.',
-
- "SERVER" => "Oops, il semblerait que le serveur a gaffé. Si vous êtes administrateur, s-v-p vérifier les logs d'erreurs PHP ou ceux de UserFrosting.",
-
- "TITLE" => "Bouleversement de la Force"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/fr_FR/main.php b/main/app/sprinkles/core/locale/fr_FR/main.php
deleted file mode 100644
index 46d9060..0000000
--- a/main/app/sprinkles/core/locale/fr_FR/main.php
+++ /dev/null
@@ -1,20 +0,0 @@
- [
- "FEED" => "D'actualités",
- "EXPLORE" => "Dépister",
- "CHAT" => "Message",
- "FRIENDS" => "Camarades",
- "PERSONAL" => "Personnelles"
- ],
- "CHAT_MESSAGES" => [
- "USER_GROUP_JOIN" => "{{user}} s'est joint au groupe",
- "YOU_GROUP_JOIN" => "Vous avez rejoint le groupe {{group}}",
- "USER_DISCONNECT" => "{{user}} s'est déconnecté du serveur",
- "JOIN_GROUP_PH" => "Rejoindre un groupe...",
- "WRITE_MESSAGE_PH" => "Ecrire un message..."
- ],
- "EXPLORE_TAB" => [
- "USER_SEARCH_PH" => "Rechercher un profil..."
- ]
-];
diff --git a/main/app/sprinkles/core/locale/fr_FR/messages.php b/main/app/sprinkles/core/locale/fr_FR/messages.php
deleted file mode 100644
index 21c456a..0000000
--- a/main/app/sprinkles/core/locale/fr_FR/messages.php
+++ /dev/null
@@ -1,105 +0,0 @@
- 2,
-
- "ABOUT" => "À propos",
-
- "CAPTCHA" => [
- "@TRANSLATE" => "Captcha",
- "VERIFY" => "Vérification du captcha",
- "SPECIFY" => "Entrer la valeur du captcha",
- "FAIL" => "La valeur du captcha n'a pas été entrée correctement."
- ],
-
- "CSRF_MISSING" => "Jeton CSRF manquant. Essayez de rafraîchir la page et de soumettre de nouveau?",
-
- "DB_INVALID" => "Impossible de se connecter à la base de données. Si vous êtes un administrateur, vérifiez votre journal d'erreurs.",
- "DESCRIPTION" => "Description",
- "DOWNLOAD" => [
- "@TRANSLATION" => "Télécharger",
- "CSV" => "Télécharger CSV"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "Email",
- "YOUR" => "Votre adresse email"
- ],
-
- "HOME" => "Accueil",
-
- "LEGAL" => "Politique légale",
-
- "LOCALE" => [
- "@TRANSLATION" => "Langue"
- ],
-
- "NAME" => "Nom",
- "NAVIGATION" => "Menu principal",
- "NO_RESULTS" => "Aucun résultat trouvé.",
-
- "PAGINATION" => [
- "GOTO" => "Aller à la page",
- "SHOW" => "Afficher",
- "OUTPUT" => "{startRow} à {endRow} de {filteredRows} ({totalRows})"
- ],
- "PRIVACY" => "Politique de confidentialité",
-
- "SLUG" => "Jeton",
- "SLUG_CONDITION" => "Jeton/Conditions",
- "SLUG_IN_USE" => "Un jeton {{slug}} existe déjà",
- "STATUS" => "Statut",
- "SUGGEST" => "Suggérer",
-
- "UNKNOWN" => "Inconnu",
-
- // Actions words
- "ACTIONS" => "Actions",
- "ACTIVATE" => "Autoriser",
- "ACTIVE" => "Activé",
- "ADD" => "Ajouter",
- "CANCEL" => "Annuler",
- "CONFIRM" => "Confirmer",
- "CREATE" => "Créer",
- "DELETE" => "Supprimer",
- "DELETE_CONFIRM" => "Êtes-vous sûr de vouloir supprimer ceci?",
- "DELETE_CONFIRM_YES" => "Oui, supprimer",
- "DELETE_CONFIRM_NAMED" => "Êtes-vous sûr de vouloir supprimer {{name}}?",
- "DELETE_CONFIRM_YES_NAMED" => "Oui, supprimer {{name}}",
- "DELETE_CANNOT_UNDONE" => "Cette action ne peut être annulée.", //This action cannot be undone
- "DELETE_NAMED" => "Supprimer {{name}}",
- "DENY" => "Refuser",
- "DISABLE" => "Désactiver",
- "DISABLED" => "Désactivé",
- "EDIT" => "Modifier",
- "ENABLE" => "Activer",
- "ENABLED" => "Activé",
- "OVERRIDE" => "Forcer",
- "RESET" => "Réinitialiser",
- "SAVE" => "Sauvegarder",
- "SEARCH" => "Rechercher",
- "SORT" => "Trier",
- "SUBMIT" => "Envoyer",
- "PRINT" => "Imprimer",
- "REMOVE" => "Supprimer",
- "UNACTIVATED" => "Non activé",
- "UPDATE" => "Mettre à jour",
- "YES" => "Oui",
- "NO" => "Non",
- "OPTIONAL" => "Facultatif",
-
- // Misc.
- "BUILT_WITH_UF" => "Créé avec UserFrosting",
- "ADMINLTE_THEME_BY" => "Thème par Almsaeed Studio. Tous droits réservés"
-];
\ No newline at end of file
diff --git a/main/app/sprinkles/core/locale/fr_FR/validate.php b/main/app/sprinkles/core/locale/fr_FR/validate.php
deleted file mode 100644
index b928fc9..0000000
--- a/main/app/sprinkles/core/locale/fr_FR/validate.php
+++ /dev/null
@@ -1,33 +0,0 @@
- [
- "ARRAY" => "Les valeurs de {{label}} doivent être dans un tableau.",
- "BOOLEAN" => "La valeur de {{label}} doit être '0' ou '1'.",
- "INTEGER" => "La valeur de {{label}} doit être un nombre entier.",
- "INVALID_EMAIL" => "Addresse email invalide.",
- "LENGTH_RANGE" => "La valeur de {{label}} doit faire entre {{min}} et {{max}} caractères.",
- "MAX_LENGTH" => "La valeur de {{label}} doit être d'un maximum de {{max}} caractères.",
- "MIN_LENGTH" => "La valeur de {{label}} doit être d'un minimum de {{min}} caractères.",
- "NO_LEAD_WS" => "La valeur de {{label}} ne peut pas commencer par des espaces, des tabulations ou d'autres caractères invisibles",
- "NO_TRAIL_WS" => "La valeur de {{label}} ne peut pas se terminer par des espaces, des tabulations ou d'autres caractères invisibles",
- "RANGE" => "Le champ {{label}} doit être une valeur entre {{min}} et {{max}}.",
- "REQUIRED" => "Le champ {{label}} doit être rempli.",
- "SPRUNJE" => [
- "BAD_FILTER" => "{{name}} ne peut pas être utilisé pour filtrer ce Sprunje.",
- "BAD_LIST" => "{{name}} is not a valid list for this Sprunje.",
- "BAD_SORT" => "{{name}} ne peut pas être utilisé pour trier Sprunje."
- ]
- ]
-];
\ No newline at end of file
diff --git a/main/app/sprinkles/core/locale/it_IT/errors.php b/main/app/sprinkles/core/locale/it_IT/errors.php
deleted file mode 100644
index c5d4eaa..0000000
--- a/main/app/sprinkles/core/locale/it_IT/errors.php
+++ /dev/null
@@ -1,53 +0,0 @@
- [
- "@TRANSLATION" => "Errore",
-
- "400" => [
- "TITLE" => "Errore 400: Cattiva Richiesta",
- "DESCRIPTION" => "Scusa per l'errore.",
- ],
-
- "404" => [
- "TITLE" => "Errore 404 - Pagina Non Trovata",
- "DESCRIPTION" => "Non possiamo sembrare trovare quello che stai cercando.",
- "DETAIL" => "Abbiamo cercato di trovare la tua pagina ...",
- "EXPLAIN" => "Non abbiamo trovato la pagina che stavi cercando.",
- "RETURN" => "Fai clic su qui per tornare alla prima pagina."
- ],
-
- "CONFIG" => [
- "TITLE" => "Problema di configurazione di UserFrosting!",
- "DESCRIPTION" => "Alcuni requisiti di configurazione UserFrosting non sono stati soddisfatti.",
- "DETAIL" => "Qualcosa non è proprio qui.",
- "RETURN" => "Correggi i seguenti errori, quindi ricarica."
- ],
-
- "DESCRIPTION" => "Abbiamo sentito un grande disturbo nella Forza.",
- "DETAIL" => "Ecco quello che sappiamo:",
-
- "ENCOUNTERED" => "Uhhh...qualcosa è accaduto. Non sappiamo cosa.",
-
- "MAIL" => "Errore nell'invio della mail, contatta l'amministratore di sistema",
-
- "RETURN" => "Fai clic su qui per tornare alla prima pagina.",
-
- "SERVER" => "Sembra esserci un errore nel server. Se sei un admin, controlla i log di PHP o UserFrosting.",
-
- "TITLE" => "Disturbo nella Forza"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/it_IT/messages.php b/main/app/sprinkles/core/locale/it_IT/messages.php
deleted file mode 100644
index 76b9aa5..0000000
--- a/main/app/sprinkles/core/locale/it_IT/messages.php
+++ /dev/null
@@ -1,123 +0,0 @@
- 1,
-
- "ABOUT" => "Riguardo a noi",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "Captcha",
- "FAIL" => "Domanda di sicurezza sbagliata",
- "SPECIFY" => "Inserire il captcha",
- "VERIFY" => "Verifica la captcha"
- ],
-
- "CSRF_MISSING" => "Sigillo CSRF mancante. Prova a aggiornare la pagina e poi di inviarlo nuovamente?",
-
- "DB_INVALID" => "Impossibile connettersi al database. Se sei un amministratore, controlla il registro PHP o UserFrosting.",
- "DESCRIPTION" => "Descrizione",
- "DOWNLOAD" => [
- "@TRANSLATION" => "Scaricare",
- "CSV" => "Scarica CSV"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "E-mail",
- "YOUR" => "La tua email"
- ],
-
- "HOME" => "Inizio",
-
- "LEGAL" => [
- "@TRANSLATION" => "Politica Legale",
- "DESCRIPTION" => "La nostra politica legale si applica al tuo utilizzo di questo sito e dei nostri servizi."
- ],
-
- "LOCALE" => [
- "@TRANSLATION" => "Località"
- ],
-
- "NAME" => "Nome",
- "NAVIGATION" => "Navigazione",
- "NO_RESULTS" => "Spiacenti, non abbiamo niente qui.",
-
- "PAGINATION" => [
- "GOTO" => "Vai alla pagina",
- "SHOW" => "Mostrare",
-
- // Paginator
- // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
- // also {page:input} & {startRow:input} will add a modifiable input in place of the value
- "OUTPUT" => "{startRow} a {endRow} di {filteredRows} ({totalRows})",
- "NEXT" => "Pagina successiva",
- "PREVIOUS" => "Pagina precedente",
- "FIRST" => "Prima pagina",
- "LAST" => "Ultima pagina"
- ],
- "PRIVACY" => [
- "@TRANSLATION" => "Politica sulla riservatezza",
- "DESCRIPTION" => "La nostra politica sulla privacy descrive quali tipi di informazioni raccoglieremo da te e come lo useremo."
- ],
-
- "SLUG" => "Slug",
- "SLUG_CONDITION" => "Slug/Condizioni",
- "SLUG_IN_USE" => "Esiste già uno slug {{slug}}",
- "STATUS" => "Stato",
- "SUGGEST" => "Suggerire",
-
- "UNKNOWN" => "Sconosciuto",
-
- // Actions words
- "ACTIONS" => "Azioni",
- "ACTIVATE" => "Attivare",
- "ACTIVE" => "Attivo",
- "ADD" => "Aggiungere",
- "CANCEL" => "Annulla",
- "CONFIRM" => "Conferma",
- "CREATE" => "Creare",
- "DELETE" => "Elimina",
- "DELETE_CONFIRM" => "Sei sicuro di voler cancellare questo?",
- "DELETE_CONFIRM_YES" => "Sì, elimini",
- "DELETE_CONFIRM_NAMED" => "Sei sicuro di voler eliminare {{name}}?",
- "DELETE_CONFIRM_YES_NAMED" => "Sì, eliminare {{name}}",
- "DELETE_CANNOT_UNDONE" => "Questa azione non può essere annullata.",
- "DELETE_NAMED" => "Elimina {{name}}",
- "DENY" => "Nega",
- "DISABLE" => "Disattivare",
- "DISABLED" => "Disabilitato",
- "EDIT" => "Modifica",
- "ENABLE" => "Abilitare",
- "ENABLED" => "Abilitato",
- "OVERRIDE" => "Alterare",
- "RESET" => "Azzerare",
- "SAVE" => "Memorizzare",
- "SEARCH" => "Cercare",
- "SORT" => "Ordinare",
- "SUBMIT" => "Inviare",
- "SUCCESS" => "Successo",
- "PRINT" => "Stampare",
- "REMOVE" => "Rimuovere",
- "UNACTIVATED" => "Non attivato",
- "UPDATE" => "Aggiornare",
- "YES" => "Sì",
- "NO" => "No",
- "OPTIONAL" => "Opzionale",
-
- // Misc.
- "BUILT_WITH_UF" => "Construito UserFrosting",
- "ADMINLTE_THEME_BY" => "Tema da Almsaeed Studio. Tutti i diritti riservati",
- "WELCOME_TO" => "Benvenuto a {{title}}!"
-];
diff --git a/main/app/sprinkles/core/locale/it_IT/validate.php b/main/app/sprinkles/core/locale/it_IT/validate.php
deleted file mode 100644
index d2f0ade..0000000
--- a/main/app/sprinkles/core/locale/it_IT/validate.php
+++ /dev/null
@@ -1,32 +0,0 @@
- [
- "ARRAY" => "I valori per {{label}} devono essere in un vettore.",
- "BOOLEAN" => "Il valore per {{label}} deve essere '0' o '1'.",
- "INTEGER" => "Il valore per {{label}} deve essere un intero.",
- "INVALID_EMAIL" => "Indirizzo mail non valido",
- "LENGTH_RANGE" => "{{label}} deve essere compreso tra i caratteri {{min}} e {{max}} in lunghezza.",
- "NO_LEAD_WS" => "Il valore di {{label}} non può iniziare con spazi, tabulazioni o altri spazi vuoti.",
- "NO_TRAIL_WS" => "Il valore di {{label}} non può terminare con spazi, tabulazioni o altri spazi vuoti.",
- "REQUIRED" => "Il campo {{label}} deve essere specificato.",
- "SPRUNJE" => [
- "BAD_FILTER" => "{{name}} non è un filtro valido per questo Sprunje.",
- "BAD_LIST" => " {{name}} non è un elenco valido per questo Sprunje.",
- "BAD_SORT" => "{{name}} non è un campo di ordinamento valido per questo Sprunje."
- ]
- ]
-];
diff --git a/main/app/sprinkles/core/locale/pt_PT/errors.php b/main/app/sprinkles/core/locale/pt_PT/errors.php
deleted file mode 100644
index 2c938ec..0000000
--- a/main/app/sprinkles/core/locale/pt_PT/errors.php
+++ /dev/null
@@ -1,51 +0,0 @@
- [
- "@TRANSLATION" => "Erro",
-
- "400" => [
- "TITLE" => "Erro 400: Pedido Inválido",
- "DESCRIPTION" => "Provavelmente a culpa não é sua.",
- ],
-
- "404" => [
- "TITLE" => "Erro 404: Página não Encontrada",
- "DESCRIPTION" => "Parece que não conseguimos encontrar a página que procura.",
- "DETAIL" => "Tentámos encontrar a sua página...",
- "EXPLAIN" => "Não conseguimos encontrar a página que procura.",
- "RETURN" => 'De qualquer forma, clique aqui para regressar à página inicial.'
- ],
-
- "CONFIG" => [
- "TITLE" => "Problema de Configuração do UserFrosting!",
- "DESCRIPTION" => "Alguns requisitos de configuração do UserFrosting não foram satisfeitos.",
- "DETAIL" => "Algo não está bem.",
- "RETURN" => 'Por favor corrija os seguintes erros, depois refresque a página.'
- ],
-
- "DESCRIPTION" => "Sentimos uma grande perturbância na Força.",
- "DETAIL" => "Eis o que sabemos:",
-
- "ENCOUNTERED" => "Uhhh...algo aconteceu. Não sabemos bem o quê.",
-
- "MAIL" => "Erro fatal ao tentar enviar email, contate o administrator do servidor. Se é administrador, por favor consulte o log de mail do UF.",
-
- "RETURN" => 'Clique aqui para regressar à página inicial.',
-
- "SERVER" => "Oops, parece que o nosso servidor deu o berro. Se é um administrador, por favor consulte o log de erros PHP ou UF.",
-
- "TITLE" => "Perturbância na Força"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/pt_PT/messages.php b/main/app/sprinkles/core/locale/pt_PT/messages.php
deleted file mode 100644
index 4a8c80a..0000000
--- a/main/app/sprinkles/core/locale/pt_PT/messages.php
+++ /dev/null
@@ -1,102 +0,0 @@
- 1,
-
- "ABOUT" => "Acerca",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "Captcha",
- "FAIL" => "Código captcha não introduzido corretamente.",
- "SPECIFY" => "Introduza o código captcha",
- "VERIFY" => "Verifique o código captcha"
- ],
-
- "CSRF_MISSING" => "Token CSRF em falta. Tente refrescar a página e submeter de novo?",
-
- "DB_INVALID" => "Não é possível estabelecer ligação com a base de dados. Se é administrador, por favor consulte o log do servidor.",
- "DESCRIPTION" => "Descrição",
- "DOWNLOAD" => [
- "@TRANSLATION" => "Descarregar",
- "CSV" => "Descarregar CSV"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "Email",
- "YOUR" => "O seu endereço de email"
- ],
-
- "HOME" => "Início",
-
- "LEGAL" => "Política Legal",
-
- "LOCALE" => [
- "@TRANSLATION" => "Localização"
- ],
-
- "NAME" => "Nome",
- "NAVIGATION" => "Navegação",
-
- "PAGINATION" => [
- "GOTO" => "Saltar para Página",
- "SHOW" => "Mostrar",
- "OUTPUT" => "{startRow} to {endRow} of {filteredRows} ({totalRows})"
- ],
- "PRIVACY" => "Política de Privacidade",
-
- "SLUG" => "Slug",
- "SLUG_CONDITION" => "Slug/Condições",
- "STATUS" => "Estado",
-
- "UNKNOWN" => "Desconhecido",
-
- // Actions words
- "ACTIONS" => "Ações",
- "ACTIVATE" => "Ativar",
- "ACTIVE" => "Ativo",
- "ADD" => "Adicionar",
- "CANCEL" => "Cancelar",
- "CONFIRM" => "Confirmar",
- "CREATE" => "Criar",
- "DELETE" => "Remover",
- "DELETE_CONFIRM" => "Tem a certeza que deseja remover isto?",
- "DELETE_CONFIRM_YES" => "Sim, remover",
- "DELETE_CONFIRM_NAMED" => "Tem a certeza que deseja remover {{name}}?",
- "DELETE_CONFIRM_YES_NAMED" => "Sim, remover {{name}}",
- "DELETE_CANNOT_UNDONE" => "Esta ação não pode ser desfeita.",
- "DELETE_NAMED" => "Remover {{name}}",
- "DENY" => "Recusar",
- "DISABLE" => "Desativar",
- "DISABLED" => "Inativo",
- "EDIT" => "Editar",
- "ENABLE" => "Ativar",
- "ENABLED" => "Ativo",
- "OVERRIDE" => "Alterar",
- "RESET" => "Apagar",
- "SAVE" => "Guardar",
- "SEARCH" => "Procurar",
- "SORT" => "Ordenar",
- "SUBMIT" => "Submeter",
- "PRINT" => "Imprimir",
- "REMOVE" => "Remover",
- "UNACTIVATED" => "Inativo",
- "UPDATE" => "Atualizar",
- "YES" => "Sim",
- "NO" => "Não",
- "OPTIONAL" => "Opcional",
-
- // Misc.
- "BUILT_WITH_UF" => "Desenvolvido sobre UserFrosting",
- "ADMINLTE_THEME_BY" => "Tema por Almsaeed Studio. Todos os direitos reservados"
-];
diff --git a/main/app/sprinkles/core/locale/pt_PT/validate.php b/main/app/sprinkles/core/locale/pt_PT/validate.php
deleted file mode 100644
index 842f12b..0000000
--- a/main/app/sprinkles/core/locale/pt_PT/validate.php
+++ /dev/null
@@ -1,25 +0,0 @@
- [
- "ARRAY" => "Os valores para {{label}} devem estar contidos num array.",
- "BOOLEAN" => "O valor para {{label}} deve ser '0' ou '1'.",
- "INTEGER" => "O valor para {{label}} deve ser um inteiro.",
- "INVALID_EMAIL" => "Endereço de email inválido.",
- "LENGTH_RANGE" => "{{label}} deve conter entre {{min}} e {{max}} caracteres.",
- "NO_LEAD_WS" => "O valor para {{label}} não pode começar por espaços, tabulações, ou outros espaços em branco.",
- "NO_TRAIL_WS" => "O valor para {{label}} não pode terminar em espaços, tabulações, ou outros espaços em branco.",
- "REQUIRED" => "Por favor especifique um valor para {{label}}."
- ]
-];
diff --git a/main/app/sprinkles/core/locale/ru_RU/errors.php b/main/app/sprinkles/core/locale/ru_RU/errors.php
deleted file mode 100644
index 1a61e30..0000000
--- a/main/app/sprinkles/core/locale/ru_RU/errors.php
+++ /dev/null
@@ -1,51 +0,0 @@
- [
- "@TRANSLATION" => "Ошибка",
-
- "400" => [
- "TITLE" => "Ошибка 400: Неправильный запрос",
- "DESCRIPTION" => "Это, вероятно, не ваша вина.",
- ],
-
- "404" => [
- "TITLE" => "Ошибка 404: Не найдено",
- "DESCRIPTION" => "Кажется, мы не можем найти то, что вам нужно.",
- "DETAIL" => "Мы пытались найти вашу страницу...",
- "EXPLAIN" => "Мы не можем найти страницу, которую вы искали.",
- "RETURN" => 'В любом случае, нажмите здесь чтобы вернуться на главную страницу.'
- ],
-
- "CONFIG" => [
- "TITLE" => "Проблема в конфигурации!",
- "DESCRIPTION" => "Некоторые требования к конфигурации UserFrosting, не были соблюдены.",
- "DETAIL" => "Что-то здесь не так.",
- "RETURN" => 'Пожалуйста, исправьте следующие ошибки, затем перезагрузите.'
- ],
-
- "DESCRIPTION" => "Мы обнаружили большое и сильное нарушение.",
- "DETAIL" => "Вот что мы получили:",
-
- "ENCOUNTERED" => "Ох... что-то произошло. Мы не знаем, что.",
-
- "MAIL" => "Неустранимая ошибка почтовой службы, обратитесь к администратору сервера. Если вы являетесь администратором, пожалуйста, проверьте логи.",
-
- "RETURN" => 'Нажмите здесь для возврата на главную страницу.',
-
- "SERVER" => "К сожалению, кажется сервер имеет ошибки. Если вы являетесь администратором сервера, пожалуйста проверьте логи.",
-
- "TITLE" => "Сильное нарушение"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/ru_RU/messages.php b/main/app/sprinkles/core/locale/ru_RU/messages.php
deleted file mode 100644
index ddd53a7..0000000
--- a/main/app/sprinkles/core/locale/ru_RU/messages.php
+++ /dev/null
@@ -1,120 +0,0 @@
- 1,
-
- "ABOUT" => "О нас",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "Капча",
- "FAIL" => "Код безопасности был введен с ошибками.",
- "SPECIFY" => "Введите код капчи",
- "VERIFY" => "Проверьте капчу"
- ],
-
- "CSRF_MISSING" => "Отсутствует CSRF токен. Попробуйте обновить страницу и повторить попытку ещё раз?",
-
- "DB_INVALID" => "Не удается подключиться к базе данных. Если вы являетесь администратором, пожалуйста проверьте лог ошибок.",
- "DESCRIPTION" => "Описание",
- "DOWNLOAD" => [
- "@TRANSLATION" => "Скачать",
- "CSV" => "Скачать CSV"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "Email",
- "YOUR" => "Ваш e-mail"
- ],
-
- "HOME" => "Главная",
-
- "LEGAL" => [
- "@TRANSLATION" => "Правовая информация",
- "DESCRIPTION" => "Наша правовая политика применима к использованию вами данного веб-сайта и наших услуг."
- ],
-
- "LOCALE" => [
- "@TRANSLATION" => "Язык"
- ],
-
- "NAME" => "Имя",
- "NAVIGATION" => "Навигация",
- "NO_RESULTS" => "Извини, здесь ничего нет.",
-
- "PAGINATION" => [
- "GOTO" => "Перейти к странице",
- "SHOW" => "Показать",
-
- // Paginator
- // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
- // also {page:input} & {startRow:input} will add a modifiable input in place of the value
- "OUTPUT" => "{startRow} к {endRow} из {filteredRows} ({totalRows})",
- "NEXT" => "Следующая",
- "PREVIOUS" => "Предыдущая",
- "FIRST" => "Первая",
- "LAST" => "Последняя"
- ],
- "PRIVACY" => [
- "@TRANSLATION" => "Политика конфиденциальности",
- "DESCRIPTION" => "Наша политика конфиденциальности описывает, какую информацию мы собираем от вас и как мы будем использовать её."
- ],
-
- "SLUG" => "Метка",
- "SLUG_CONDITION" => "Метка/Условия",
- "SLUG_IN_USE" => "{{slug}} метка уже существует",
- "STATUS" => "Статус",
- "SUGGEST" => "Предложить",
-
- "UNKNOWN" => "Неизвестно",
-
- // Actions words
- "ACTIONS" => "Действия",
- "ACTIVATE" => "Активировать",
- "ACTIVE" => "Активные",
- "ADD" => "Добавить",
- "CANCEL" => "Отмена",
- "CONFIRM" => "Подтвердить",
- "CREATE" => "Создать",
- "DELETE" => "Удалить",
- "DELETE_CONFIRM" => "Вы уверены, что хотите удалить это?",
- "DELETE_CONFIRM_YES" => "Да, удалить",
- "DELETE_CONFIRM_NAMED" => "Вы уверены, что хотите удалить {{name}}?",
- "DELETE_CONFIRM_YES_NAMED" => "Да, удалить {{name}}",
- "DELETE_CANNOT_UNDONE" => "Это действие нельзя будет отменить.",
- "DELETE_NAMED" => "Удаление {{name}}",
- "DENY" => "Запретить",
- "DISABLE" => "Отключить",
- "DISABLED" => "Отключено",
- "EDIT" => "Изменить",
- "ENABLE" => "Включить",
- "ENABLED" => "Включено",
- "OVERRIDE" => "Отменить",
- "RESET" => "Сброс",
- "SAVE" => "Сохранить",
- "SEARCH" => "Поиск",
- "SORT" => "Сортировка",
- "SUBMIT" => "Отправить",
- "PRINT" => "Печать",
- "REMOVE" => "Удалить",
- "UNACTIVATED" => "Не активировано",
- "UPDATE" => "Обновить",
- "YES" => "Да",
- "NO" => "Нет",
- "OPTIONAL" => "Дополнительно",
-
- // Misc.
- "BUILT_WITH_UF" => "Создано через UserFrosting",
- "ADMINLTE_THEME_BY" => "Тема от Almsaeed Studio. Все права защищены",
- "WELCOME_TO" => "Добро пожаловать на {{title}}!"
-];
diff --git a/main/app/sprinkles/core/locale/ru_RU/validate.php b/main/app/sprinkles/core/locale/ru_RU/validate.php
deleted file mode 100644
index a269b00..0000000
--- a/main/app/sprinkles/core/locale/ru_RU/validate.php
+++ /dev/null
@@ -1,33 +0,0 @@
- [
- "ARRAY" => "Значения для {{label}} должны быть элементами массива.",
- "BOOLEAN" => "Значение {{label}} должно быть '0' или '1'.",
- "INTEGER" => "Значение {{label}} должно быть целым.",
- "INVALID_EMAIL" => "Неправильный email.",
- "LENGTH_RANGE" => "{{label}} должно быть между {{min}} и {{max}} символов в длину.",
- "MAX_LENGTH" => "{{label}} должны быть максимально {{max}} символов в длину.",
- "MIN_LENGTH" => "{{label}} должно быть минимально {{min}} символов в длину.",
- "NO_LEAD_WS" => "Значение {{label}} не может начинаться с пробелов, табуляции или других пробелов.",
- "NO_TRAIL_WS" => "Значение {{label}} не может заканчиваться пробелами, табуляции или другими пробелами.",
- "RANGE" => "Значение {{label}} должно быть между {{min}} и {{max}} симв.",
- "REQUIRED" => "Пожалуйста, укажите значение для {{label}}.",
- "SPRUNJE" => [
- "BAD_FILTER" => "{{name}} не является допустимым фильтром.",
- "BAD_LIST" => "{{name}} не является допустимым списком.",
- "BAD_SORT" => "{{name}} не является допустимым для сортировки полей."
- ]
- ]
-];
diff --git a/main/app/sprinkles/core/locale/th_TH/errors.php b/main/app/sprinkles/core/locale/th_TH/errors.php
deleted file mode 100644
index 8f9413e..0000000
--- a/main/app/sprinkles/core/locale/th_TH/errors.php
+++ /dev/null
@@ -1,51 +0,0 @@
- [
- "@TRANSLATION" => "ข้อผิดพลาด",
-
- "400" => [
- "TITLE" => "ข้อผิดพลาด 400: การร้องขอไม่ถูกต้อง",
- "DESCRIPTION" => "นี่ไม่น่าจะเป็นความผิดพลาดของคุณ",
- ],
-
- "404" => [
- "TITLE" => "ข้อผิดพลาด 404: ไม่พบหน้านี้",
- "DESCRIPTION" => "ดูเหมือนเราจะไม่สามารถหาสิ่งที่คุณต้องการได้",
- "DETAIL" => "เราพยายามได้ที่จะหาหน้าของคุณ...",
- "EXPLAIN" => "เราไม่สามารถหาหน้าที่คุณมองหาอยู่ได้",
- "RETURN" => 'อย่างไรก็ตาม คลิก ที่นี่ เพื่อกลับไปยังหน้าแรก'
- ],
-
- "CONFIG" => [
- "TITLE" => "เกิดปัญหาจากการตั้งค่า UserFrosting!",
- "DESCRIPTION" => "การตั้งค่าบางอย่างของ UserFrosting ยังไม่ตรงตามความต้องการ",
- "DETAIL" => "มีบางอย่างไม่ถูกต้องอยู่",
- "RETURN" => 'กรุณาแก้ไขข้อผิดพลาดดังกล่าว จากนั้น โหลดหน้านี้อีกครั้ง'
- ],
-
- "DESCRIPTION" => "เรารู้สึกความโกลาหลในกองทัพได้เป็นอย่างดี",
- "DETAIL" => "นี่คือสิ่งที่เราพบ:",
-
- "ENCOUNTERED" => "อืมม...บางอย่างเกิดขึ้น แต่เราไม่รู้ว่าคืออะไร",
-
- "MAIL" => "เกิดข้อผิดพลาดร้ายแรงระหว่างการพยายามส่งอีเมล กรุณาติดต่อผู้ดูแลระบบของเซิฟเวอร์นี้ หากคุณเป็นผู้ดูแล กรุณาตรวจสอบบันทึกอีเมลของ UF",
-
- "RETURN" => 'คลิก ที่นี่ เพื่อกลับไปยังหน้าแรก',
-
- "SERVER" => "โอ้ว ดูเหมือนระบบของเราอาจจะผิดพลาดเอง หากคุณเป็นผู้ดูแล กรุณาตรวจสอบบันทึกข้อผิดพลาดของ PHP หรือ UF",
-
- "TITLE" => "เกิดความโกลาหลในกองทัพ"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/th_TH/messages.php b/main/app/sprinkles/core/locale/th_TH/messages.php
deleted file mode 100644
index 34e609d..0000000
--- a/main/app/sprinkles/core/locale/th_TH/messages.php
+++ /dev/null
@@ -1,102 +0,0 @@
- 1,
-
- "ABOUT" => "เกี่ยวกับ",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "รหัสยืนยัน",
- "FAIL" => "คุณยังกรอกรหัสยืนยันไม่ถูกต้อง",
- "SPECIFY" => "กรอกรหัสยืนยัน",
- "VERIFY" => "ตรวจสอบรหัสยืนยัน"
- ],
-
- "CSRF_MISSING" => "ไม่พบโทเคน CSRF กรุณารีเฟรชแล้วส่งข้อมูลใหม่",
-
- "DB_INVALID" => "ไม่สามารถเชื่อมต่อกับฐานข้อมูลได้ หากคุณเป็นผู้ดูแลระบบ กรุณาตรวจสอบบันทึกข้อผิดพลาด",
- "DESCRIPTION" => "รายละเอียด",
- "DOWNLOAD" => [
- "@TRANSLATION" => "ดาวน์โหลด",
- "CSV" => "ดาวน์โหลด CSV"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "อีเมล",
- "YOUR" => "ที่อยู่อีเมลของคุณ"
- ],
-
- "HOME" => "หน้าแรก",
-
- "LEGAL" => "นโยบายทางกฎหมาย",
-
- "LOCALE" => [
- "@TRANSLATION" => "ภาษา"
- ],
-
- "NAME" => "ชื่อ",
- "NAVIGATION" => "เมนูนำทาง",
-
- "PAGINATION" => [
- "GOTO" => "ข้ามไปยังหน้า",
- "SHOW" => "แสดง",
- "OUTPUT" => "{startRow} to {endRow} of {filteredRows} ({totalRows})"
- ],
- "PRIVACY" => "นโยบายความเป็นส่วนตัว",
-
- "SLUG" => "ข้อกำหนด",
- "SLUG_CONDITION" => "ข้อกำหนด/เงื่อนไข",
- "STATUS" => "สถานะ",
-
- "UNKNOWN" => "ไม่ทราบ",
-
- // Actions words
- "ACTIONS" => "การดำเนินการ",
- "ACTIVATE" => "เปิดใช้งาน",
- "ACTIVE" => "เปิดใช้งานอยู่",
- "ADD" => "เพิ่ม",
- "CANCEL" => "ยกเลิก",
- "CONFIRM" => "ยืนยัน",
- "CREATE" => "สร้าง",
- "DELETE" => "ลบ",
- "DELETE_CONFIRM" => "คุณต้องการที่จะลบใช่หรือไม่?",
- "DELETE_CONFIRM_YES" => "ใช่ ลบเลย",
- "DELETE_CONFIRM_NAMED" => "คุณต้องการที่จะลบ {{name}} ใช่หรือไม่?",
- "DELETE_CONFIRM_YES_NAMED" => "ใช่ ลบ {{name}} เลย",
- "DELETE_CANNOT_UNDONE" => "การดำเนินการนี้ไม่สามารถยกเลิกได้",
- "DELETE_NAMED" => "ลบ {{name}}",
- "DENY" => "ปฏิเสธ",
- "DISABLE" => "ปิดการใช้งาน",
- "DISABLED" => "ปิดการใช้งานอยู่",
- "EDIT" => "แก้ไข",
- "ENABLE" => "เปิด",
- "ENABLED" => "เปิดอยู่",
- "OVERRIDE" => "เขียนทับ",
- "RESET" => "รีเซ็ต",
- "SAVE" => "บันทึก",
- "SEARCH" => "ค้นหา",
- "SORT" => "ประเภท",
- "SUBMIT" => "ส่ง",
- "PRINT" => "พิมพ์",
- "REMOVE" => "เอาออก",
- "UNACTIVATED" => "ไม่มีการเปิดใช้",
- "UPDATE" => "ปรับปรุง",
- "YES" => "ใช่",
- "NO" => "ไม่",
- "OPTIONAL" => "ตัวเลือกเพิ่มเติม",
-
- // Misc.
- "BUILT_WITH_UF" => "สร้างด้วย UserFrosting",
- "ADMINLTE_THEME_BY" => "ธีมโดย Almsaeed Studio สงวนลิขสิทธิ์"
-];
diff --git a/main/app/sprinkles/core/locale/th_TH/validate.php b/main/app/sprinkles/core/locale/th_TH/validate.php
deleted file mode 100644
index 8e14af4..0000000
--- a/main/app/sprinkles/core/locale/th_TH/validate.php
+++ /dev/null
@@ -1,25 +0,0 @@
- [
- "ARRAY" => "ค่าของ {{label}} จะต้องเป็น Array",
- "BOOLEAN" => "ค่าของ {{label}} จะต้องเป็น '0' หรือ '1'",
- "INTEGER" => "ค่าของ {{label}} จะต้องเป็นตัวเลข",
- "INVALID_EMAIL" => "ที่อยู่อีเมลไม่ถูกต้อง",
- "LENGTH_RANGE" => "ความยาวของ {{label}} จะต้องอยู่ระหว่าง {{min}} ถึง {{max}} ตัวอักษร",
- "NO_LEAD_WS" => "ค่าของ {{label}} ไม่สามารถเริ่มต้นด้วยช่องว่าง หรือ แท็บ",
- "NO_TRAIL_WS" => "ค่าของ {{label}} ไม่สามารถลงท้ายด้วยช่องว่าง หรือ แท็บ",
- "REQUIRED" => "กรุณากำหนดค่าของ {{label}}"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/tlh/errors.php b/main/app/sprinkles/core/locale/tlh/errors.php
deleted file mode 100644
index 4246b17..0000000
--- a/main/app/sprinkles/core/locale/tlh/errors.php
+++ /dev/null
@@ -1,53 +0,0 @@
- [
- "@TRANSLATION" => "Fehler",
-
- "400" => [
- "TITLE" => "Fehler 400: Ungültige Anforderung",
- "DESCRIPTION" => "Die Anfrage-Nachricht war fehlerhaft aufgebaut.",
- ],
-
- "404" => [
- "TITLE" => "Fehler 404: Seite nicht gefunden",
- "DESCRIPTION" => "Die angeforderte Ressource wurde nicht gefunden.",
- "DETAIL" => "Wir haben versucht Ihre Seite zu finden ...",
- "EXPLAIN" => "Die von Ihnen gesuchte Seite konnte nicht gefunden werden.",
- "RETURN" => "Klicken Sie Hier, um zur Startseite zurückzukehren."
- ],
-
- "CONFIG" => [
- "TITLE" => "UserFrosting Konfigurationsproblem!",
- "DESCRIPTION" => "Einige UserFrosting-Konfigurationsanforderungen wurden nicht erfüllt.",
- "DETAIL" => "Etwas stimmt hier nicht.",
- "RETURN" => "Bitte beheben Sie die folgenden Fehler dann laden Sie die Website neu."
- ],
-
- "DESCRIPTION" => "Wir haben eine große Störung in der Macht erkannt.",
- "DETAIL" => "Hier haben wir:",
-
- "ENCOUNTERED" => "Uhhh ... etwas ist passiert. Wir wissen nicht was.",
-
- "MAIL" => "Schwerwiegender Fehler beim Mailversand, wenden Sie sich an Ihren Serveradministrator. Wenn Sie der Administrator sind, überprüfen Sie bitte das UF-Mail-Protokoll.",
-
- "RETURN" => "Klicken Sie Hier, um zur Startseite zurückzukehren.",
-
- "SERVER" => "Hoppla, sieht aus als hätte der Server möglicherweise gepatzt. Wenn Sie ein Administrator sind, überprüfen Sie bitte die PHP- oder UF-Fehlerprotokolle.",
-
- "TITLE" => "Störung in der Kraft"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/tlh/main.php b/main/app/sprinkles/core/locale/tlh/main.php
deleted file mode 100644
index 8b91dc7..0000000
--- a/main/app/sprinkles/core/locale/tlh/main.php
+++ /dev/null
@@ -1,21 +0,0 @@
- [
- "FEED" => "De'",
- "EXPLORE" => "Tu'",
- "CHAT" => "Jaw",
- "FRIENDS" => "Jup",
- "PERSONAL" => "Ghot"
- ],
- "CHAT_MESSAGES" => [
- "USER_GROUP_JOIN" => "Ghom muv {{user}}",
- "YOU_GROUP_JOIN" => "Ghom {{group}} muv SoH",
- "USER_DISCONNECT" => "{{user}} chev vo' jabwI'",
- "JOIN_GROUP_PH" => "Ghom muv...",
- "WRITE_MESSAGE_PH" => "QIn ghItlh...",
- ],
- "EXPLORE_TAB" => [
- "USER_SEARCH_PH" => "jupDaj vItu'..."
- ]
-];
\ No newline at end of file
diff --git a/main/app/sprinkles/core/locale/tlh/messages.php b/main/app/sprinkles/core/locale/tlh/messages.php
deleted file mode 100644
index 1af7c57..0000000
--- a/main/app/sprinkles/core/locale/tlh/messages.php
+++ /dev/null
@@ -1,123 +0,0 @@
- 1,
-
- "ABOUT" => "Über",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "Sicherheitscode",
- "FAIL" => "Sie haben den Sicherheitscode nicht korrekt eingegeben.",
- "SPECIFY" => "Geben Sie den Sicherheitscode ein",
- "VERIFY" => "Überprüfen Sie den Sicherheitscode"
- ],
-
- "CSRF_MISSING" => "Fehlender CSRF-Token. Versuchen, die Seite zu aktualisieren und erneut zu senden?",
-
- "DB_INVALID" => "Keine Verbindung zur Datenbank möglich. Wenn Sie ein Administrator sind, überprüfen Sie bitte Ihr Fehlerprotokoll.",
- "DESCRIPTION" => "Beschreibung",
- "DOWNLOAD" => [
- "@TRANSLATION" => "Herunterladen",
- "CSV" => "CSV herunterladen"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "E-Mail",
- "YOUR" => "Ihre E-Mail-Adresse"
- ],
-
- "HOME" => "Startseite",
-
- "LEGAL" => [
- "@TRANSLATION" => "Rechtsgrundsatz",
- "DESCRIPTION" => "Unser Rechtsgrundsatz gilt für die Benutzung dieser Internetseite und unserer Dienste."
- ],
-
- "LOCALE" => [
- "@TRANSLATION" => "Sprache"
- ],
-
- "NAME" => "Name",
- "NAVIGATION" => "Navigation",
- "NO_RESULTS" => "Sorry, hier gibt es bisher nichts zu sehen.",
-
- "PAGINATION" => [
- "GOTO" => "Gehe zu Seite",
- "SHOW" => "Anzeigen",
-
- // Paginator
- // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
- // also {page:input} & {startRow:input} will add a modifiable input in place of the value
- "OUTPUT" => "{startRow} bis {endRow} von {filteredRows} ({totalRows})",
-
- "NEXT" => "Nächste Seite",
- "PREVIOUS" => "Vorherige Seite",
- "FIRST" => "Erste Seite",
- "LAST" => "Letzte Seite"
- ],
- "PRIVACY" => [
- "@TRANSLATION" => "Datenschutzbestimmungen",
- "DESCRIPTION" => "In unsere Datenschutzbestimmungen erklären wir Ihnen, welche Daten wir sammeln und wozu wir diese benutzen."
- ],
-
- "SLUG" => "Abkürzung",
- "SLUG_CONDITION" => "Abkürzung/Bedingungen",
- "SLUG_IN_USE" => "Die Abkürzung {{slug}} existiert bereits",
- "STATUS" => "Status",
- "SUGGEST" => "Vorschlagen",
-
- "UNKNOWN" => "Unbekannt",
-
- // Actions words
- "ACTIONS" => "Aktionen",
- "ACTIVATE" => "Aktivieren",
- "ACTIVE" => "Aktiv",
- "ADD" => "Hinzufügen",
- "CANCEL" => "Abbrechen",
- "CONFIRM" => "Bestätigen",
- "CREATE" => "Erstellen",
- "DELETE" => "Löschen",
- "DELETE_CONFIRM" => "Möchten Sie diese wirklich löschen?",
- "DELETE_CONFIRM_YES" => "Ja, löschen",
- "DELETE_CONFIRM_NAMED" => "Möchten Sie {{name}} wirklich löschen?",
- "DELETE_CONFIRM_YES_NAMED" => "Ja, {{name}} löschen",
- "DELETE_CANNOT_UNDONE" => "Diese Aktion kann nicht rückgängig gemacht werden.",
- "DELETE_NAMED" => "{{name}} löschen",
- "DENY" => "Verweigern",
- "DISABLE" => "Deaktivieren",
- "DISABLED" => "Deaktiviert",
- "EDIT" => "Bearbeiten",
- "ENABLE" => "Aktivieren",
- "ENABLED" => "Aktiviert",
- "OVERRIDE" => "Überschreiben",
- "RESET" => "Zurücksetzen",
- "SAVE" => "Speichern",
- "SEARCH" => "Suchen",
- "SORT" => "Sortieren",
- "SUBMIT" => "Einreichen",
- "PRINT" => "Drucken",
- "REMOVE" => "Entfernen",
- "UNACTIVATED" => "Unaktiviert",
- "UPDATE" => "Aktualisieren",
- "YES" => "Ja",
- "NO" => "Nein",
- "OPTIONAL" => "Optional",
-
- // Misc.
- "BUILT_WITH_UF" => "Errichtet mit UserFrosting",
- "ADMINLTE_THEME_BY" => "Theme von Almsaeed Studio. Alle Rechte vorbehalten",
- "WELCOME_TO" => "Willkommen auf {{title}}!"
-];
diff --git a/main/app/sprinkles/core/locale/tlh/validate.php b/main/app/sprinkles/core/locale/tlh/validate.php
deleted file mode 100644
index 6659863..0000000
--- a/main/app/sprinkles/core/locale/tlh/validate.php
+++ /dev/null
@@ -1,32 +0,0 @@
- [
- "ARRAY" => "Die Werte für {{label}} müssen in einem Feld liegen.",
- "BOOLEAN" => "Der Wert für {{label}} muss entweder '0' oder '1' sein.",
- "INTEGER" => "Der Wert für {{label}} muss eine ganze Zahl sein.",
- "INVALID_EMAIL" => "Ungültige E-Mail-Adresse.",
- "LENGTH_RANGE" => "{{label}} muss zwischen {{min}} und {{max}} Zeichen lang sein.",
- "NO_LEAD_WS" => "Der Wert für {{label}} kann nicht mit Leerzeichen, Tabulatoren oder anderen Leerzeichen beginnen.",
- "NO_TRAIL_WS" => "Der Wert für {{label}} kann nicht mit Leerzeichen, Tabulatoren oder anderen Leerzeichen enden.",
- "REQUIRED" => "Bitte geben Sie einen Wert für {{label}} an.",
- "SPRUNJE" => [
- "BAD_FILTER" => "{{name}} ist kein gültiger Filter für dieses Sprunje.",
- "BAD_LIST" => "{{name}} ist kein gültige Liste für dieses Sprunje.",
- "BAD_SORT" => "{{name}} ist kein gültiges Sortierungsfeld für dieses Sprunje."
- ]
- ]
-];
diff --git a/main/app/sprinkles/core/locale/valitron/ar.php b/main/app/sprinkles/core/locale/valitron/ar.php
deleted file mode 100644
index 9278c56..0000000
--- a/main/app/sprinkles/core/locale/valitron/ar.php
+++ /dev/null
@@ -1,28 +0,0 @@
- "مطلوب",
- 'equals' => "يجب أن يكون مساوي لي '%s'",
- 'different' => "يجب ان يكون غير '%s'",
- 'accepted' => "يجب ان يكون نعم",
- 'numeric' => "يجب ان يكون رقم",
- 'integer' => "يجب ان يكون رقم (0-9)",
- 'length' => "يجب ان يكون أطول من %d",
- 'min' => "يجب ان يكون اعلي من %s",
- 'max' => "يجب ان يكون اقل من %s",
- 'in' => "الُمدخل يغير صحيح",
- 'notIn' => "الُمدخل يغير صحيح",
- 'ip' => "رقم الإتصال غير صحيح",
- 'email' => "البريد الألكتروني غير صحيح",
- 'url' => "الرابط غير صحيح",
- 'urlActive' => "يجب أن يكون نطاق فعال",
- 'alpha' => "يجب أن يحتوي فقط علي a-z",
- 'alphaNum' => "يجب ان يحتوي فقط a-z او ارقام 0-9",
- 'slug' => "يجب ان يحتوي فقط علي a-z, و ارقام 0-9, شرطات و خط سفلي",
- 'regex' => "خطا بالصيغة",
- 'date' => "خطا بالتاريخ",
- 'dateFormat' => "يجب ان يكون تاريخ بهذه الصيغة '%s'",
- 'dateBefore' => "التاريخ يجب ان يكون قبل '%s'",
- 'dateAfter' => "التاريخ يجب ان يكون بعد '%s'",
- 'contains' => "يجب ان يحتوي %s"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/de.php b/main/app/sprinkles/core/locale/valitron/de.php
deleted file mode 100644
index 438ed51..0000000
--- a/main/app/sprinkles/core/locale/valitron/de.php
+++ /dev/null
@@ -1,33 +0,0 @@
- "ist erforderlich",
- 'equals' => "muss identisch mit '%s' sein",
- 'different' => "muss sich von '%s' unterscheiden",
- 'accepted' => "muss markiert sein",
- 'numeric' => "muss eine Zahl sein",
- 'integer' => "muss eine ganze Zahl sein",
- 'length' => "kann nicht länger als %d sein",
- 'min' => "muss größer als %s sein",
- 'max' => "muss kleiner als %s sein",
- 'in' => "enthält einen ungültigen Wert",
- 'notIn' => "enthält einen ungültigen Wert",
- 'ip' => "enthält keine gültige IP-Addresse",
- 'email' => "enthält keine gültige E-Mail-Adresse",
- 'url' => "enthält keine gültige URL",
- 'urlActive' => "muss eine aktive Domain sein",
- 'alpha' => "darf nur Buchstaben enthalten",
- 'alphaNum' => "darf nur Buchstaben und Ganzzahlen enthalten",
- 'slug' => "darf nur Buchstaben, Ganzzahlen, Schrägstriche und Grundstriche enthalten",
- 'regex' => "enthält ungültige Zeichen",
- 'date' => "enthält kein gültiges Datum",
- 'dateFormat' => "benötigt ein Datum im Format '%s'",
- 'dateBefore' => "benötigt ein Datum, das vor dem '%s' liegt",
- 'dateAfter' => "benötigt ein Datum, das nach dem '%s' liegt",
- 'contains' => "muss %s beinhalten",
- 'boolean' => "muss ein Wahrheitswert sein",
- 'lengthBetween' => "benötigt zwischen %d und %d Zeichen",
- 'creditCard' => "muss eine gültige Kreditkartennummer sein",
- "lengthMin" => "muss mindestens %d Zeichen enthalten",
- "lengthMax" => "kann nicht mehr als %d Zeichen enthalten"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/el.php b/main/app/sprinkles/core/locale/valitron/el.php
deleted file mode 100644
index 444d2a3..0000000
--- a/main/app/sprinkles/core/locale/valitron/el.php
+++ /dev/null
@@ -1,34 +0,0 @@
- "είναι απαραίτητο",
- 'equals' => "πρέπει να είναι ίδιο με '%s'",
- 'different' => "πρέπει να διαφέρει από '%s'",
- 'accepted' => "πρέπει να έχει αποδεχτεί",
- 'numeric' => "πρέπει να είναι αριθμός",
- 'integer' => "πρέπει να είναι ακέραιος αριθμός (0-9)",
- 'length' => "πρέπει να είναι μεγαλύτερο από %d",
- 'min' => "πρέπει να είναι τουλάχιστον %s",
- 'max' => "δεν πρέπει να είναι περισσότερο από %s",
- 'in' => "περιέχει μη έγκυρη τιμή",
- 'notIn' => "περιέχει μη έγκυρη τιμή",
- 'ip' => "δεν είναι έγκυρη διεύθυνση IP",
- 'email' => "δεν είναι έγκυρη διεύθυνση email",
- 'url' => "δεν είναι URL",
- 'urlActive' => "πρέπει να είναι ενεργό domain",
- 'alpha' => "πρέπει να περιέχει μόνο χαρακτήρες",
- 'alphaNum' => "πρέπει να περιέχει μόνο χαρακτήρες και/ή αριθμούς",
- 'slug' => "πρέπει να περιέχει μόνο χαρακτήρες, αριθμούς, παύλες και κάτω παύλες",
- 'regex' => "περιέχει μη έγκυρους χαρακτήρες",
- 'date' => "δεν είναι έγκυρη ημερομηνία",
- 'dateFormat' => "πρέπει να είναι ημερομηνία της μορφής '%s'",
- 'dateBefore' => "πρέπει να είναι ημερομηνία πριν από '%s'",
- 'dateAfter' => "πρέπει να είναι ημερομηνία μετά από '%s'",
- 'contains' => "πρέπει να περιέχει %s",
- 'boolean' => "πρέπει να είναι boolean",
- 'lengthBetween' => "πρέπει να είναι μεταξύ %d και %d χαρακτήρων",
- 'creditCard' => "πρέπει να είναι ένα έγκυρο νούμερο πιστωτικής κάρτας",
- "lengthMin" => "πρέπει να περιέχει περισσότερους από %d χαρακτήρες",
- "lengthMax" => "πρέπει να περιέχει λιγότερους από %d χαρακτήρες",
- "instanceOf" => "πρέπει να είναι αντικείμενο της '%s'"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/en.php b/main/app/sprinkles/core/locale/valitron/en.php
deleted file mode 100644
index ce7f3f4..0000000
--- a/main/app/sprinkles/core/locale/valitron/en.php
+++ /dev/null
@@ -1,34 +0,0 @@
- "is required",
- 'equals' => "must be the same as '%s'",
- 'different' => "must be different than '%s'",
- 'accepted' => "must be accepted",
- 'numeric' => "must be numeric",
- 'integer' => "must be an integer (0-9)",
- 'length' => "must be longer than %d",
- 'min' => "must be at least %s",
- 'max' => "must be no more than %s",
- 'in' => "contains invalid value",
- 'notIn' => "contains invalid value",
- 'ip' => "is not a valid IP address",
- 'email' => "is not a valid email address",
- 'url' => "not a URL",
- 'urlActive' => "must be an active domain",
- 'alpha' => "must contain only letters a-z",
- 'alphaNum' => "must contain only letters a-z and/or numbers 0-9",
- 'slug' => "must contain only letters a-z, numbers 0-9, dashes and underscores",
- 'regex' => "contains invalid characters",
- 'date' => "is not a valid date",
- 'dateFormat' => "must be date with format '%s'",
- 'dateBefore' => "must be date before '%s'",
- 'dateAfter' => "must be date after '%s'",
- 'contains' => "must contain %s",
- 'boolean' => "must be a boolean",
- 'lengthBetween' => "must be between %d and %d characters",
- 'creditCard' => "must be a valid credit card number",
- "lengthMin" => "must contain greater than %d characters",
- "lengthMax" => "must contain less than %d characters",
- "instanceOf" => "must be an instance of '%s'"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/es.php b/main/app/sprinkles/core/locale/valitron/es.php
deleted file mode 100644
index c1002f2..0000000
--- a/main/app/sprinkles/core/locale/valitron/es.php
+++ /dev/null
@@ -1,34 +0,0 @@
- "es requerido",
- 'equals' => "debe ser igual a '%s'",
- 'different' => "debe ser diferente a '%s'",
- 'accepted' => "debe ser aceptado",
- 'numeric' => "debe ser numérico",
- 'integer' => "debe ser un entero (0-9)",
- 'length' => "debe ser mas largo de %d",
- 'min' => "debe ser mayor a %s",
- 'max' => "debe ser menor a %s",
- 'in' => "contiene un valor invalido",
- 'notIn' => "contiene un valor invalido",
- 'ip' => "no es una dirección IP",
- 'email' => "no es un correo electrónico válido",
- 'url' => "no es una URL",
- 'urlActive' => "debe ser un dominio activo",
- 'alpha' => "debe contener solo letras a-z",
- 'alphaNum' => "debe contener solo letras a-z o números 0-9",
- 'slug' => "debe contener solo letras a-z, números 0-9, diagonales y guiones bajos",
- 'regex' => "contiene caracteres inválidos",
- 'date' => "no es una fecha válida",
- 'dateFormat' => "debe ser una fecha con formato '%s'",
- 'dateBefore' => "debe ser una fecha antes de '%s'",
- 'dateAfter' => "debe ser una fecha después de '%s'",
- 'contains' => "debe contener %s",
- 'boolean' => "debe ser booleano",
- 'lengthBetween' => "debe ser entre %d y %d caracteres",
- 'creditCard' => "debe ser un numero de tarjeta de crédito válido",
- "lengthMin" => "debe contener mas de %d caracteres",
- "lengthMax" => "debe contener menos de %d caracteres",
- "instanceOf" => "debe ser una instancia de '%s'"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/fr.php b/main/app/sprinkles/core/locale/valitron/fr.php
deleted file mode 100644
index 6bd678f..0000000
--- a/main/app/sprinkles/core/locale/valitron/fr.php
+++ /dev/null
@@ -1,34 +0,0 @@
- "est obligatoire",
- 'equals' => "doit être identique à '%s'",
- 'different' => "doit être différent de '%s'",
- 'accepted' => "doit être accepté",
- 'numeric' => "doit être numérique",
- 'integer' => "doit être un entier (0-9)",
- 'length' => "doit être plus long que %d",
- 'min' => "doit être plus grand que %s",
- 'max' => "doit être plus petit que %s",
- 'in' => "contient une valeur non valide",
- 'notIn' => "contient une valeur non valide",
- 'ip' => "n'est pas une adresse IP valide",
- 'email' => "n'est pas une adresse email valide",
- 'url' => "n'est pas une URL",
- 'urlActive' => "doit être un domaine actif",
- 'alpha' => "doit contenir uniquement les lettres a-z",
- 'alphaNum' => "doit contenir uniquement des lettres de a-z et/ou des chiffres 0-9",
- 'slug' => "doit contenir uniquement des lettres de a-z, des chiffres 0-9, des tirets et des traits soulignés",
- 'regex' => "contient des caractères invalides",
- 'date' => "n'est pas une date valide",
- 'dateFormat' => "doit être une date avec le format '%s'",
- 'dateBefore' => "doit être une date avant '%s'",
- 'dateAfter' => "doit être une date après '%s'",
- 'contains' => "doit contenir %s",
- 'boolean' => "doit être un booléen",
- 'lengthBetween' => "doit contenir entre %d et %d caractères",
- 'creditCard' => "doit être un numéro de carte de crédit valide",
- "lengthMin" => "doit contenir plus de %d caractères",
- "lengthMax" => "doit contenir moins de %d caractères",
- "instanceOf" => "doit être une instance de '%s'"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/id.php b/main/app/sprinkles/core/locale/valitron/id.php
deleted file mode 100644
index 8d6dad7..0000000
--- a/main/app/sprinkles/core/locale/valitron/id.php
+++ /dev/null
@@ -1,33 +0,0 @@
- "harus diisi",
- 'equals' => "harus sama dengan '%s'",
- 'different' => "harus berbeda dengan '%s'",
- 'accepted' => "harus diterima (accepted)",
- 'numeric' => "harus berupa nomor/angka",
- 'integer' => "harus berupa nilai integer (0-9)",
- 'length' => "harus lebih panjang dari %d",
- 'min' => "harus lebih besar dari %s",
- 'max' => "harus kurang dari %s",
- 'in' => "berisi nilai/value yang tidak valid",
- 'notIn' => "berisi nilai/value yang tidak valid",
- 'ip' => "format alamat IP tidak benar",
- 'email' => "format alamat email tidak benar",
- 'url' => "bukan format URL yang benar",
- 'urlActive' => "harus berupa domain aktif",
- 'alpha' => "hanya boleh menggunakan huruf a-z",
- 'alphaNum' => "hanya boleh menggunakan huruf a-z dan atau nomor 0-9",
- 'slug' => "hanya boleh menggunakan huruf a-z, nomor 0-9, tanda minus (-), dan uderscore atau strip bawah (_)",
- 'regex' => "berisi karakter yang tidak valid",
- 'date' => "format tanggal tidak valid",
- 'dateFormat' => "harus berupa tanggal dengan format '%s'",
- 'dateBefore' => "tanggal harus sebelum tanggal '%s'",
- 'dateAfter' => "tanggal harus sesudah tanggal '%s'",
- 'contains' => "harus berisi %s",
- 'boolean' => "harus berupa nilai boolean",
- 'lengthBetween' => "harus diantara karakter %d dan %d",
- 'creditCard' => "nomor kartu kredit harus valid",
- "lengthMin" => "minimal berisi %d karakter",
- "lengthMax" => "maksimal berisi %d karakter"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/it.php b/main/app/sprinkles/core/locale/valitron/it.php
deleted file mode 100644
index d157ce8..0000000
--- a/main/app/sprinkles/core/locale/valitron/it.php
+++ /dev/null
@@ -1,31 +0,0 @@
- "è obbligatorio",
- 'equals' => "deve essere uguale a '%s'",
- 'different' => "deve essere differente da '%s'",
- 'accepted' => "deve essere accettato",
- 'numeric' => "deve essere numerico",
- 'integer' => "deve essere un intero (0-9)",
- 'length' => "deve avere una lunghezza di %d",
- 'min' => "deve essere superiore a %s",
- 'max' => "deve essere inferiore a %s",
- 'in' => "contiene un valore non valido",
- 'notIn' => "contiene un valore non valido",
- 'ip' => "non è un indirizzo IP valido",
- 'email' => "non è un indirizzo email valido",
- 'url' => "non è una URL",
- 'urlActive' => "deve essere un dominio attivo",
- 'alpha' => "deve contenere solamente lettere (a-z)",
- 'alphaNum' => "deve contenere solamente lettere (a-z) e/o numeri (0-9)",
- 'slug' => "deve contenere solamente lettere (a-z), numeri (0-9), trattini (-) e trattini bassi (_)",
- 'regex' => "contiene caratteri non validi",
- 'date' => "non è una data valida",
- 'dateFormat' => "deve essere una data nel formato '%s'",
- 'dateBefore' => "deve essere una data precedente al '%s'",
- 'dateAfter' => "deve essere una data successiva al '%s'",
- 'contains' => "deve contenere %s",
- 'boolean' => "deve essere un booleano",
- 'lengthBetween' => "deve essere compreso tra %d e %d caratteri",
- 'creditCard' => "deve essere un numero di carta di credito valido"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/ja.php b/main/app/sprinkles/core/locale/valitron/ja.php
deleted file mode 100644
index 4b178cb..0000000
--- a/main/app/sprinkles/core/locale/valitron/ja.php
+++ /dev/null
@@ -1,33 +0,0 @@
- "を入力してください",
- 'equals' => "は「%s」と同じ内容を入力してください",
- 'different' => "は「%s」と異なる内容を入力してください",
- 'accepted' => "に同意してください",
- 'numeric' => "は数値を入力してください",
- 'integer' => "は半角数字で入力してください",
- 'length' => "は%d文字で入力してください",
- 'min' => "には%sより大きな値を入力してください",
- 'max' => "には%sより小さな値を入力してください",
- 'in' => "には選択できない値が含まれています",
- 'notIn' => "には選択できない値が含まれています",
- 'ip' => "はIPアドレスの書式として正しくありません",
- 'email' => "はメールアドレスの書式として正しくありません",
- 'url' => "はURLの書式として正しくありません",
- 'urlActive' => "はアクティブなドメインではありません",
- 'alpha' => "は半角英字で入力してください",
- 'alphaNum' => "は半角英数字で入力してください",
- 'slug' => "は半角英数字、もしくは「-」「_」の文字で入力してください",
- 'regex' => "の書式が正しくありません",
- 'date' => "は日付の書式として正しくありません",
- 'dateFormat' => "は「%s」の書式で日付を入力してください",
- 'dateBefore' => "は「%s」以前の日付を入力してください",
- 'dateAfter' => "は「%s」以後の日付を入力してください",
- 'contains' => "は「%s」を含んでいなければいけません",
- 'boolean' => "は真偽値である必要があります",
- 'lengthBetween' => "は%d〜%d文字で入力してください",
- 'creditCard' => "はクレジットカード番号の書式として正しくありません",
- "lengthMin" => "は%d文字以上入力してください",
- "lengthMax" => "は%d文字以内で入力してください"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/lv.php b/main/app/sprinkles/core/locale/valitron/lv.php
deleted file mode 100644
index 1ec70e2..0000000
--- a/main/app/sprinkles/core/locale/valitron/lv.php
+++ /dev/null
@@ -1,31 +0,0 @@
- "ir obligāts lauks",
- 'equals' => "jāsakrīt ar '%s'",
- 'different' => "nedrīkst sakrist ar '%s' lauku",
- 'accepted' => "laukam jābūt apstiprinātam",
- 'numeric' => "jābūt skaitliskai vērtībai",
- 'integer' => "jābūt ciparam (0-9)",
- 'length' => "nedrīkst būt garāks par %d simboliem",
- 'min' => "jābūt garākam par %s simboliem",
- 'max' => "jābūt īsākam par %s simboliem",
- 'in' => "lauks satur nederīgu vērtību",
- 'notIn' => "lauks satur nederīgu vērtību",
- 'ip' => " lauks nav derīga IP adrese",
- 'email' => "lauks nav norādīta derīga epasta adrese",
- 'url' => "lauks nav tīmekļa saite",
- 'urlActive' => "saite neatrodas esošajā domēna vārdā",
- 'alpha' => "lauks var saturēt tikai alfabēta burtus a-z",
- 'alphaNum' => "lauks var saturēt tikai alfabēta burtus un/vai ciparus 0-9",
- 'slug' => "lauks var saturēt tikai alfabēta burtus un/vai ciparus 0-9, domuzīmes and zemsvītras",
- 'regex' => "lauks satur nederīgus simbolus",
- 'date' => "lauks ir nederīgā datuma formātā",
- 'dateFormat' => "laukam jābūt datuma formātā '%s'",
- 'dateBefore' => "lauka datumam jābūt pirms '%s'",
- 'dateAfter' => "lauka datumam jābūt pēc '%s'",
- 'contains' => "laukam jāsatur %s",
- 'boolean' => "laukam jābūt ir/nav vērtībai",
- 'lengthBetween' => "lauka garumam jābūt no %d līdz %d simbolu garam",
- 'creditCard' => "laukam jābūt derīgam kredītkartes numuram"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/pt-br.php b/main/app/sprinkles/core/locale/valitron/pt-br.php
deleted file mode 100644
index c248575..0000000
--- a/main/app/sprinkles/core/locale/valitron/pt-br.php
+++ /dev/null
@@ -1,28 +0,0 @@
- "é obrigatório",
- 'equals' => "deve ser o mesmo que '%s'",
- 'different' => "deve ser diferente de '%s'",
- 'accepted' => "deve ser aceito",
- 'numeric' => "deve ser um número",
- 'integer' => "deve ser um inteiro (0-9)",
- 'length' => "deve ter mais que %d caracteres",
- 'min' => "deve ser maior que %s",
- 'max' => "deve ser menor que %s",
- 'in' => "contém um valor inválido",
- 'notIn' => "contém um valor inválido",
- 'ip' => "não é um IP válido",
- 'email' => "não é um email válido",
- 'url' => "não é uma URL válida",
- 'urlActive' => "deve ser um domínio ativo",
- 'alpha' => "deve conter as letras a-z",
- 'alphaNum' => "deve conter apenas letras a-z e/ou números 0-9",
- 'slug' => "deve conter apenas letras a-z, números 0-9, ou os caracteres - ou _",
- 'regex' => "contém caracteres inválidos",
- 'date' => "não é uma data válida",
- 'dateFormat' => "deve ser uma data no formato '%s'",
- 'dateBefore' => "deve ser uma data anterior a '%s'",
- 'dateAfter' => "deve ser uma data posterior a '%s'",
- 'contains' => "deve conter %s"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/ro.php b/main/app/sprinkles/core/locale/valitron/ro.php
deleted file mode 100644
index a5177d0..0000000
--- a/main/app/sprinkles/core/locale/valitron/ro.php
+++ /dev/null
@@ -1,33 +0,0 @@
- "este necesar",
- 'equals' => "trebuie sa fie la fel ca '%s'",
- 'different' => "trebuie sa fie diferit ca '%s'",
- 'accepted' => "trebuie acceptat",
- 'numeric' => "trebuie sa fie numeric",
- 'integer' => "trebuie sa fie o cifra (0-9)",
- 'length' => "trebuie sa fie mai lung de %d",
- 'min' => "trebuie sa fie minim %s",
- 'max' => "nu trebuie sa fie mai mare de %s",
- 'in' => "contine valori invalide",
- 'notIn' => "contine valori invalide",
- 'ip' => "nu este o adresa de IP valida",
- 'email' => "nu este o adresa de email valida",
- 'url' => "nu este un URL",
- 'urlActive' => "trebuie sa fie un domeniu activ",
- 'alpha' => "poate contine doar litere a-z",
- 'alphaNum' => "poate contine doar litere a-z si/sau numere 0-9",
- 'slug' => "poate contine doar litere a-z, numere 0-9, minus si underscore",
- 'regex' => "contine caractere invalide",
- 'date' => "nu este o data valida",
- 'dateFormat' => "trebuie sa fie o data cu formatul '%s'",
- 'dateBefore' => "trebuie sa fie o data inainte de '%s'",
- 'dateAfter' => "trebuie sa fie o data dupa '%s'",
- 'contains' => "trebuie sa contina %s",
- 'boolean' => "trebuie sa fie valoare logica (boolean)",
- 'lengthBetween' => "trebuie sa fie intre %d si %d caractere",
- 'creditCard' => "trebuie sa fie un card de credit valid",
- "lengthMin" => "trebuie sa contina mai mult de %d caractere",
- "lengthMax" => "trebuie sa contina mai putin de %d caractere",
- "instanceOf" => "trebuie sa fie o instanta a '%s'"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/ru.php b/main/app/sprinkles/core/locale/valitron/ru.php
deleted file mode 100644
index 5d20461..0000000
--- a/main/app/sprinkles/core/locale/valitron/ru.php
+++ /dev/null
@@ -1,33 +0,0 @@
- "обязательно для заполнения",
- 'equals' => "должно содержать '%s'",
- 'different' => "должно отличаться от '%s'",
- 'accepted' => "должно быть указано",
- 'numeric' => "должно содержать числовое значение",
- 'integer' => "должно быть числом",
- 'length' => "должно быть длиннее, чем %d",
- 'min' => "должно быть больше, чем %s",
- 'max' => "должно быть меньше, чем %s",
- 'in' => "содержит неверное значение",
- 'notIn' => "содержит неверное значение",
- 'ip' => "не является валидным IP адресом",
- 'email' => "не является валидным email адресом",
- 'url' => "не является ссылкой",
- 'urlActive' => "содержит не активную ссылку",
- 'alpha' => "должно содержать только латинские символы",
- 'alphaNum' => "должно содержать только латинские символы и/или цифры",
- 'slug' => "должно содержать только латинские символы, цифры, тире и подчёркивания",
- 'regex' => "содержит недопустимые символы",
- 'date' => "не является датой",
- 'dateFormat' => "должно содержать дату следующего формата: %s",
- 'dateBefore' => "должно содержать дату не позднее, чем %s",
- 'dateAfter' => "должно содержать дату не ранее, чем %s",
- 'contains' => "должно содержать %s",
- 'boolean' => "должно содержать логическое значение",
- 'lengthBetween' => "должно содержать от %d до %d символов",
- 'creditCard' => "должно быть номером кредитной карты",
- "lengthMin" => "должно содержать более %d символов",
- "lengthMax" => "должно содержать менее %d символов"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/th.php b/main/app/sprinkles/core/locale/valitron/th.php
deleted file mode 100644
index 73d5b11..0000000
--- a/main/app/sprinkles/core/locale/valitron/th.php
+++ /dev/null
@@ -1,34 +0,0 @@
- "ต้องการ",
- 'equals' => "จะต้องเหมือนกับ '%s'",
- 'different' => "จะต้องไม่ใช่ '%s'",
- 'accepted' => "จะต้องยอมรับ",
- 'numeric' => "จะต้องเป็นตัวเลข",
- 'integer' => "จะต้องเป็นตัวเลขหลักเดียว (0-9)",
- 'length' => "จะต้องมีความยาวมากกว่า %d",
- 'min' => "จะต้องมีอย่างน้อย %s",
- 'max' => "จะต้องมีไม่มากไปกว่า %s",
- 'in' => "ประกอบด้วยค่าที่ไม่ถูกต้อง",
- 'notIn' => "ประกอบด้วยค่าที่ไม่ถูกต้อง",
- 'ip' => "ไม่ใช่ที่อยู่ไอพีที่ถูกต้อง",
- 'email' => "ไม่ใช่ที่อยู่อีเมลที่ถูกต้อง",
- 'url' => "ไม่ใช่ลิงก์",
- 'urlActive' => "จะต้องเป็นโดเมนที่มีการใช้งานอยู่",
- 'alpha' => "จะต้องประกอบไปด้วยตัวอักษร a-z เท่านั้น",
- 'alphaNum' => "จะต้องประกอบไปด้วยตัวอักษร a-z และ/หรือ เลข 0-9",
- 'slug' => "จะต้องประกอบไปด้วยตัวอักษร a-z เลข 0-9 ขีดกลาง และขีดล่าง",
- 'regex' => "ประกอบด้วยอักขระที่ไม่ถูกต้อง",
- 'date' => "ไม่ใช่วันที่ที่ถูกต้อง",
- 'dateFormat' => "จะต้องเป็นวันที่ที่มีรูปแบบ '%s'",
- 'dateBefore' => "จะต้องเป็นวันที่ก่อน '%s'",
- 'dateAfter' => "จะต้องเป็นวันที่หลังจาก '%s'",
- 'contains' => "จะต้องประกอบไปด้วย %s",
- 'boolean' => "จะต้องเป็นใช่ หรือ ไม่ใช่",
- 'lengthBetween' => "จะต้องอยู่ระหว่าง %d ถึง %d ตัวอักษร",
- 'creditCard' => "จะต้องเป็นหมายเลขบัตรเครดิตที่ถูกต้อง",
- "lengthMin" => "จะต้องมีความยาวมากกว่า %d ตัวอักษร",
- "lengthMax" => "จะต้องมีความยาวน้อยกว่า %d ตัวอักษร",
- "instanceOf" => "จะต้องเป็นกรณีของ '%s'"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/zh-cn.php b/main/app/sprinkles/core/locale/valitron/zh-cn.php
deleted file mode 100644
index 9f2d0dd..0000000
--- a/main/app/sprinkles/core/locale/valitron/zh-cn.php
+++ /dev/null
@@ -1,28 +0,0 @@
- "不能为空",
- 'equals' => "必须和 '%s' 一致",
- 'different' => "必须和 '%s' 不一致",
- 'accepted' => "必须接受",
- 'numeric' => "只能是数字",
- 'integer' => "只能是整数(0-9)",
- 'length' => "长度必须大于 %d",
- 'min' => "必须大于 %s",
- 'max' => "必须小于 %s",
- 'in' => "无效的值",
- 'notIn' => "无效的值",
- 'ip' => "无效IP地址",
- 'email' => "无效邮箱地址",
- 'url' => "无效的URL",
- 'urlActive' => "必须是可用的域名",
- 'alpha' => "只能包括英文字母(a-z)",
- 'alphaNum' => "只能包括英文字母(a-z)和数字(0-9)",
- 'slug' => "只能包括英文字母(a-z)、数字(0-9)、破折号和下划线",
- 'regex' => "无效格式",
- 'date' => "无效的日期",
- 'dateFormat' => "日期的格式应该为 '%s'",
- 'dateBefore' => "日期必须在 '%s' 之前",
- 'dateAfter' => "日期必须在 '%s' 之后",
- 'contains' => "必须包含 %s"
-);
diff --git a/main/app/sprinkles/core/locale/valitron/zh-tw.php b/main/app/sprinkles/core/locale/valitron/zh-tw.php
deleted file mode 100644
index af098c9..0000000
--- a/main/app/sprinkles/core/locale/valitron/zh-tw.php
+++ /dev/null
@@ -1,28 +0,0 @@
- "不能為空",
- 'equals' => "必須和 '%s' 一致",
- 'different' => "必須和 '%s' 不一致",
- 'accepted' => "必須接受",
- 'numeric' => "只能是數字",
- 'integer' => "只能是整數(0-9)",
- 'length' => "長度必須大於 %d",
- 'min' => "必須大於 %s",
- 'max' => "必須小於 %s",
- 'in' => "無效的值",
- 'notIn' => "無效的值",
- 'ip' => "無效IP地址",
- 'email' => "無效郵箱地址",
- 'url' => "無效的URL",
- 'urlActive' => "必須是可用的域名",
- 'alpha' => "只能包括英文字母(a-z)",
- 'alphaNum' => "只能包括英文字母(a-z)和數字(0-9)",
- 'slug' => "只能包括英文字母(a-z)、數字(0-9)、破折號和下劃線",
- 'regex' => "無效格式",
- 'date' => "無效的日期",
- 'dateFormat' => "日期的格式應該為 '%s'",
- 'dateBefore' => "日期必須在 '%s' 之前",
- 'dateAfter' => "日期必須在 '%s' 之後",
- 'contains' => "必須包含 %s"
-);
diff --git a/main/app/sprinkles/core/locale/zh_CN/errors.php b/main/app/sprinkles/core/locale/zh_CN/errors.php
deleted file mode 100644
index 9192e32..0000000
--- a/main/app/sprinkles/core/locale/zh_CN/errors.php
+++ /dev/null
@@ -1,49 +0,0 @@
- [
- "@TRANSLATION" => "错误",
-
- "400" => [
- "TITLE" => "错误 400: 无效请求",
- "DESCRIPTION" => "这好像不是你的错.",
- ],
-
- "404" => [
- "TITLE" => "错误 404: 页面丢失",
- "DESCRIPTION" => "我们无法找到你想要的东西.",
- "DETAIL" => "我们正努力寻找网页...",
- "EXPLAIN" => "我们无法找到你想要的网页.",
- "RETURN" => '不管怎样, 点击 这里 返回前一页.'
- ],
-
- "CONFIG" => [
- "TITLE" => "UserFrosting 配置问题!",
- "DESCRIPTION" => "一些 UserFrosting 配置要求没有达到.",
- "DETAIL" => "这里有些东西不正确.",
- "RETURN" => '请更正如下问题, 然后 重新加载.'
- ],
-
- "DESCRIPTION" => "我们发现一股强力干扰.",
- "DETAIL" => "下面是我们得到的信息:",
-
- "ENCOUNTERED" => "嗯...发生了一些情况. 然而我们并不知道这是什么.",
-
- "RETURN" => '点击返回上一页.',
-
- "SERVER" => "哦, 看起来我们的服务器出错了. 如果你是管理员, 请检查PHP及UF的logs.",
-
- "TITLE" => "强力干扰"
- ]
-];
diff --git a/main/app/sprinkles/core/locale/zh_CN/messages.php b/main/app/sprinkles/core/locale/zh_CN/messages.php
deleted file mode 100644
index 409ede0..0000000
--- a/main/app/sprinkles/core/locale/zh_CN/messages.php
+++ /dev/null
@@ -1,105 +0,0 @@
- 0,
-
- "ABOUT" => "关于",
-
- "CAPTCHA" => [
- "@TRANSLATION" => "验证码",
- "FAIL" => "Y验证码输入错误.",
- "SPECIFY" => "输入验证码",
- "VERIFY" => "验证"
- ],
-
- "CSRF_MISSING" => " CSRF 标记丢失. 请尝试重新加载页面?",
-
- "DB_INVALID" => "无法连接到数据库. 如果你是管理员, 请检查错误日志文件.",
- "DESCRIPTION" => "描述",
- "DOWNLOAD" => [
- "@TRANSLATION" => "下载",
- "CSV" => "下载 CSV 文件"
- ],
-
- "EMAIL" => [
- "@TRANSLATION" => "邮件",
- "YOUR" => "你的邮件地址"
- ],
-
- "HOME" => "首页",
-
- "LEGAL" => "法律政策",
-
- "LOCALE" => [
- "@TRANSLATION" => "本地"
- ],
-
- "MAIL_ERROR" => "尝试发送邮件发送致命错误, 联系网站管理员. 如果你是管理员,请检查UF邮件错误日志.",
-
- "NAME" => "名字",
- "NAVIGATION" => "导航",
-
- "PAGINATION" => [
- "GOTO" => "跳到页",
- "SHOW" => "显示"
- ],
- "PRIVACY" => "隐私政策",
-
- "SLUG" => "Slug",
- "SLUG_CONDITION" => "Slug/Conditions",
- "SLUG_IN_USE" => "A {{slug}} slug already exists",
- "STATUS" => "状态",
- "SUGGEST" => "建议",
-
- "UNKNOWN" => "未知",
-
- // Actions words
- "ACTIONS" => "动作",
- "ACTIVATE" => "激活",
- "ACTIVE" => "Active",
- "ADD" => "添加",
- "CANCEL" => "取消",
- "CONFIRM" => "确认",
- "CREATE" => "创建",
- "DELETE" => "删除",
- "DELETE_CONFIRM" => "你确定要删除这个?",
- "DELETE_CONFIRM_YES" => "是的, 删除",
- "DELETE_CONFIRM_NAMED" => "你确定要删除 {{name}}?",
- "DELETE_CONFIRM_YES_NAMED" => "是的, 删除 {{name}}",
- "DELETE_CANNOT_UNDONE" => "这个动作无法撤销.",
- "DELETE_NAMED" => "删除 {{name}}",
- "DENY" => "拒绝",
- "DISABLE" => "禁用",
- "DISABLED" => "禁用",
- "EDIT" => "编辑",
- "ENABLE" => "启用",
- "ENABLED" => "启用",
- "OVERRIDE" => "覆盖",
- "RESET" => "重置",
- "SAVE" => "保存",
- "SEARCH" => "搜寻",
- "SORT" => "排序",
- "SUBMIT" => "提交",
- "PRINT" => "打印",
- "REMOVE" => "删除",
- "UNACTIVATED" => "未激活",
- "UPDATE" => "更新",
- "YES" => "是",
- "NO" => "不是",
- "OPTIONAL" => "可选择的",
-
- // Misc.
- "BUILT_WITH_UF" => "使用 UserFrosting",
- "ADMINLTE_THEME_BY" => "主题作者 Almsaeed Studio.保留所有权"
-];
diff --git a/main/app/sprinkles/core/locale/zh_CN/validate.php b/main/app/sprinkles/core/locale/zh_CN/validate.php
deleted file mode 100644
index d19910b..0000000
--- a/main/app/sprinkles/core/locale/zh_CN/validate.php
+++ /dev/null
@@ -1,29 +0,0 @@
- [
- "ARRAY" => " {{label}} 的值必须在一个数组中.",
- "BOOLEAN" => " {{label}} 的值必须是 '0' 或 '1'.",
- "INTEGER" => " {{label}} 必须是整数.",
- "INVALID_EMAIL" => "无效的邮箱地址.",
- "LENGTH_RANGE" => "{{label}} 的长度必须在 {{min}} - {{max}} 之间.",
- "NO_LEAD_WS" => "{{label}} 的值不能以空格、TAB或其他空白开始.",
- "NO_TRAIL_WS" => " {{label}} 的值不能以空格、TAB或其他空白结束.",
- "REQUIRED" => "请为 {{label}} 确定一个值.",
- "SPRUNJE" => [
- "BAD_FILTER" => "{{name}} 不是一个有效的 Sprunje 过滤器.",
- "BAD_SORT" => "{{name}} 不是一个有效的 Sprunje 排序."
- ]
- ]
-];
diff --git a/main/app/sprinkles/core/routes/routes.php b/main/app/sprinkles/core/routes/routes.php
deleted file mode 100644
index 1d0307c..0000000
--- a/main/app/sprinkles/core/routes/routes.php
+++ /dev/null
@@ -1,27 +0,0 @@
-getContainer()->get('config');
-
-$app->get('/', 'UserFrosting\Sprinkle\Core\Controller\CoreController:pageIndex')
- ->add('checkEnvironment')
- ->add('authGuard')
- ->setName('index');
-
-$app->get('/test', 'UserFrosting\Sprinkle\Core\Controller\CoreController:pageTest');
-
-$app->get('/about', 'UserFrosting\Sprinkle\Core\Controller\CoreController:pageAbout')->add('checkEnvironment');
-
-$app->get('/alerts', 'UserFrosting\Sprinkle\Core\Controller\CoreController:jsonAlerts');
-
-$app->get('/legal', 'UserFrosting\Sprinkle\Core\Controller\CoreController:pageLegal');
-
-$app->get('/privacy', 'UserFrosting\Sprinkle\Core\Controller\CoreController:pagePrivacy');
-
-$app->get('/' . $config['assets.raw.path'] . '/{url:.+}', 'UserFrosting\Sprinkle\Core\Controller\CoreController:getAsset');
diff --git a/main/app/sprinkles/core/schema/.gitkeep b/main/app/sprinkles/core/schema/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/main/app/sprinkles/core/src/Alert/AlertStream.php b/main/app/sprinkles/core/src/Alert/AlertStream.php
deleted file mode 100644
index 2db441f..0000000
--- a/main/app/sprinkles/core/src/Alert/AlertStream.php
+++ /dev/null
@@ -1,138 +0,0 @@
-messagesKey = $messagesKey;
-
- $this->setTranslator($translator);
- }
-
- /**
- * Set the translator to be used for all message streams. Must be done before `addMessageTranslated` can be used.
- *
- * @param UserFrosting\I18n\MessageTranslator $translator A MessageTranslator to be used to translate messages when added via `addMessageTranslated`.
- */
- public function setTranslator($translator) {
- $this->messageTranslator = $translator;
- return $this;
- }
-
- /**
- * Adds a raw text message to the cache message stream.
- *
- * @param string $type The type of message, indicating how it will be styled when outputted. Should be set to "success", "danger", "warning", or "info".
- * @param string $message The message to be added to the message stream.
- * @return MessageStream this MessageStream object.
- */
- public function addMessage($type, $message) {
- $messages = $this->messages();
- $messages[] = array(
- "type" => $type,
- "message" => $message
- );
- $this->saveMessages($messages);
- return $this;
- }
-
- /**
- * Adds a text message to the cache message stream, translated into the currently selected language.
- *
- * @param string $type The type of message, indicating how it will be styled when outputted. Should be set to "success", "danger", "warning", or "info".
- * @param string $messageId The message id for the message to be added to the message stream.
- * @param array[string] $placeholders An optional hash of placeholder names => placeholder values to substitute into the translated message.
- * @return MessageStream this MessageStream object.
- */
- public function addMessageTranslated($type, $messageId, $placeholders = array()) {
- if (!$this->messageTranslator) {
- throw new \RuntimeException("No translator has been set! Please call MessageStream::setTranslator first.");
- }
-
- $message = $this->messageTranslator->translate($messageId, $placeholders);
- return $this->addMessage($type, $message);
- }
-
- /**
- * Get the messages and then clear the message stream.
- * This function does the same thing as `messages()`, except that it also clears all messages afterwards.
- * This is useful, because typically we don't want to view the same messages more than once.
- *
- * @return array An array of messages, each of which is itself an array containing "type" and "message" fields.
- */
- public function getAndClearMessages() {
- $messages = $this->messages();
- $this->resetMessageStream();
- return $messages;
- }
-
- /**
- * Add error messages from a ServerSideValidator object to the message stream.
- *
- * @param ServerSideValidator $validator
- */
- public function addValidationErrors(ServerSideValidator $validator) {
- foreach ($validator->errors() as $idx => $field) {
- foreach ($field as $eidx => $error) {
- $this->addMessage("danger", $error);
- }
- }
- }
-
- /**
- * Return the translator for this message stream.
- *
- * @return MessageTranslator The translator for this message stream.
- */
- public function translator() {
- return $this->messageTranslator;
- }
-
- /**
- * Get the messages from this message stream.
- *
- * @return array An array of messages, each of which is itself an array containing "type" and "message" fields.
- */
- abstract public function messages();
-
- /**
- * Clear all messages from this message stream.
- */
- abstract public function resetMessageStream();
-
- /**
- * Save messages to the stream
- */
- abstract protected function saveMessages($message);
-}
diff --git a/main/app/sprinkles/core/src/Alert/CacheAlertStream.php b/main/app/sprinkles/core/src/Alert/CacheAlertStream.php
deleted file mode 100644
index 8d31462..0000000
--- a/main/app/sprinkles/core/src/Alert/CacheAlertStream.php
+++ /dev/null
@@ -1,81 +0,0 @@
-cache = $cache;
- $this->config = $config;
- parent::__construct($messagesKey, $translator);
- }
-
- /**
- * Get the messages from this message stream.
- *
- * @return array An array of messages, each of which is itself an array containing 'type' and 'message' fields.
- */
- public function messages() {
- if ($this->cache->tags('_s' . session_id())->has($this->messagesKey)) {
- return $this->cache->tags('_s' . session_id())->get($this->messagesKey) ?: [];
- } else {
- return [];
- }
- }
-
- /**
- * Clear all messages from this message stream.
- *
- * @return void
- */
- public function resetMessageStream() {
- $this->cache->tags('_s' . session_id())->forget($this->messagesKey);
- }
-
- /**
- * Save messages to the stream
- *
- * @param string $messages The message
- * @return void
- */
- protected function saveMessages($messages) {
- $this->cache->tags('_s' . session_id())->forever($this->messagesKey, $messages);
- }
-}
diff --git a/main/app/sprinkles/core/src/Alert/SessionAlertStream.php b/main/app/sprinkles/core/src/Alert/SessionAlertStream.php
deleted file mode 100644
index 47a7ff7..0000000
--- a/main/app/sprinkles/core/src/Alert/SessionAlertStream.php
+++ /dev/null
@@ -1,67 +0,0 @@
-session = $session;
- parent::__construct($messagesKey, $translator);
- }
-
- /**
- * Get the messages from this message stream.
- *
- * @return array An array of messages, each of which is itself an array containing "type" and "message" fields.
- */
- public function messages() {
- return $this->session[$this->messagesKey] ?: [];
- }
-
- /**
- * Clear all messages from this message stream.
- *
- * @return void
- */
- public function resetMessageStream() {
- $this->session[$this->messagesKey] = [];
- }
-
- /**
- * Save messages to the stream
- *
- * @param string $messages The message
- * @return void
- */
- protected function saveMessages($messages) {
- $this->session[$this->messagesKey] = $messages;
- }
-}
diff --git a/main/app/sprinkles/core/src/Controller/CoreController.php b/main/app/sprinkles/core/src/Controller/CoreController.php
deleted file mode 100644
index 1076a94..0000000
--- a/main/app/sprinkles/core/src/Controller/CoreController.php
+++ /dev/null
@@ -1,172 +0,0 @@
-ci->authorizer;
- $currentUser = $this->ci->currentUser;
- if (!$authorizer->checkAccess($currentUser, 'update_site_config')) {
- //throw new ForbiddenException();
- }
-
- return $this->ci->view->render($response, 'pages/index.html.twig');
- }
-
-
- public function pageTest($request, $response, $args) {
- return $this->ci->view->render($response, 'pages/test.html.twig');
- }
-
- /**
- * Renders a sample "about" page for UserFrosting.
- *
- * Request type: GET
- */
- public function pageAbout($request, $response, $args) {
- return $this->ci->view->render($response, 'pages/about.html.twig');
- }
-
- /**
- * Renders terms of service page.
- *
- * Request type: GET
- */
- public function pageLegal($request, $response, $args) {
- return $this->ci->view->render($response, 'pages/legal.html.twig');
- }
-
- /**
- * Renders privacy page.
- *
- * Request type: GET
- */
- public function pagePrivacy($request, $response, $args) {
- return $this->ci->view->render($response, 'pages/privacy.html.twig');
- }
-
- /**
- * Render the alert stream as a JSON object.
- *
- * The alert stream contains messages which have been generated by calls to `MessageStream::addMessage` and `MessageStream::addMessageTranslated`.
- * Request type: GET
- */
- public function jsonAlerts($request, $response, $args) {
- return $response->withJson($this->ci->alerts->getAndClearMessages());
- }
-
- /**
- * Handle all requests for raw assets.
- * Request type: GET
- */
- public function getAsset($request, $response, $args) {
- // By starting this service, we ensure that the timezone gets set.
- $config = $this->ci->config;
-
- $assetLoader = $this->ci->assetLoader;
-
- if (!$assetLoader->loadAsset($args['url'])) {
- throw new NotFoundException($request, $response);
- }
-
- $content = $assetLoader->getContent();
-
- switch ($assetLoader->getType()) {
- case "text/css":
- if (trim($content) === "") return $content;
- $content = preg_replace(
- array(
- // Remove comment(s)
- '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
- // Remove unused white-space(s)
- '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~+]|\s*+-(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
- // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
- '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
- // Replace `:0 0 0 0` with `:0`
- '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
- // Replace `background-position:0` with `background-position:0 0`
- '#(background-position):0(?=[;\}])#si',
- // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
- '#(?<=[\s:,\-])0+\.(\d+)#s',
- // Minify string value
- '#(\/\*(?>.*?\*\/))|(?.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
- // Minify HEX color code
- '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
- // Replace `(border|outline):none` with `(border|outline):0`
- '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
- // Remove empty selector(s)
- '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
- ),
- array(
- '$1',
- '$1$2$3$4$5$6$7',
- '$1',
- ':0',
- '$1:0 0',
- '.$1',
- '$1$3',
- '$1$2$4$5',
- '$1$2$3',
- '$1:0',
- '$1$2'
- ),
- $content);
- break;
- case "text/javascript":
- if(trim($content) === "") return $content;
- $content = preg_replace(
- array(
- // Remove comment(s)
- '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
- // Remove the last semicolon
- '#;+\}#',
- // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
- '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
- // --ibid. From `foo['bar']` to `foo.bar`
- '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
- ),
- array(
- '$1',
- '$1$2',
- '}',
- '$1$3',
- '$1.$3'
- ),
- $content);
- }
-
- return $response
- ->withHeader('Content-Type', $assetLoader->getType())
- ->withHeader('Content-Length', $assetLoader->getLength())
- ->write($content);
- }
-}
diff --git a/main/app/sprinkles/core/src/Controller/SimpleController.php b/main/app/sprinkles/core/src/Controller/SimpleController.php
deleted file mode 100644
index 1e5c45a..0000000
--- a/main/app/sprinkles/core/src/Controller/SimpleController.php
+++ /dev/null
@@ -1,36 +0,0 @@
-ci = $ci;
- }
-}
diff --git a/main/app/sprinkles/core/src/Core.php b/main/app/sprinkles/core/src/Core.php
deleted file mode 100644
index 6bf1e36..0000000
--- a/main/app/sprinkles/core/src/Core.php
+++ /dev/null
@@ -1,118 +0,0 @@
- ['onSprinklesInitialized', 0],
- 'onSprinklesRegisterServices' => ['onSprinklesRegisterServices', 0],
- 'onAddGlobalMiddleware' => ['onAddGlobalMiddleware', 0]
- ];
- }
-
- /**
- * Set static references to DI container in necessary classes.
- */
- public function onSprinklesInitialized() {
- // Set container for data model
- Model::$ci = $this->ci;
-
- // Set container for environment info class
- EnvironmentInfo::$ci = $this->ci;
- }
-
- /**
- * Get shutdownHandler set up. This needs to be constructed explicitly because it's invoked natively by PHP.
- */
- public function onSprinklesRegisterServices() {
- // Set up any global PHP settings from the config service.
- $config = $this->ci->config;
-
- // Display PHP fatal errors natively.
- if (isset($config['php.display_errors_native'])) {
- ini_set('display_errors', $config['php.display_errors_native']);
- }
-
- // Log PHP fatal errors
- if (isset($config['php.log_errors'])) {
- ini_set('log_errors', $config['php.log_errors']);
- }
-
- // Configure error-reporting level
- if (isset($config['php.error_reporting'])) {
- error_reporting($config['php.error_reporting']);
- }
-
- // Configure time zone
- if (isset($config['php.timezone'])) {
- date_default_timezone_set($config['php.timezone']);
- }
-
- // Determine if error display is enabled in the shutdown handler.
- $displayErrors = FALSE;
- if (in_array(strtolower($config['php.display_errors']), [
- '1',
- 'on',
- 'true',
- 'yes'
- ])) {
- $displayErrors = TRUE;
- }
-
- $sh = new ShutdownHandler($this->ci, $displayErrors);
- $sh->register();
- }
-
- /**
- * Add CSRF middleware.
- */
- public function onAddGlobalMiddleware(Event $event) {
- $request = $this->ci->request;
- $path = $request->getUri()->getPath();
- $method = $request->getMethod();
-
- // Normalize path to always have a leading slash
- $path = '/' . ltrim($path, '/');
- // Normalize method to uppercase
- $method = strtoupper($method);
-
- $csrfBlacklist = $this->ci->config['csrf.blacklist'];
- $isBlacklisted = FALSE;
-
- // Go through the blacklist and determine if the path and method match any of the blacklist entries.
- foreach ($csrfBlacklist as $pattern => $methods) {
- $methods = array_map('strtoupper', (array)$methods);
- if (in_array($method, $methods) && $pattern != '' && preg_match('~' . $pattern . '~', $path)) {
- $isBlacklisted = TRUE;
- break;
- }
- }
-
- if (!$path || !$isBlacklisted) {
- $app = $event->getApp();
- $app->add($this->ci->csrf);
- }
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/Builder.php b/main/app/sprinkles/core/src/Database/Builder.php
deleted file mode 100644
index 1ed26ff..0000000
--- a/main/app/sprinkles/core/src/Database/Builder.php
+++ /dev/null
@@ -1,200 +0,0 @@
-where($field, 'LIKE', "$value%");
- }
-
- /**
- * Perform an "ends with" pattern match on a specified column in a query.
- *
- * @param $query
- * @param $field string The column to match
- * @param $value string The value to match
- */
- public function endsWith($field, $value) {
- return $this->where($field, 'LIKE', "%$value");
- }
-
- /**
- * Add columns to be excluded from the query.
- *
- * @param $value array|string The column(s) to exclude
- * @return $this
- */
- public function exclude($column) {
- $column = is_array($column) ? $column : func_get_args();
-
- $this->excludedColumns = array_merge((array)$this->excludedColumns, $column);
-
- return $this;
- }
-
- /**
- * Perform a pattern match on a specified column in a query.
- * @param $query
- * @param $field string The column to match
- * @param $value string The value to match
- */
- public function like($field, $value) {
- return $this->where($field, 'LIKE', "%$value%");
- }
-
- /**
- * Perform a pattern match on a specified column in a query.
- * @param $query
- * @param $field string The column to match
- * @param $value string The value to match
- */
- public function orLike($field, $value) {
- return $this->orWhere($field, 'LIKE', "%$value%");
- }
-
- /**
- * Execute the query as a "select" statement.
- *
- * @param array $columns
- * @return \Illuminate\Support\Collection
- */
- public function get($columns = ['*']) {
- $original = $this->columns;
-
- if (is_null($original)) {
- $this->columns = $columns;
- }
-
- // Exclude any explicitly excluded columns
- if (!is_null($this->excludedColumns)) {
- $this->removeExcludedSelectColumns();
- }
-
- $results = $this->processor->processSelect($this, $this->runSelect());
-
- $this->columns = $original;
-
- return collect($results);
- }
-
- /**
- * Remove excluded columns from the select column list.
- */
- protected function removeExcludedSelectColumns() {
- // Convert current column list and excluded column list to fully-qualified list
- $this->columns = $this->convertColumnsToFullyQualified($this->columns);
- $excludedColumns = $this->convertColumnsToFullyQualified($this->excludedColumns);
-
- // Remove any explicitly referenced excludable columns
- $this->columns = array_diff($this->columns, $excludedColumns);
-
- // Replace any remaining wildcard columns (*, table.*, etc) with a list
- // of fully-qualified column names
- $this->columns = $this->replaceWildcardColumns($this->columns);
-
- $this->columns = array_diff($this->columns, $excludedColumns);
- }
-
- /**
- * Find any wildcard columns ('*'), remove it from the column list and replace with an explicit list of columns.
- *
- * @param array $columns
- * @return array
- */
- protected function replaceWildcardColumns(array $columns) {
- $wildcardTables = $this->findWildcardTables($columns);
-
- foreach ($wildcardTables as $wildColumn => $table) {
- $schemaColumns = $this->getQualifiedColumnNames($table);
-
- // Remove the `*` or `.*` column and replace with the individual schema columns
- $columns = array_diff($columns, [$wildColumn]);
- $columns = array_merge($columns, $schemaColumns);
- }
-
- return $columns;
- }
-
- /**
- * Return a list of wildcard columns from the list of columns, mapping columns to their corresponding tables.
- *
- * @param array $columns
- * @return array
- */
- protected function findWildcardTables(array $columns) {
- $tables = [];
-
- foreach ($columns as $column) {
- if ($column == '*') {
- $tables[$column] = $this->from;
- continue;
- }
-
- if (substr($column, -1) == '*') {
- $tableName = explode('.', $column)[0];
- if ($tableName) {
- $tables[$column] = $tableName;
- }
- }
- }
-
- return $tables;
- }
-
- /**
- * Gets the fully qualified column names for a specified table.
- *
- * @param string $table
- * @return array
- */
- protected function getQualifiedColumnNames($table = NULL) {
- $schema = $this->getConnection()->getSchemaBuilder();
-
- return $this->convertColumnsToFullyQualified($schema->getColumnListing($table), $table);
- }
-
- /**
- * Fully qualify any unqualified columns in a list with this builder's table name.
- *
- * @param array $columns
- * @return array
- */
- protected function convertColumnsToFullyQualified($columns, $table = NULL) {
- if (is_null($table)) {
- $table = $this->from;
- }
-
- array_walk($columns, function (&$item, $key) use ($table) {
- if (strpos($item, '.') === FALSE) {
- $item = "$table.$item";
- }
- });
-
- return $columns;
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/DatabaseInvalidException.php b/main/app/sprinkles/core/src/Database/DatabaseInvalidException.php
deleted file mode 100644
index ec30aa6..0000000
--- a/main/app/sprinkles/core/src/Database/DatabaseInvalidException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-schema->hasTable('sessions')) {
- $this->schema->create('sessions', function (Blueprint $table) {
- $table->string('id')->unique();
- $table->integer('user_id')->nullable();
- $table->string('ip_address', 45)->nullable();
- $table->text('user_agent')->nullable();
- $table->text('payload');
- $table->integer('last_activity');
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('sessions');
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/Migrations/v400/ThrottlesTable.php b/main/app/sprinkles/core/src/Database/Migrations/v400/ThrottlesTable.php
deleted file mode 100644
index 676b44e..0000000
--- a/main/app/sprinkles/core/src/Database/Migrations/v400/ThrottlesTable.php
+++ /dev/null
@@ -1,51 +0,0 @@
-schema->hasTable('throttles')) {
- $this->schema->create('throttles', function (Blueprint $table) {
- $table->increments('id');
- $table->string('type');
- $table->string('ip')->nullable();
- $table->text('request_data')->nullable();
- $table->timestamps();
-
- $table->engine = 'InnoDB';
- $table->collation = 'utf8_unicode_ci';
- $table->charset = 'utf8';
- $table->index('type');
- $table->index('ip');
- });
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public function down() {
- $this->schema->drop('throttles');
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/Models/Concerns/HasRelationships.php b/main/app/sprinkles/core/src/Database/Models/Concerns/HasRelationships.php
deleted file mode 100644
index ccccf32..0000000
--- a/main/app/sprinkles/core/src/Database/Models/Concerns/HasRelationships.php
+++ /dev/null
@@ -1,272 +0,0 @@
-newRelatedInstance($related);
-
- $foreignKey = $foreignKey ?: $this->getForeignKey();
-
- $localKey = $localKey ?: $this->getKeyName();
-
- return new HasManySyncable(
- $instance->newQuery(), $this, $instance->getTable() . '.' . $foreignKey, $localKey
- );
- }
-
- /**
- * Overrides the default Eloquent morphMany relationship to return a MorphManySyncable.
- *
- * {@inheritDoc}
- * @return \UserFrosting\Sprinkle\Core\Database\Relations\MorphManySyncable
- */
- public function morphMany($related, $name, $type = NULL, $id = NULL, $localKey = NULL) {
- $instance = $this->newRelatedInstance($related);
-
- // Here we will gather up the morph type and ID for the relationship so that we
- // can properly query the intermediate table of a relation. Finally, we will
- // get the table and create the relationship instances for the developers.
- list($type, $id) = $this->getMorphs($name, $type, $id);
- $table = $instance->getTable();
- $localKey = $localKey ?: $this->getKeyName();
-
- return new MorphManySyncable($instance->newQuery(), $this, $table . '.' . $type, $table . '.' . $id, $localKey);
- }
-
- /**
- * Define a many-to-many 'through' relationship.
- * This is basically hasManyThrough for many-to-many relationships.
- *
- * @param string $related
- * @param string $through
- * @param string $firstJoiningTable
- * @param string $firstForeignKey
- * @param string $firstRelatedKey
- * @param string $secondJoiningTable
- * @param string $secondForeignKey
- * @param string $secondRelatedKey
- * @param string $throughRelation
- * @param string $relation
- * @return \UserFrosting\Sprinkle\Core\Database\Relations\BelongsToManyThrough
- */
- public function belongsToManyThrough(
- $related,
- $through,
- $firstJoiningTable = NULL,
- $firstForeignKey = NULL,
- $firstRelatedKey = NULL,
- $secondJoiningTable = NULL,
- $secondForeignKey = NULL,
- $secondRelatedKey = NULL,
- $throughRelation = NULL,
- $relation = NULL
- ) {
- // If no relationship name was passed, we will pull backtraces to get the
- // name of the calling function. We will use that function name as the
- // title of this relation since that is a great convention to apply.
- if (is_null($relation)) {
- $relation = $this->guessBelongsToManyRelation();
- }
-
- // Create models for through and related
- $through = new $through;
- $related = $this->newRelatedInstance($related);
-
- if (is_null($throughRelation)) {
- $throughRelation = $through->getTable();
- }
-
- // If no table names were provided, we can guess it by concatenating the parent
- // and through table names. The two model names are transformed to snake case
- // from their default CamelCase also.
- if (is_null($firstJoiningTable)) {
- $firstJoiningTable = $this->joiningTable($through);
- }
-
- if (is_null($secondJoiningTable)) {
- $secondJoiningTable = $through->joiningTable($related);
- }
-
- $firstForeignKey = $firstForeignKey ?: $this->getForeignKey();
- $firstRelatedKey = $firstRelatedKey ?: $through->getForeignKey();
- $secondForeignKey = $secondForeignKey ?: $through->getForeignKey();
- $secondRelatedKey = $secondRelatedKey ?: $related->getForeignKey();
-
- // This relationship maps the top model (this) to the through model.
- $intermediateRelationship = $this->belongsToMany($through, $firstJoiningTable, $firstForeignKey, $firstRelatedKey, $throughRelation)
- ->withPivot($firstForeignKey);
-
- // Now we set up the relationship with the related model.
- $query = new BelongsToManyThrough(
- $related->newQuery(), $this, $intermediateRelationship, $secondJoiningTable, $secondForeignKey, $secondRelatedKey, $relation
- );
-
- return $query;
- }
-
- /**
- * Define a unique many-to-many relationship. Similar to a regular many-to-many relationship, but removes duplicate child objects.
- * Can also be used to implement ternary relationships.
- *
- * {@inheritDoc}
- * @return \UserFrosting\Sprinkle\Core\Database\Relations\BelongsToManyUnique
- */
- public function belongsToManyUnique($related, $table = NULL, $foreignKey = NULL, $relatedKey = NULL, $relation = NULL) {
- // If no relationship name was passed, we will pull backtraces to get the
- // name of the calling function. We will use that function name as the
- // title of this relation since that is a great convention to apply.
- if (is_null($relation)) {
- $relation = $this->guessBelongsToManyRelation();
- }
-
- // First, we'll need to determine the foreign key and "other key" for the
- // relationship. Once we have determined the keys we'll make the query
- // instances as well as the relationship instances we need for this.
- $instance = $this->newRelatedInstance($related);
-
- $foreignKey = $foreignKey ?: $this->getForeignKey();
-
- $relatedKey = $relatedKey ?: $instance->getForeignKey();
-
- // If no table name was provided, we can guess it by concatenating the two
- // models using underscores in alphabetical order. The two model names
- // are transformed to snake case from their default CamelCase also.
- if (is_null($table)) {
- $table = $this->joiningTable($related);
- }
-
- return new BelongsToManyUnique(
- $instance->newQuery(), $this, $table, $foreignKey, $relatedKey, $relation
- );
- }
-
- /**
- * Define a unique morphs-to-many relationship. Similar to a regular morphs-to-many relationship, but removes duplicate child objects.
- *
- * {@inheritDoc}
- * @return \UserFrosting\Sprinkle\Core\Database\Relations\MorphToManyUnique
- */
- public function morphToManyUnique($related, $name, $table = NULL, $foreignKey = NULL, $otherKey = NULL, $inverse = FALSE) {
- $caller = $this->getBelongsToManyCaller();
-
- // First, we will need to determine the foreign key and "other key" for the
- // relationship. Once we have determined the keys we will make the query
- // instances, as well as the relationship instances we need for these.
- $foreignKey = $foreignKey ?: $name . '_id';
-
- $instance = new $related;
-
- $otherKey = $otherKey ?: $instance->getForeignKey();
-
- // Now we're ready to create a new query builder for this related model and
- // the relationship instances for this relation. This relations will set
- // appropriate query constraints then entirely manages the hydrations.
- $query = $instance->newQuery();
-
- $table = $table ?: Str::plural($name);
-
- return new MorphToManyUnique(
- $query, $this, $name, $table, $foreignKey,
- $otherKey, $caller, $inverse
- );
- }
-
- /**
- * Define a constrained many-to-many relationship.
- * This is similar to a regular many-to-many, but constrains the child results to match an additional constraint key in the parent object.
- * This has been superseded by the belongsToManyUnique relationship's `withTernary` method since 4.1.7.
- *
- * @deprecated since 4.1.6
- * @param string $related
- * @param string $constraintKey
- * @param string $table
- * @param string $foreignKey
- * @param string $relatedKey
- * @param string $relation
- * @return \UserFrosting\Sprinkle\Core\Database\Relations\BelongsToManyConstrained
- */
- public function belongsToManyConstrained($related, $constraintKey, $table = NULL, $foreignKey = NULL, $relatedKey = NULL, $relation = NULL) {
- // If no relationship name was passed, we will pull backtraces to get the
- // name of the calling function. We will use that function name as the
- // title of this relation since that is a great convention to apply.
- if (is_null($relation)) {
- $relation = $this->guessBelongsToManyRelation();
- }
-
- // First, we'll need to determine the foreign key and "other key" for the
- // relationship. Once we have determined the keys we'll make the query
- // instances as well as the relationship instances we need for this.
- $instance = $this->newRelatedInstance($related);
-
- $foreignKey = $foreignKey ?: $this->getForeignKey();
-
- $relatedKey = $relatedKey ?: $instance->getForeignKey();
-
- // If no table name was provided, we can guess it by concatenating the two
- // models using underscores in alphabetical order. The two model names
- // are transformed to snake case from their default CamelCase also.
- if (is_null($table)) {
- $table = $this->joiningTable($related);
- }
-
- return new BelongsToManyConstrained(
- $instance->newQuery(), $this, $constraintKey, $table, $foreignKey, $relatedKey, $relation
- );
- }
-
- /**
- * Get the relationship name of the belongs to many.
- *
- * @return string
- */
- protected function getBelongsToManyCaller() {
- $self = __FUNCTION__;
-
- $caller = Arr::first(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), function ($key, $trace) use ($self) {
- $caller = $trace['function'];
- return !in_array($caller, HasRelationships::$manyMethodsExtended) && $caller != $self;
- });
-
- return !is_null($caller) ? $caller['function'] : NULL;
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/Models/Model.php b/main/app/sprinkles/core/src/Database/Models/Model.php
deleted file mode 100644
index 38e49fd..0000000
--- a/main/app/sprinkles/core/src/Database/Models/Model.php
+++ /dev/null
@@ -1,133 +0,0 @@
-attributes);
- }
-
- /**
- * Determines whether a model exists by checking a unique column, including checking soft-deleted records
- *
- * @param mixed $value
- * @param string $identifier
- * @param bool $checkDeleted set to true to include soft-deleted records
- * @return \UserFrosting\Sprinkle\Core\Database\Models\Model|null
- */
- public static function findUnique($value, $identifier, $checkDeleted = TRUE) {
- $query = static::where($identifier, $value);
-
- if ($checkDeleted) {
- $query = $query->withTrashed();
- }
-
- return $query->first();
- }
-
- /**
- * Determine if an relation exists on the model - even if it is null.
- *
- * @param string $key
- * @return bool
- */
- public function relationExists($key) {
- return array_key_exists($key, $this->relations);
- }
-
- /**
- * Store the object in the DB, creating a new row if one doesn't already exist.
- *
- * Calls save(), then returns the id of the new record in the database.
- * @return int the id of this object.
- */
- public function store() {
- $this->save();
-
- // Store function should always return the id of the object
- return $this->id;
- }
-
- /**
- * Overrides Laravel's base Model to return our custom query builder object.
- *
- * @return \UserFrosting\Sprinkles\Core\Database\Builder
- */
- protected function newBaseQueryBuilder() {
- /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
- $classMapper = static::$ci->classMapper;
-
- $connection = $this->getConnection();
-
- return $classMapper->createInstance(
- 'query_builder',
- $connection,
- $connection->getQueryGrammar(),
- $connection->getPostProcessor()
- );
- }
-
- /**
- * Get the properties of this object as an associative array. Alias for toArray().
- *
- * @deprecated since 4.1.8 There is no point in having this alias.
- * @return array
- */
- public function export() {
- return $this->toArray();
- }
-
- /**
- * For raw array fetching. Must be static, otherwise PHP gets confused about where to find $table.
- *
- * @deprecated since 4.1.8 setFetchMode is no longer available as of Laravel 5.4.
- * @link https://github.com/laravel/framework/issues/17728
- */
- public static function queryBuilder() {
- // Set query builder to fetch result sets as associative arrays (instead of creating stdClass objects)
- DB::connection()->setFetchMode(\PDO::FETCH_ASSOC);
- return DB::table(static::$table);
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/Models/Throttle.php b/main/app/sprinkles/core/src/Database/Models/Throttle.php
deleted file mode 100644
index 5810e0d..0000000
--- a/main/app/sprinkles/core/src/Database/Models/Throttle.php
+++ /dev/null
@@ -1,37 +0,0 @@
-constraintKey = $constraintKey;
- parent::__construct($query, $parent, $table, $foreignKey, $relatedKey, $relationName);
- }
-
- /**
- * Set the constraints for an eager load of the relation.
- *
- * @param array $models
- * @return void
- */
- public function addEagerConstraints(array $models) {
- // To make the query more efficient, we only bother querying related models if their pivot key value
- // matches the pivot key value of one of the parent models.
- $pivotKeys = $this->getPivotKeys($models, $this->constraintKey);
- $this->query->whereIn($this->getQualifiedForeignKeyName(), $this->getKeys($models))
- ->whereIn($this->constraintKey, $pivotKeys);
- }
-
- /**
- * Gets a list of unique pivot key values from an array of models.
- */
- protected function getPivotKeys(array $models, $pivotKey) {
- $pivotKeys = [];
- foreach ($models as $model) {
- $pivotKeys[] = $model->getRelation('pivot')->{$pivotKey};
- }
- return array_unique($pivotKeys);
- }
-
- /**
- * Match the eagerly loaded results to their parents, constraining the results by matching the values of $constraintKey
- * in the parent object to the child objects.
- *
- * @link Called in https://github.com/laravel/framework/blob/2f4135d8db5ded851d1f4f611124c53b768a3c08/src/Illuminate/Database/Eloquent/Builder.php
- * @param array $models
- * @param \Illuminate\Database\Eloquent\Collection $results
- * @param string $relation
- * @return array
- */
- public function match(array $models, Collection $results, $relation) {
- $dictionary = $this->buildDictionary($results);
-
- // Once we have an array dictionary of child objects we can easily match the
- // children back to their parent using the dictionary and the keys on the
- // the parent models. Then we will return the hydrated models back out.
- foreach ($models as $model) {
- $pivotValue = $model->getRelation('pivot')->{$this->constraintKey};
- if (isset($dictionary[$key = $model->getKey()])) {
- // Only match children if their pivot key value matches that of the parent model
- $items = $this->findMatchingPivots($dictionary[$key], $pivotValue);
- $model->setRelation(
- $relation, $this->related->newCollection($items)
- );
- }
- }
-
- return $models;
- }
-
- /**
- * Filter an array of models, only taking models whose $constraintKey value matches $pivotValue.
- *
- * @param mixed $pivotValue
- * @return array
- */
- protected function findMatchingPivots($items, $pivotValue) {
- $result = [];
- foreach ($items as $item) {
- if ($item->getRelation('pivot')->{$this->constraintKey} == $pivotValue) {
- $result[] = $item;
- }
- }
- return $result;
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/Relations/BelongsToManyThrough.php b/main/app/sprinkles/core/src/Database/Relations/BelongsToManyThrough.php
deleted file mode 100644
index 24aa4cf..0000000
--- a/main/app/sprinkles/core/src/Database/Relations/BelongsToManyThrough.php
+++ /dev/null
@@ -1,223 +0,0 @@
-intermediateRelation = $intermediateRelation;
-
- parent::__construct($query, $parent, $table, $foreignKey, $relatedKey, $relationName);
- }
-
- /**
- * Use the intermediate relationship to determine the "parent" pivot key name
- *
- * This is a crazy roundabout way to get the name of the intermediate relation's foreign key.
- * It would be better if BelongsToMany had a simple accessor for its foreign key.
- * @return string
- */
- public function getParentKeyName() {
- return $this->intermediateRelation->newExistingPivot()->getForeignKey();
- }
-
- /**
- * Get the key for comparing against the parent key in "has" query.
- *
- * @see \Illuminate\Database\Eloquent\Relations\BelongsToMany
- * @return string
- */
- public function getExistenceCompareKey() {
- return $this->intermediateRelation->getQualifiedForeignKeyName();
- }
-
- /**
- * Add a "via" query to load the intermediate models through which the child models are related.
- *
- * @param string $viaRelationName
- * @param callable $viaCallback
- * @return $this
- */
- public function withVia($viaRelationName = NULL, $viaCallback = NULL) {
- $this->tertiaryRelated = $this->intermediateRelation->getRelated();
-
- // Set tertiary key and related model
- $this->tertiaryKey = $this->foreignKey;
-
- $this->tertiaryRelationName = is_null($viaRelationName) ? $this->intermediateRelation->getRelationName() . '_via' : $viaRelationName;
-
- $this->tertiaryCallback = is_null($viaCallback)
- ? function () {
- //
- }
- : $viaCallback;
-
- return $this;
- }
-
- /**
- * Set the constraints for an eager load of the relation.
- *
- * @param array $models
- * @return void
- */
- public function addEagerConstraints(array $models) {
- // Constraint to only load models where the intermediate relation's foreign key matches the parent model
- $intermediateForeignKeyName = $this->intermediateRelation->getQualifiedForeignKeyName();
-
- return $this->query->whereIn($intermediateForeignKeyName, $this->getKeys($models));
- }
-
- /**
- * Set the where clause for the relation query.
- *
- * @return $this
- */
- protected function addWhereConstraints() {
- $parentKeyName = $this->getParentKeyName();
-
- $this->query->where(
- $parentKeyName, '=', $this->parent->getKey()
- );
-
- return $this;
- }
-
- /**
- * Match the eagerly loaded results to their parents
- *
- * @param array $models
- * @param \Illuminate\Database\Eloquent\Collection $results
- * @param string $relation
- * @return array
- */
- public function match(array $models, Collection $results, $relation) {
- // Build dictionary of parent (e.g. user) to related (e.g. permission) models
- list($dictionary, $nestedViaDictionary) = $this->buildDictionary($results, $this->getParentKeyName());
-
- // Once we have an array dictionary of child objects we can easily match the
- // children back to their parent using the dictionary and the keys on the
- // the parent models. Then we will return the hydrated models back out.
- foreach ($models as $model) {
- if (isset($dictionary[$key = $model->getKey()])) {
- /** @var array */
- $items = $dictionary[$key];
-
- // Eliminate any duplicates
- $items = $this->related->newCollection($items)->unique();
-
- // If set, match up the via models to the models in the related collection
- if (!is_null($nestedViaDictionary)) {
- $this->matchTertiaryModels($nestedViaDictionary[$key], $items);
- }
-
- // Remove the tertiary pivot key from the condensed models
- foreach ($items as $relatedModel) {
- unset($relatedModel->pivot->{$this->foreignKey});
- }
-
- $model->setRelation(
- $relation, $items
- );
- }
- }
-
- return $models;
- }
-
- /**
- * Unset tertiary pivots on a collection or array of models.
- *
- * @param \Illuminate\Database\Eloquent\Collection $models
- * @return void
- */
- protected function unsetTertiaryPivots(Collection $models) {
- foreach ($models as $model) {
- unset($model->pivot->{$this->foreignKey});
- }
- }
-
- /**
- * Set the join clause for the relation query.
- *
- * @param \Illuminate\Database\Eloquent\Builder|null $query
- * @return $this
- */
- protected function performJoin($query = NULL) {
- $query = $query ?: $this->query;
-
- parent::performJoin($query);
-
- // We need to join to the intermediate table on the related model's primary
- // key column with the intermediate table's foreign key for the related
- // model instance. Then we can set the "where" for the parent models.
- $intermediateTable = $this->intermediateRelation->getTable();
-
- $key = $this->intermediateRelation->getQualifiedRelatedKeyName();
-
- $query->join($intermediateTable, $key, '=', $this->getQualifiedForeignKeyName());
-
- return $this;
- }
-
- /**
- * Get the pivot columns for the relation.
- *
- * "pivot_" is prefixed to each column for easy removal later.
- *
- * @return array
- */
- protected function aliasedPivotColumns() {
- $defaults = [$this->foreignKey, $this->relatedKey];
- $aliasedPivotColumns = collect(array_merge($defaults, $this->pivotColumns))->map(function ($column) {
- return $this->table . '.' . $column . ' as pivot_' . $column;
- });
-
- $parentKeyName = $this->getParentKeyName();
-
- // Add pivot column for the intermediate relation
- $aliasedPivotColumns[] = "{$this->intermediateRelation->getQualifiedForeignKeyName()} as pivot_$parentKeyName";
-
- return $aliasedPivotColumns->unique()->all();
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/Relations/BelongsToManyUnique.php b/main/app/sprinkles/core/src/Database/Relations/BelongsToManyUnique.php
deleted file mode 100644
index 1bde954..0000000
--- a/main/app/sprinkles/core/src/Database/Relations/BelongsToManyUnique.php
+++ /dev/null
@@ -1,23 +0,0 @@
- [], 'deleted' => [], 'updated' => [],
- ];
-
- if (is_null($relatedKeyName)) {
- $relatedKeyName = $this->related->getKeyName();
- }
-
- // First we need to attach any of the associated models that are not currently
- // in the child entity table. We'll spin through the given IDs, checking to see
- // if they exist in the array of current ones, and if not we will insert.
- $current = $this->newQuery()->pluck(
- $relatedKeyName
- )->all();
-
- // Separate the submitted data into "update" and "new"
- $updateRows = [];
- $newRows = [];
- foreach ($data as $row) {
- // We determine "updateable" rows as those whose $relatedKeyName (usually 'id') is set, not empty, and
- // match a related row in the database.
- if (isset($row[$relatedKeyName]) && !empty($row[$relatedKeyName]) && in_array($row[$relatedKeyName], $current)) {
- $id = $row[$relatedKeyName];
- $updateRows[$id] = $row;
- } else {
- $newRows[] = $row;
- }
- }
-
- // Next, we'll determine the rows in the database that aren't in the "update" list.
- // These rows will be scheduled for deletion. Again, we determine based on the relatedKeyName (typically 'id').
- $updateIds = array_keys($updateRows);
- $deleteIds = [];
- foreach ($current as $currentId) {
- if (!in_array($currentId, $updateIds)) {
- $deleteIds[] = $currentId;
- }
- }
-
- // Delete any non-matching rows
- if ($deleting && count($deleteIds) > 0) {
- // Remove global scopes to avoid ambiguous keys
- $this->getRelated()
- ->withoutGlobalScopes()
- ->whereIn($relatedKeyName, $deleteIds)
- ->delete();
-
- $changes['deleted'] = $this->castKeys($deleteIds);
- }
-
- // Update the updatable rows
- foreach ($updateRows as $id => $row) {
- // Remove global scopes to avoid ambiguous keys
- $this->getRelated()
- ->withoutGlobalScopes()
- ->where($relatedKeyName, $id)
- ->update($row);
- }
-
- $changes['updated'] = $this->castKeys($updateIds);
-
- // Insert the new rows
- $newIds = [];
- foreach ($newRows as $row) {
- if ($forceCreate) {
- $newModel = $this->forceCreate($row);
- } else {
- $newModel = $this->create($row);
- }
- $newIds[] = $newModel->$relatedKeyName;
- }
-
- $changes['created'] = $this->castKeys($newIds);
-
- return $changes;
- }
-
-
- /**
- * Cast the given keys to integers if they are numeric and string otherwise.
- *
- * @param array $keys
- * @return array
- */
- protected function castKeys(array $keys) {
- return (array)array_map(function ($v) {
- return $this->castKey($v);
- }, $keys);
- }
-
- /**
- * Cast the given key to an integer if it is numeric.
- *
- * @param mixed $key
- * @return mixed
- */
- protected function castKey($key) {
- return is_numeric($key) ? (int)$key : (string)$key;
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/Relations/Concerns/Unique.php b/main/app/sprinkles/core/src/Database/Relations/Concerns/Unique.php
deleted file mode 100644
index deb2673..0000000
--- a/main/app/sprinkles/core/src/Database/Relations/Concerns/Unique.php
+++ /dev/null
@@ -1,543 +0,0 @@
-offset($value);
- }
-
- /**
- * Set the "offset" value of the query.
- *
- * Implement for 'unionOffset' as well? (By checking the value of $this->query->getQuery()->unions)
- * @see \Illuminate\Database\Query\Builder
- * @param int $value
- * @return $this
- */
- public function offset($value) {
- $this->offset = max(0, $value);
-
- return $this;
- }
-
- /**
- * Alias to set the "limit" value of the query.
- *
- * @param int $value
- * @return $this
- */
- public function take($value) {
- return $this->limit($value);
- }
-
- /**
- * Set the "limit" value of the query.
- *
- * Implement for 'unionLimit' as well? (By checking the value of $this->query->getQuery()->unions)
- * @see \Illuminate\Database\Query\Builder
- * @param int $value
- * @return $this
- */
- public function limit($value) {
- if ($value >= 0) {
- $this->limit = $value;
- }
-
- return $this;
- }
-
- /**
- * Set the limit on the number of intermediate models to load.
- *
- * @deprecated since 4.1.7
- * @param int $value
- * @return $this
- */
- public function withLimit($value) {
- return $this->limit($value);
- }
-
- /**
- * Set the offset when loading the intermediate models.
- *
- * @deprecated since 4.1.7
- * @param int $value
- * @return $this
- */
- public function withOffset($value) {
- return $this->offset($value);
- }
-
- /**
- * Add a query to load the nested tertiary models for this relationship.
- *
- * @param \Illuminate\Database\Eloquent\Model $tertiaryRelated
- * @param string $tertiaryRelationName
- * @param string $tertiaryKey
- * @param callable $tertiaryCallback
- * @return $this
- */
- public function withTertiary($tertiaryRelated, $tertiaryRelationName = NULL, $tertiaryKey = NULL, $tertiaryCallback = NULL) {
- $this->tertiaryRelated = new $tertiaryRelated;
-
- // Try to guess the tertiary related key from the tertiaryRelated model.
- $this->tertiaryKey = $tertiaryKey ?: $this->tertiaryRelated->getForeignKey();
-
- // Also add the tertiary key as a pivot
- $this->withPivot($this->tertiaryKey);
-
- $this->tertiaryRelationName = is_null($tertiaryRelationName) ? $this->tertiaryRelated->getTable() : $tertiaryRelationName;
-
- $this->tertiaryCallback = is_null($tertiaryCallback)
- ? function () {
- //
- }
- : $tertiaryCallback;
-
- return $this;
- }
-
- /**
- * Return the count of child models for this relationship.
- *
- * @see http://stackoverflow.com/a/29728129/2970321
- * @return int
- */
- public function count() {
- $constrainedBuilder = clone $this->query;
-
- $constrainedBuilder = $constrainedBuilder->distinct();
-
- return $constrainedBuilder->count($this->relatedKey);
- }
-
- /**
- * Add the constraints for a relationship count query.
- *
- * @see \Illuminate\Database\Eloquent\Relations\Relation
- * @param \Illuminate\Database\Eloquent\Builder $query
- * @param \Illuminate\Database\Eloquent\Builder $parentQuery
- * @return \Illuminate\Database\Eloquent\Builder
- */
- public function getRelationExistenceCountQuery(Builder $query, Builder $parentQuery) {
- return $this->getRelationExistenceQuery(
- $query, $parentQuery, new Expression("count(distinct {$this->relatedKey})")
- );
- }
-
- /**
- * Match the eagerly loaded results to their parents
- *
- * @param array $models
- * @param \Illuminate\Database\Eloquent\Collection $results
- * @param string $relation
- * @return array
- */
- public function match(array $models, Collection $results, $relation) {
- // Build dictionary of parent (e.g. user) to related (e.g. permission) models
- list($dictionary, $nestedTertiaryDictionary) = $this->buildDictionary($results, $this->foreignKey);
-
- // Once we have an array dictionary of child objects we can easily match the
- // children back to their parent using the dictionary and the keys on the
- // the parent models. Then we will return the hydrated models back out.
- foreach ($models as $model) {
- if (isset($dictionary[$key = $model->getKey()])) {
- /** @var array */
- $items = $dictionary[$key];
-
- // Eliminate any duplicates
- $items = $this->related->newCollection($items)->unique();
-
- // If set, match up the tertiary models to the models in the related collection
- if (!is_null($nestedTertiaryDictionary)) {
- $this->matchTertiaryModels($nestedTertiaryDictionary[$key], $items);
- }
-
- $model->setRelation(
- $relation, $items
- );
- }
- }
-
- return $models;
- }
-
- /**
- * Execute the query as a "select" statement, getting all requested models
- * and matching up any tertiary models.
- *
- * @param array $columns
- * @return \Illuminate\Database\Eloquent\Collection
- */
- public function get($columns = ['*']) {
- // Get models and condense the result set
- $models = $this->getModels($columns, TRUE);
-
- // Remove the tertiary pivot key from the condensed models
- $this->unsetTertiaryPivots($models);
-
- return $models;
- }
-
- /**
- * If we are applying either a limit or offset, we'll first determine a limited/offset list of model ids
- * to select from in the final query.
- *
- * @param \Illuminate\Database\Eloquent\Builder $query
- * @param int $limit
- * @param int $offset
- * @return \Illuminate\Database\Eloquent\Builder
- */
- public function getPaginatedQuery(Builder $query, $limit = NULL, $offset = NULL) {
- $constrainedBuilder = clone $query;
-
- // Since some unique models will be represented by more than one row in the database,
- // we cannot apply limit/offset directly to the query. If we did that, we'd miss
- // some of the records that are to be coalesced into the final set of models.
- // Instead, we perform an additional query with grouping and limit/offset to determine
- // the desired set of unique model _ids_, and then constrain our final query
- // to these models with a whereIn clause.
- $relatedKeyName = $this->related->getQualifiedKeyName();
-
- // Apply an additional scope to override any selected columns in other global scopes
- $uniqueIdScope = function ($subQuery) use ($relatedKeyName) {
- $subQuery->select($relatedKeyName)
- ->groupBy($relatedKeyName);
- };
-
- $identifier = spl_object_hash($uniqueIdScope);
-
- $constrainedBuilder->withGlobalScope($identifier, $uniqueIdScope);
-
- if ($limit) {
- $constrainedBuilder->limit($limit);
- }
-
- if ($offset) {
- $constrainedBuilder->offset($offset);
- }
-
- $primaryKeyName = $this->getParent()->getKeyName();
- $modelIds = $constrainedBuilder->get()->pluck($primaryKeyName)->toArray();
-
- // Modify the unconstrained query to limit to these models
- return $query->whereIn($relatedKeyName, $modelIds);
- }
-
- /**
- * Get the full join results for this query, overriding the default getEager() method.
- * The default getEager() method would normally just call get() on this relationship.
- * This is not what we want here though, because our get() method removes records before
- * `match` has a chance to build out the substructures.
- *
- * @return \Illuminate\Database\Eloquent\Collection
- */
- public function getEager() {
- return $this->getModels(['*'], FALSE);
- }
-
- /**
- * Get the hydrated models and eager load their relations, optionally
- * condensing the set of models before performing the eager loads.
- *
- * @param array $columns
- * @param bool $condenseModels
- * @return \Illuminate\Database\Eloquent\Collection
- */
- public function getModels($columns = ['*'], $condenseModels = TRUE) {
- // First we'll add the proper select columns onto the query so it is run with
- // the proper columns. Then, we will get the results and hydrate out pivot
- // models with the result of those columns as a separate model relation.
- $columns = $this->query->getQuery()->columns ? [] : $columns;
-
- // Add any necessary pagination on the related models
- if ($this->limit || $this->offset) {
- $this->getPaginatedQuery($this->query, $this->limit, $this->offset);
- }
-
- // Apply scopes to the Eloquent\Builder instance.
- $builder = $this->query->applyScopes();
-
- $builder = $builder->addSelect(
- $this->shouldSelect($columns)
- );
-
- $models = $builder->getModels();
-
- // Hydrate the pivot models so we can load the via models
- $this->hydratePivotRelation($models);
-
- if ($condenseModels) {
- $models = $this->condenseModels($models);
- }
-
- // If we actually found models we will also eager load any relationships that
- // have been specified as needing to be eager loaded. This will solve the
- // n + 1 query problem for the developer and also increase performance.
- if (count($models) > 0) {
- $models = $builder->eagerLoadRelations($models);
- }
-
- return $this->related->newCollection($models);
- }
-
- /**
- * Condense the raw join query results into a set of unique models.
- *
- * Before doing this, we may optionally find any tertiary models that should be
- * set as sub-relations on these models.
- * @param array $models
- * @return array
- */
- protected function condenseModels(array $models) {
- // Build dictionary of tertiary models, if `withTertiary` was called
- $dictionary = NULL;
- if ($this->tertiaryRelated) {
- $dictionary = $this->buildTertiaryDictionary($models);
- }
-
- // Remove duplicate models from collection
- $models = $this->related->newCollection($models)->unique();
-
- // If using withTertiary, use the dictionary to set the tertiary relation on each model.
- if (!is_null($dictionary)) {
- $this->matchTertiaryModels($dictionary, $models);
- }
-
- return $models->all();
- }
-
- /**
- * Build dictionary of related models keyed by the top-level "parent" id.
- * If there is a tertiary query set as well, then also build a two-level dictionary
- * that maps parent ids to arrays of related ids, which in turn map to arrays
- * of tertiary models corresponding to each relationship.
- *
- * @param \Illuminate\Database\Eloquent\Collection $results
- * @param string $parentKey
- * @return array
- */
- protected function buildDictionary(Collection $results, $parentKey = NULL) {
- // First we will build a dictionary of child models keyed by the "parent key" (foreign key
- // of the intermediate relation) so that we will easily and quickly match them to their
- // parents without having a possibly slow inner loops for every models.
- $dictionary = [];
-
- //Example nested dictionary:
- //[
- // // User 1
- // '1' => [
- // // Permission 3
- // '3' => [
- // Role1,
- // Role2
- // ],
- // ...
- // ],
- // ...
- //]
- $nestedTertiaryDictionary = NULL;
- $tertiaryModels = NULL;
-
- if ($this->tertiaryRelationName) {
- // Get all tertiary models from the result set matching any of the parent models.
- $tertiaryModels = $this->getTertiaryModels($results->all());
- }
-
- foreach ($results as $result) {
- $parentKeyValue = $result->pivot->$parentKey;
-
- // Set the related model in the main dictionary.
- // Note that this can end up adding duplicate models. It's cheaper to simply
- // go back and remove the duplicates when we actually use the dictionary,
- // rather than check for duplicates on each insert.
- $dictionary[$parentKeyValue][] = $result;
-
- // If we're loading tertiary models, then set the keys in the nested dictionary as well.
- if (!is_null($tertiaryModels)) {
- $tertiaryKeyValue = $result->pivot->{$this->tertiaryKey};
-
- if (!is_null($tertiaryKeyValue)) {
- $tertiaryModel = clone $tertiaryModels[$tertiaryKeyValue];
-
- // We also transfer the pivot relation at this point, since we have already coalesced
- // any tertiary models into the nested dictionary.
- $this->transferPivotsToTertiary($result, $tertiaryModel);
-
- $nestedTertiaryDictionary[$parentKeyValue][$result->getKey()][] = $tertiaryModel;
- }
- }
- }
-
- return [$dictionary, $nestedTertiaryDictionary];
- }
-
- /**
- * Build dictionary of tertiary models keyed by the corresponding related model keys.
- *
- * @param array $models
- * @return array
- */
- protected function buildTertiaryDictionary(array $models) {
- $dictionary = [];
-
- // Find the related tertiary entities (e.g. tasks) for all related models (e.g. locations)
- $tertiaryModels = $this->getTertiaryModels($models);
-
- // Now for each related model (e.g. location), we will build out a dictionary of their tertiary models (e.g. tasks)
- foreach ($models as $model) {
- $tertiaryKeyValue = $model->pivot->{$this->tertiaryKey};
-
- $tertiaryModel = clone $tertiaryModels[$tertiaryKeyValue];
-
- $this->transferPivotsToTertiary($model, $tertiaryModel);
-
- $dictionary[$model->getKey()][] = $tertiaryModel;
- }
-
- return $dictionary;
- }
-
- protected function transferPivotsToTertiary($model, $tertiaryModel) {
- $pivotAttributes = [];
- foreach ($this->pivotColumns as $column) {
- $pivotAttributes[$column] = $model->pivot->$column;
- unset($model->pivot->$column);
- }
- // Copy the related key pivot as well, but don't unset on the related model
- $pivotAttributes[$this->relatedKey] = $model->pivot->{$this->relatedKey};
-
- // Set the tertiary key pivot as well
- $pivotAttributes[$this->tertiaryKey] = $tertiaryModel->getKey();
-
- $pivot = $this->newExistingPivot($pivotAttributes);
- $tertiaryModel->setRelation('pivot', $pivot);
- }
-
- /**
- * Get the tertiary models for the relationship.
- *
- * @param array $models
- * @return \Illuminate\Database\Eloquent\Collection
- */
- protected function getTertiaryModels(array $models) {
- $tertiaryClass = $this->tertiaryRelated;
-
- $keys = [];
- foreach ($models as $model) {
- $keys[] = $model->getRelation('pivot')->{$this->tertiaryKey};
- }
- $keys = array_unique($keys);
-
- $query = $tertiaryClass->whereIn($tertiaryClass->getQualifiedKeyName(), $keys);
-
- // Add any additional constraints/eager loads to the tertiary query
- $callback = $this->tertiaryCallback;
- $callback($query);
-
- $tertiaryModels = $query
- ->get()
- ->keyBy($tertiaryClass->getKeyName());
-
- return $tertiaryModels;
- }
-
- /**
- * Match a collection of child models into a collection of parent models using a dictionary.
- *
- * @param array $dictionary
- * @param \Illuminate\Database\Eloquent\Collection $results
- * @return void
- */
- protected function matchTertiaryModels(array $dictionary, Collection $results) {
- // Now go through and set the tertiary relation on each child model
- foreach ($results as $model) {
- if (isset($dictionary[$key = $model->getKey()])) {
- $tertiaryModels = $dictionary[$key];
-
- $model->setRelation(
- $this->tertiaryRelationName, $this->tertiaryRelated->newCollection($tertiaryModels)
- );
- }
- }
- }
-
- /**
- * Unset tertiary pivots on a collection or array of models.
- *
- * @param \Illuminate\Database\Eloquent\Collection $models
- * @return void
- */
- protected function unsetTertiaryPivots(Collection $models) {
- foreach ($models as $model) {
- foreach ($this->pivotColumns as $column) {
- unset($model->pivot->$column);
- }
- }
- }
-}
diff --git a/main/app/sprinkles/core/src/Database/Relations/HasManySyncable.php b/main/app/sprinkles/core/src/Database/Relations/HasManySyncable.php
deleted file mode 100644
index d09e25d..0000000
--- a/main/app/sprinkles/core/src/Database/Relations/HasManySyncable.php
+++ /dev/null
@@ -1,23 +0,0 @@
-ci = $ci;
- $this->displayErrorDetails = (bool)$displayErrorDetails;
- }
-
- /**
- * Invoke error handler
- *
- * @param ServerRequestInterface $request The most recent Request object
- * @param ResponseInterface $response The most recent Response object
- * @param Throwable $exception The caught Exception object
- *
- * @return ResponseInterface
- */
- public function __invoke(ServerRequestInterface $request, ResponseInterface $response, $exception) {
- // Default exception handler class
- $handlerClass = '\UserFrosting\Sprinkle\Core\Error\Handler\ExceptionHandler';
-
- // Get the last matching registered handler class, and instantiate it
- foreach ($this->exceptionHandlers as $exceptionClass => $matchedHandlerClass) {
- if ($exception instanceof $exceptionClass) {
- $handlerClass = $matchedHandlerClass;
- }
- }
-
- $handler = new $handlerClass($this->ci, $request, $response, $exception, $this->displayErrorDetails);
-
- return $handler->handle();
- }
-
- /**
- * Register an exception handler for a specified exception class.
- *
- * The exception handler must implement \UserFrosting\Sprinkle\Core\Handler\ExceptionHandlerInterface.
- *
- * @param string $exceptionClass The fully qualified class name of the exception to handle.
- * @param string $handlerClass The fully qualified class name of the assigned handler.
- * @throws InvalidArgumentException If the registered handler fails to implement ExceptionHandlerInterface
- */
- public function registerHandler($exceptionClass, $handlerClass) {
- if (!is_a($handlerClass, '\UserFrosting\Sprinkle\Core\Error\Handler\ExceptionHandlerInterface', TRUE)) {
- throw new \InvalidArgumentException("Registered exception handler must implement ExceptionHandlerInterface!");
- }
-
- $this->exceptionHandlers[$exceptionClass] = $handlerClass;
- }
-}
diff --git a/main/app/sprinkles/core/src/Error/Handler/ExceptionHandler.php b/main/app/sprinkles/core/src/Error/Handler/ExceptionHandler.php
deleted file mode 100644
index 1ce5954..0000000
--- a/main/app/sprinkles/core/src/Error/Handler/ExceptionHandler.php
+++ /dev/null
@@ -1,267 +0,0 @@
-ci = $ci;
- $this->request = $request;
- $this->response = $response;
- $this->exception = $exception;
- $this->displayErrorDetails = $displayErrorDetails;
- $this->statusCode = $this->determineStatusCode();
- $this->contentType = $this->determineContentType($request, $this->ci->config['site.debug.ajax']);
- $this->renderer = $this->determineRenderer();
- }
-
- /**
- * Handle the caught exception.
- * The handler may render a detailed debugging error page, a generic error page, write to logs, and/or add messages to the alert stream.
- *
- * @return ResponseInterface
- */
- public function handle() {
- // If displayErrorDetails is set to true, we'll halt and immediately respond with a detailed debugging page.
- // We do not log errors in this case.
- if ($this->displayErrorDetails) {
- $response = $this->renderDebugResponse();
- } else {
- // Write exception to log
- $this->writeToErrorLog();
-
- // Render generic error page
- $response = $this->renderGenericResponse();
- }
-
- // If this is an AJAX request and AJAX debugging is turned off, write messages to the alert stream
- if ($this->request->isXhr() && !$this->ci->config['site.debug.ajax']) {
- $this->writeAlerts();
- }
-
- return $response;
- }
-
- /**
- * Render a detailed response with debugging information.
- *
- * @return ResponseInterface
- */
- public function renderDebugResponse() {
- $body = $this->renderer->renderWithBody();
-
- return $this->response
- ->withStatus($this->statusCode)
- ->withHeader('Content-type', $this->contentType)
- ->withBody($body);
- }
-
- /**
- * Render a generic, user-friendly response without sensitive debugging information.
- *
- * @return ResponseInterface
- */
- public function renderGenericResponse() {
- $messages = $this->determineUserMessages();
- $httpCode = $this->statusCode;
-
- try {
- $template = $this->ci->view->getEnvironment()->loadTemplate("pages/error/$httpCode.html.twig");
- } catch (\Twig_Error_Loader $e) {
- $template = $this->ci->view->getEnvironment()->loadTemplate("pages/abstract/error.html.twig");
- }
-
- return $this->response
- ->withStatus($httpCode)
- ->withHeader('Content-type', $this->contentType)
- ->write($template->render([
- 'messages' => $messages
- ]));
- }
-
- /**
- * Write to the error log
- *
- * @return void
- */
- public function writeToErrorLog() {
- $renderer = new PlainTextRenderer($this->request, $this->response, $this->exception, TRUE);
- $error = $renderer->render();
- $error .= PHP_EOL . 'View in rendered output by enabling the "displayErrorDetails" setting.' . PHP_EOL;
- $this->logError($error);
- }
-
- /**
- * Write user-friendly error messages to the alert message stream.
- *
- * @return void
- */
- public function writeAlerts() {
- $messages = $this->determineUserMessages();
-
- foreach ($messages as $message) {
- $this->ci->alerts->addMessageTranslated('danger', $message->message, $message->parameters);
- }
- }
-
- /**
- * Determine which renderer to use based on content type
- * Overloaded $renderer from calling class takes precedence over all
- *
- * @return ErrorRendererInterface
- *
- * @throws \RuntimeException
- */
- protected function determineRenderer() {
- $renderer = $this->renderer;
-
- if ((!is_null($renderer) && !class_exists($renderer))
- || (!is_null($renderer) && !in_array('UserFrosting\Sprinkle\Core\Error\Renderer\ErrorRendererInterface', class_implements($renderer)))
- ) {
- throw new \RuntimeException(sprintf(
- 'Non compliant error renderer provided (%s). ' .
- 'Renderer must implement the ErrorRendererInterface',
- $renderer
- ));
- }
-
- if (is_null($renderer)) {
- switch ($this->contentType) {
- case 'application/json':
- $renderer = JsonRenderer::class;
- break;
-
- case 'text/xml':
- case 'application/xml':
- $renderer = XmlRenderer::class;
- break;
-
- case 'text/plain':
- $renderer = PlainTextRenderer::class;
- break;
-
- default:
- case 'text/html':
- $renderer = WhoopsRenderer::class;
- break;
- }
- }
-
- return new $renderer($this->request, $this->response, $this->exception, $this->displayErrorDetails);
- }
-
- /**
- * Resolve the status code to return in the response from this handler.
- *
- * @return int
- */
- protected function determineStatusCode() {
- if ($this->request->getMethod() === 'OPTIONS') {
- return 200;
- }
- return 500;
- }
-
- /**
- * Resolve a list of error messages to present to the end user.
- *
- * @return array
- */
- protected function determineUserMessages() {
- return [
- new UserMessage("ERROR.SERVER")
- ];
- }
-
- /**
- * Monolog logging for errors
- *
- * @param $message
- * @return void
- */
- protected function logError($message) {
- $this->ci->errorLogger->error($message);
- }
-}
diff --git a/main/app/sprinkles/core/src/Error/Handler/ExceptionHandlerInterface.php b/main/app/sprinkles/core/src/Error/Handler/ExceptionHandlerInterface.php
deleted file mode 100644
index 2905382..0000000
--- a/main/app/sprinkles/core/src/Error/Handler/ExceptionHandlerInterface.php
+++ /dev/null
@@ -1,33 +0,0 @@
-statusCode != 500) {
- return;
- }
-
- parent::writeToErrorLog();
- }
-
- /**
- * Resolve the status code to return in the response from this handler.
- *
- * @return int
- */
- protected function determineStatusCode() {
- if ($this->request->getMethod() === 'OPTIONS') {
- return 200;
- } else if ($this->exception instanceof HttpException) {
- return $this->exception->getHttpErrorCode();
- }
- return 500;
- }
-
- /**
- * Resolve a list of error messages to present to the end user.
- *
- * @return array
- */
- protected function determineUserMessages() {
- if ($this->exception instanceof HttpException) {
- return $this->exception->getUserMessages();
- }
-
- // Fallback
- return [
- new UserMessage("ERROR.SERVER")
- ];
- }
-}
diff --git a/main/app/sprinkles/core/src/Error/Handler/NotFoundExceptionHandler.php b/main/app/sprinkles/core/src/Error/Handler/NotFoundExceptionHandler.php
deleted file mode 100644
index e243a02..0000000
--- a/main/app/sprinkles/core/src/Error/Handler/NotFoundExceptionHandler.php
+++ /dev/null
@@ -1,38 +0,0 @@
-renderGenericResponse();
-
- // If this is an AJAX request and AJAX debugging is turned off, write messages to the alert stream
- if ($this->request->isXhr() && !$this->ci->config['site.debug.ajax']) {
- $this->writeAlerts();
- }
-
- return $response;
- }
-}
diff --git a/main/app/sprinkles/core/src/Error/Handler/PhpMailerExceptionHandler.php b/main/app/sprinkles/core/src/Error/Handler/PhpMailerExceptionHandler.php
deleted file mode 100644
index 15e16f8..0000000
--- a/main/app/sprinkles/core/src/Error/Handler/PhpMailerExceptionHandler.php
+++ /dev/null
@@ -1,30 +0,0 @@
-request = $request;
- $this->response = $response;
- $this->exception = $exception;
- $this->displayErrorDetails = $displayErrorDetails;
- }
-
- abstract public function render();
-
- /**
- * @return Body
- */
- public function renderWithBody() {
- $body = new Body(fopen('php://temp', 'r+'));
- $body->write($this->render());
- return $body;
- }
-}
diff --git a/main/app/sprinkles/core/src/Error/Renderer/ErrorRendererInterface.php b/main/app/sprinkles/core/src/Error/Renderer/ErrorRendererInterface.php
deleted file mode 100644
index 1633a8b..0000000
--- a/main/app/sprinkles/core/src/Error/Renderer/ErrorRendererInterface.php
+++ /dev/null
@@ -1,30 +0,0 @@
-displayErrorDetails) {
- $html = '
The application could not run because of the following error:
';
-
- $html .= $this->renderTable($requestHeaders);
-
- return $html;
- }
-
- /**
- * Render HTML representation of response headers.
- *
- * @return string
- */
- public function renderResponseHeaders() {
- $html = '
Response headers:
';
- $html .= 'Additional response headers may have been set by Slim after the error handling routine. Please check your browser console for a complete list. ';
-
- $html .= $this->renderTable($this->response->getHeaders());
-
- return $html;
- }
-
- /**
- * Render HTML representation of a table of data.
- *
- * @param mixed[] $data the array of data to render.
- *
- * @return string
- */
- protected function renderTable($data) {
- $html = '
-
\ No newline at end of file
diff --git a/main/app/sprinkles/core/templates/navigation/main-nav.html.twig b/main/app/sprinkles/core/templates/navigation/main-nav.html.twig
deleted file mode 100644
index 937a93f..0000000
--- a/main/app/sprinkles/core/templates/navigation/main-nav.html.twig
+++ /dev/null
@@ -1,32 +0,0 @@
-
\ No newline at end of file
diff --git a/main/app/sprinkles/core/templates/pages/about.html.twig b/main/app/sprinkles/core/templates/pages/about.html.twig
deleted file mode 100644
index 9f0ca26..0000000
--- a/main/app/sprinkles/core/templates/pages/about.html.twig
+++ /dev/null
@@ -1,185 +0,0 @@
-{% extends "pages/abstract/default.html.twig" %}
-
-{% set page_active = "about" %}
-
-{# Overrides blocks in head of base template #}
-{% block page_title %}{{ translate("ABOUT") }}{% endblock %}
-
-{% block page_description %}All about my UserFrosting website.{% endblock %}
-
-{% block body_matter %}
-
-
-
-
-
-
-
-
About Modern Business
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sed voluptate nihil eum consectetur similique?
- Consectetur, quod, incidunt, harum nisi dolores delectus reprehenderit voluptatem perferendis dicta
- dolorem non blanditiis ex fugiat.
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe, magni, aperiam vitae illum voluptatum
- aut sequi impedit non velit ab ea pariatur sint quidem corporis eveniet. Odit, temporibus reprehenderit
- dolorum!
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, consequuntur, modi mollitia corporis ipsa
- voluptate corrupti eum ratione ex ea praesentium quibusdam? Aut, in eum facere corrupti necessitatibus
- perspiciatis quis?
-
-
-
-
-
-
-
-
Our Team
-
-
-
-
-
-
John Smith
- Job Title
-
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste saepe et quisquam nesciunt
- maxime.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
John Smith
- Job Title
-
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste saepe et quisquam nesciunt
- maxime.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
John Smith
- Job Title
-
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste saepe et quisquam nesciunt
- maxime.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
John Smith
- Job Title
-
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste saepe et quisquam nesciunt
- maxime.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
John Smith
- Job Title
-
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste saepe et quisquam nesciunt
- maxime.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
John Smith
- Job Title
-
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste saepe et quisquam nesciunt
- maxime.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Our Customers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/main/app/sprinkles/core/templates/pages/abstract/base.html.twig b/main/app/sprinkles/core/templates/pages/abstract/base.html.twig
deleted file mode 100644
index 2519b14..0000000
--- a/main/app/sprinkles/core/templates/pages/abstract/base.html.twig
+++ /dev/null
@@ -1,99 +0,0 @@
-{# This is the base layout template for all pages. #}
-
-{% block page %}
-
-
- {% block head %}
-
-
-
-
-
-
-
-
-
- {{ site.title }} | {% block page_title %}New Page{% endblock %}
-
- {% include "pages/partials/favicons.html.twig" %}
-
- {# Use this block to add extra content in page head without having to override the entire base layout #}
- {% block head_extra %}{% endblock %}
-
- {% block stylesheets %}
- {# Override this block in a child layout template or page template to override site-level stylesheets. #}
- {% block stylesheets_site %}
-
- {{ assets.css() | raw }}
- {% endblock %}
-
- {# Override this block in a child layout template or page template to specify or override stylesheets for groups of similar pages. #}
- {% block stylesheets_page_group %}
- {% endblock %}
-
- {# Override this block in a child layout template or page template to specify or override page-level stylesheets. #}
- {% block stylesheets_page %}
- {% endblock %}
- {% endblock %}
-
- {# Site author link #}
- {% if site.uri.author %}
-
- {% endif %}
-
- {# Site publisher link #}
- {% if site.uri.publisher %}
-
- {% endif %}
-
- {# Canonical page link #}
- {% if block('page_canonical') %}
-
- {% endif %}
-
-
-
-
-
- {% include "pages/partials/analytics.html.twig" %}
-
- {% endblock %}
-
- {% block body %}
-
- {# Page Content #}
- {% block content %}{% endblock %}
-
- {# Handlebars template for uf-alerts. #}
- {% block uf_alerts_template %}
- {% include "pages/partials/alerts.html.twig" %}
- {% endblock %}
-
-
-
-
- {% block scripts %}
- {# Override this block in a child layout template or page template to override site-level scripts. #}
- {% block scripts_site %}
- {{ assets.js() | raw }}
- {% endblock %}
-
- {# Override this block in a child layout template or page template to specify or override scripts for groups of similar pages. #}
- {% block scripts_page_group %}
- {% endblock %}
-
- {# Override this block in a child layout template or page template to specify or override page-level scripts. #}
- {% block scripts_page %}
- {% endblock %}
- {% endblock %}
-
-
- {% endblock %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/main/app/sprinkles/core/templates/pages/abstract/default.html.twig b/main/app/sprinkles/core/templates/pages/abstract/default.html.twig
deleted file mode 100644
index aa3f717..0000000
--- a/main/app/sprinkles/core/templates/pages/abstract/default.html.twig
+++ /dev/null
@@ -1,48 +0,0 @@
-{% extends "pages/abstract/base.html.twig" %}
-
-{% block stylesheets_page_group %}
-{% endblock %}
-
-{% block body_attributes %}
- class="hold-transition skin-{{ site.AdminLTE.skin }} layout-top-nav"
-{% endblock %}
-
-{% block content %}
-
-
{# more in admin/templates/forms/user.html.twig #}
-
-
-
{{ translate('THEME') }}
-
{{ current_user.theme }}
-
-
-
-
-
-
- {# it's here so it's easier to find #}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-
-{% block scripts_page %}
-
-
-{% endblock %}
diff --git a/main/app/sprinkles/core/templates/pages/legal.html.twig b/main/app/sprinkles/core/templates/pages/legal.html.twig
deleted file mode 100644
index 1d9afad..0000000
--- a/main/app/sprinkles/core/templates/pages/legal.html.twig
+++ /dev/null
@@ -1,12 +0,0 @@
-{% extends "pages/abstract/default.html.twig" %}
-
-{% set page_active = "home" %}
-
-{# Overrides blocks in head of base template #}
-{% block page_title %}{{ translate("LEGAL") }}{% endblock %}
-
-{% block page_description %}{{ translate("LEGAL.DESCRIPTION") }}{% endblock %}
-
-{% block body_matter %}
- {% include 'pages/partials/legal.html.twig' %}
-{% endblock %}
diff --git a/main/app/sprinkles/core/templates/pages/partials/alerts.html.twig b/main/app/sprinkles/core/templates/pages/partials/alerts.html.twig
deleted file mode 100644
index a7f9c08..0000000
--- a/main/app/sprinkles/core/templates/pages/partials/alerts.html.twig
+++ /dev/null
@@ -1,13 +0,0 @@
-{# This contains a client-side Handlebars template.
- # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag,
- # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates.
- #}
-
-{% verbatim %}
-
-{% endverbatim %}
\ No newline at end of file
diff --git a/main/app/sprinkles/core/templates/pages/partials/analytics.html.twig b/main/app/sprinkles/core/templates/pages/partials/analytics.html.twig
deleted file mode 100644
index 64bb6a9..0000000
--- a/main/app/sprinkles/core/templates/pages/partials/analytics.html.twig
+++ /dev/null
@@ -1,22 +0,0 @@
-{% if site.analytics.google.code and site.analytics.google.enabled %}
-
-{% elseif site.debug.info %}
-
-{% endif %}
diff --git a/main/app/sprinkles/core/templates/pages/partials/config.js.twig b/main/app/sprinkles/core/templates/pages/partials/config.js.twig
deleted file mode 100644
index 3edc4eb..0000000
--- a/main/app/sprinkles/core/templates/pages/partials/config.js.twig
+++ /dev/null
@@ -1,13 +0,0 @@
-{# Configuration variables needed by client-side code (Javascript). #}
-{% autoescape 'js' %}
-var site = {
- "uri": {
- "public": "{{ site.uri.public | raw }}"
- },
- "debug": {
- "ajax": {{ site.debug.ajax ? 'true' : 'false' }}
- },
- "csrf": {{ site.csrf | json_encode(constant('JSON_PRETTY_PRINT')) | raw }},
- "uf_table": {{ site.uf_table | json_encode(constant('JSON_PRETTY_PRINT')) | raw }}
-};
-{% endautoescape %}
diff --git a/main/app/sprinkles/core/templates/pages/partials/favicons.html.twig b/main/app/sprinkles/core/templates/pages/partials/favicons.html.twig
deleted file mode 100644
index e4cc1f7..0000000
--- a/main/app/sprinkles/core/templates/pages/partials/favicons.html.twig
+++ /dev/null
@@ -1,51 +0,0 @@
-{# Favicons generated with https://realfavicongenerator.net #}
-
-{# Basic favicon #}
-
-
-{# PNG versions #}
-
-
-
-{#
- IE 10 Metro tile icon (Metro equivalent of apple-touch-icon-precomposed)
- (see https://github.com/audreyr/favicon-cheat-sheet)
-#}
-
-
-
-{# IE 11 Tile for Windows 8.1 Start Screen #}
-
-
-
-
-{# Apple touch icons #}
-
-
-
-
-
-
-
-
-
-
-{# Chrome icons and manifest #}
-
-
-
-
-{# Safari pinned sites icons #}
-
diff --git a/main/app/sprinkles/core/templates/pages/partials/footer.html.twig b/main/app/sprinkles/core/templates/pages/partials/footer.html.twig
deleted file mode 100644
index 82cc3e7..0000000
--- a/main/app/sprinkles/core/templates/pages/partials/footer.html.twig
+++ /dev/null
@@ -1,9 +0,0 @@
-
\ No newline at end of file
diff --git a/main/app/sprinkles/core/templates/pages/partials/legal.html.twig b/main/app/sprinkles/core/templates/pages/partials/legal.html.twig
deleted file mode 100644
index cc090a1..0000000
--- a/main/app/sprinkles/core/templates/pages/partials/legal.html.twig
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
- Web Site Terms and Conditions of Use
-
-
-
- 1. Terms
-
-
-
- By accessing this web site, you are agreeing to be bound by these
- web site Terms and Conditions of Use, all applicable laws and regulations,
- and agree that you are responsible for compliance with any applicable local
- laws. If you do not agree with any of these terms, you are prohibited from
- using or accessing this site. The materials contained in this web site are
- protected by applicable copyright and trade mark law.
-
-
-
- 2. Use License
-
-
-
-
- Permission is granted to temporarily download one copy of the materials
- (information or software) on {{ site.title }}'s web site for personal,
- non-commercial transitory viewing only. This is the grant of a license,
- not a transfer of title, and under this license you may not:
-
-
-
modify or copy the materials;
-
use the materials for any commercial purpose, or for any public display (commercial or
- non-commercial);
-
-
attempt to decompile or reverse engineer any software contained on {{ site.title }}'s web site;
-
remove any copyright or other proprietary notations from the materials; or
-
transfer the materials to another person or "mirror" the materials on any other server.
-
-
-
- This license shall automatically terminate if you violate any of these restrictions and may be terminated
- by {{ site.title }} at any time. Upon terminating your viewing of these materials or upon the termination of
- this license, you must destroy any downloaded materials in your possession whether in electronic or printed
- format.
-
-
-
-
- 3. Disclaimer
-
-
-
-
- The materials on {{ site.title }}'s web site are provided "as is". {{ site.title }} makes no warranties,
- expressed or implied, and hereby disclaims and negates all other warranties, including without limitation,
- implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of
- intellectual property or other violation of rights. Further, {{ site.title }} does not warrant or make any
- representations concerning the accuracy, likely results, or reliability of the use of the materials on its
- Internet web site or otherwise relating to such materials or on any sites linked to this site.
-
-
-
-
- 4. Limitations
-
-
-
- In no event shall {{ site.title }} or its suppliers be liable for any damages (including, without limitation,
- damages for loss of data or profit, or due to business interruption,) arising out of the use or inability to use the
- materials on {{ site.title }}'s Internet site, even if {{ site.title }} or a {{ site.title }} authorized
- representative has been notified orally or in writing of the possibility of such damage. Because some jurisdictions
- do not allow limitations on implied warranties, or limitations of liability for consequential or incidental damages,
- these limitations may not apply to you.
-
-
-
- 5. Revisions and Errata
-
-
-
- The materials appearing on {{ site.title }}'s web site could include technical, typographical, or photographic
- errors. {{ site.title }} does not warrant that any of the materials on its web site are accurate, complete, or
- current. {{ site.title }} may make changes to the materials contained on its web site at any time without
- notice. {{ site.title }} does not, however, make any commitment to update the materials.
-
-
-
- 6. Links
-
-
-
- {{ site.title }} has not reviewed all of the sites linked to its Internet web site and is not responsible for the
- contents of any such linked site. The inclusion of any link does not imply endorsement by {{ site.title }} of the
- site. Use of any such linked web site is at the user's own risk.
-
-
-
- 7. Site Terms of Use Modifications
-
-
-
- {{ site.title }} may revise these terms of use for its web site at any time without notice. By using this web site
- you are agreeing to be bound by the then current version of these Terms and Conditions of Use.
-
-
-
- 8. Governing Law
-
-
-
- Any claim relating to {{ site.title }}'s web site shall be governed by the laws of {{ site.site_location }} without
- regard to its conflict of law provisions.
-
-
-
- General Terms and Conditions applicable to Use of a Web Site.
-
- Your privacy is very important to us. Accordingly, we have developed this Policy in order for you to understand how
- we collect, use, communicate and disclose and make use of personal information. The following outlines our privacy
- policy.
-
-
-
-
- Before or at the time of collecting personal information, we will identify the purposes for which information is
- being collected.
-
-
- We will collect and use of personal information solely with the objective of fulfilling those purposes specified
- by us and for other compatible purposes, unless we obtain the consent of the individual concerned or as required
- by law.
-
-
- We will only retain personal information as long as necessary for the fulfillment of those purposes.
-
-
- We will collect personal information by lawful and fair means and, where appropriate, with the knowledge or
- consent of the individual concerned.
-
-
- Personal data should be relevant to the purposes for which it is to be used, and, to the extent necessary for
- those purposes, should be accurate, complete, and up-to-date.
-
-
- We will protect personal information by reasonable security safeguards against loss or theft, as well as
- unauthorized access, disclosure, copying, use or modification.
-
-
- We will make readily available to customers information about our policies and practices relating to the
- management of personal information.
-
-
-
-
- We are committed to conducting our business in accordance with these principles in order to ensure that the
- confidentiality of personal information is protected and maintained.
-
diff --git a/main/app/sprinkles/core/templates/pages/privacy.html.twig b/main/app/sprinkles/core/templates/pages/privacy.html.twig
deleted file mode 100644
index d718a5d..0000000
--- a/main/app/sprinkles/core/templates/pages/privacy.html.twig
+++ /dev/null
@@ -1,12 +0,0 @@
-{% extends "pages/abstract/default.html.twig" %}
-
-{% set page_active = "home" %}
-
-{# Overrides blocks in head of base template #}
-{% block page_title %}{{ translate("PRIVACY") }}{% endblock %}
-
-{% block page_description %}{{ translate("PRIVACY.DESCRIPTION") }}{% endblock %}
-
-{% block body_matter %}
- {% include 'pages/partials/privacy.html.twig' %}
-{% endblock %}
diff --git a/main/app/sprinkles/core/templates/pages/test.html.twig b/main/app/sprinkles/core/templates/pages/test.html.twig
deleted file mode 100644
index 8c3200c..0000000
--- a/main/app/sprinkles/core/templates/pages/test.html.twig
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-{#
-
-
-
-
-
-
-{{ assets.js('js/main') | raw }}
-
-
-
-
-#}
\ No newline at end of file
diff --git a/main/app/sprinkles/core/templates/tables/table-paginated.html.twig b/main/app/sprinkles/core/templates/tables/table-paginated.html.twig
deleted file mode 100644
index 50ebf47..0000000
--- a/main/app/sprinkles/core/templates/tables/table-paginated.html.twig
+++ /dev/null
@@ -1,64 +0,0 @@
-{# Base layout for paginated tablesorter tables.
- # Requires tablesorter-custom.css for proper styling of pager elements.
-#}
-
-{# Set some default values for the child template. #}
-{% set table = {
- 'id': "uf-table",
- 'sortlist': "[[0, 0]]"
-} | merge(table) %}
-
-{#
- Global search field for the table. By default, only shown in mobile sizes.
- To customize this behavior, see core/assets/userfrosting/css/userfrosting.css
-#}
-{% block table_search %}
-
-
-
-
-{% endblock %}
-
- {% block table %}
- {# Define your table skeleton in this block in your child template #}
- {% endblock %}
-
- {% block table_cell_templates %}
- {# Define your Handlebars cell templates in this block in your child template #}
- {% endblock %}
-
- {% block table_info %}
-