From ca2db86279128fea3d1151a5e717b8ca20270965 Mon Sep 17 00:00:00 2001 From: cybafelo Date: Fri, 4 Oct 2019 11:25:50 +0200 Subject: [PATCH] initial --- .gitattributes | 50 + .gitignore | 41 + README.md | 51 + bin/cake | 75 + bin/cake.bat | 27 + bin/cake.php | 12 + composer.json | 53 + composer.lock | 4330 +++++++++++++++++ config/.env.default | 38 + config/app.default.php | 394 ++ config/bootstrap.php | 209 + config/bootstrap_cli.php | 28 + config/paths.php | 89 + config/requirements.php | 39 + config/routes.php | 104 + config/schema/i18n.sql | 18 + config/schema/sessions.sql | 15 + index.php | 16 + phpunit.xml.dist | 41 + plugins/empty | 0 src/Application.php | 99 + src/Console/Installer.php | 246 + src/Controller/AppController.php | 57 + src/Controller/Component/empty | 0 src/Controller/ErrorController.php | 70 + src/Controller/HomeController.php | 69 + src/Controller/Oauth2Controller.php | 75 + src/Controller/PagesController.php | 69 + src/Model/Behavior/empty | 0 src/Model/Entity/empty | 0 src/Model/Table/empty | 0 src/Shell/ConsoleShell.php | 81 + src/Template/Cell/empty | 1 + src/Template/Element/Flash/default.ctp | 10 + src/Template/Element/Flash/error.ctp | 6 + src/Template/Element/Flash/success.ctp | 6 + src/Template/Email/html/default.ctp | 20 + src/Template/Email/text/default.ctp | 16 + src/Template/Error/error400.ctp | 38 + src/Template/Error/error500.ctp | 43 + src/Template/Home/home.ctp | 7 + src/Template/Layout/Email/html/default.ctp | 24 + src/Template/Layout/Email/text/default.ctp | 16 + src/Template/Layout/ajax.ctp | 16 + src/Template/Layout/default.ctp | 173 + src/Template/Layout/error.ctp | 47 + src/Template/Layout/rss/default.ctp | 11 + src/Template/Pages/home.ctp | 276 ++ src/View/AjaxView.php | 49 + src/View/AppView.php | 40 + src/View/Cell/empty | 0 src/View/Helper/empty | 0 src/src/Application.php | 99 + src/src/Console/Installer.php | 246 + src/src/Controller/AppController.php | 57 + src/src/Controller/Component/empty | 0 src/src/Controller/ErrorController.php | 70 + src/src/Controller/HomeController.php | 69 + src/src/Controller/Oauth2Controller.php | 75 + src/src/Model/Behavior/empty | 0 src/src/Model/Entity/empty | 0 src/src/Model/Table/empty | 0 src/src/Shell/ConsoleShell.php | 81 + src/src/Template/Cell/empty | 1 + src/src/Template/Element/Flash/default.ctp | 10 + src/src/Template/Element/Flash/error.ctp | 6 + src/src/Template/Element/Flash/success.ctp | 6 + src/src/Template/Email/html/default.ctp | 20 + src/src/Template/Email/text/default.ctp | 16 + src/src/Template/Error/error400.ctp | 38 + src/src/Template/Error/error500.ctp | 43 + src/src/Template/Home/home.ctp | 7 + .../Template/Layout/Email/html/default.ctp | 24 + .../Template/Layout/Email/text/default.ctp | 16 + src/src/Template/Layout/ajax.ctp | 16 + src/src/Template/Layout/default.ctp | 173 + src/src/Template/Layout/error.ctp | 47 + src/src/Template/Layout/rss/default.ctp | 11 + src/src/View/AjaxView.php | 49 + src/src/View/AppView.php | 40 + src/src/View/Cell/empty | 0 src/src/View/Helper/empty | 0 tests/Fixture/empty | 0 tests/TestCase/ApplicationTest.php | 84 + tests/TestCase/Controller/Component/empty | 0 .../Controller/PagesControllerTest.php | 97 + tests/TestCase/Model/Behavior/empty | 0 tests/TestCase/View/Helper/empty | 0 tests/bootstrap.php | 12 + webroot/.htaccess | 5 + webroot/css/base.css | 455 ++ webroot/css/home.css | 240 + webroot/css/style.css | 37 + webroot/favicon-16x16.png | Bin 0 -> 496 bytes webroot/favicon-32x32.png | Bin 0 -> 991 bytes webroot/favicon-48x48.png | Bin 0 -> 1166 bytes webroot/favicon.ico | Bin 0 -> 9662 bytes webroot/font/cakedingbats-webfont.eot | Bin 0 -> 75538 bytes webroot/font/cakedingbats-webfont.svg | 78 + webroot/font/cakedingbats-webfont.ttf | Bin 0 -> 75412 bytes webroot/font/cakedingbats-webfont.woff | Bin 0 -> 43484 bytes webroot/font/cakedingbats-webfont.woff2 | Bin 0 -> 35456 bytes webroot/img/cake-logo.png | Bin 0 -> 2683 bytes webroot/img/cake.icon.png | Bin 0 -> 943 bytes webroot/img/cake.logo.svg | 41 + webroot/img/cake.power.gif | Bin 0 -> 201 bytes webroot/index.php | 40 + webroot/js/config.js | 57 + webroot/js/empty | 0 webroot/manifest.webmanifest | 8 + webroot/robots.txt | 2 + 111 files changed, 9571 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100755 bin/cake create mode 100644 bin/cake.bat create mode 100644 bin/cake.php create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 config/.env.default create mode 100644 config/app.default.php create mode 100644 config/bootstrap.php create mode 100644 config/bootstrap_cli.php create mode 100644 config/paths.php create mode 100644 config/requirements.php create mode 100644 config/routes.php create mode 100644 config/schema/i18n.sql create mode 100644 config/schema/sessions.sql create mode 100644 index.php create mode 100644 phpunit.xml.dist create mode 100644 plugins/empty create mode 100644 src/Application.php create mode 100644 src/Console/Installer.php create mode 100644 src/Controller/AppController.php create mode 100644 src/Controller/Component/empty create mode 100644 src/Controller/ErrorController.php create mode 100644 src/Controller/HomeController.php create mode 100644 src/Controller/Oauth2Controller.php create mode 100644 src/Controller/PagesController.php create mode 100644 src/Model/Behavior/empty create mode 100644 src/Model/Entity/empty create mode 100644 src/Model/Table/empty create mode 100644 src/Shell/ConsoleShell.php create mode 100644 src/Template/Cell/empty create mode 100644 src/Template/Element/Flash/default.ctp create mode 100644 src/Template/Element/Flash/error.ctp create mode 100644 src/Template/Element/Flash/success.ctp create mode 100644 src/Template/Email/html/default.ctp create mode 100644 src/Template/Email/text/default.ctp create mode 100644 src/Template/Error/error400.ctp create mode 100644 src/Template/Error/error500.ctp create mode 100644 src/Template/Home/home.ctp create mode 100644 src/Template/Layout/Email/html/default.ctp create mode 100644 src/Template/Layout/Email/text/default.ctp create mode 100644 src/Template/Layout/ajax.ctp create mode 100644 src/Template/Layout/default.ctp create mode 100644 src/Template/Layout/error.ctp create mode 100644 src/Template/Layout/rss/default.ctp create mode 100644 src/Template/Pages/home.ctp create mode 100644 src/View/AjaxView.php create mode 100644 src/View/AppView.php create mode 100644 src/View/Cell/empty create mode 100644 src/View/Helper/empty create mode 100644 src/src/Application.php create mode 100644 src/src/Console/Installer.php create mode 100644 src/src/Controller/AppController.php create mode 100644 src/src/Controller/Component/empty create mode 100644 src/src/Controller/ErrorController.php create mode 100644 src/src/Controller/HomeController.php create mode 100644 src/src/Controller/Oauth2Controller.php create mode 100644 src/src/Model/Behavior/empty create mode 100644 src/src/Model/Entity/empty create mode 100644 src/src/Model/Table/empty create mode 100644 src/src/Shell/ConsoleShell.php create mode 100644 src/src/Template/Cell/empty create mode 100644 src/src/Template/Element/Flash/default.ctp create mode 100644 src/src/Template/Element/Flash/error.ctp create mode 100644 src/src/Template/Element/Flash/success.ctp create mode 100644 src/src/Template/Email/html/default.ctp create mode 100644 src/src/Template/Email/text/default.ctp create mode 100644 src/src/Template/Error/error400.ctp create mode 100644 src/src/Template/Error/error500.ctp create mode 100644 src/src/Template/Home/home.ctp create mode 100644 src/src/Template/Layout/Email/html/default.ctp create mode 100644 src/src/Template/Layout/Email/text/default.ctp create mode 100644 src/src/Template/Layout/ajax.ctp create mode 100644 src/src/Template/Layout/default.ctp create mode 100644 src/src/Template/Layout/error.ctp create mode 100644 src/src/Template/Layout/rss/default.ctp create mode 100644 src/src/View/AjaxView.php create mode 100644 src/src/View/AppView.php create mode 100644 src/src/View/Cell/empty create mode 100644 src/src/View/Helper/empty create mode 100644 tests/Fixture/empty create mode 100644 tests/TestCase/ApplicationTest.php create mode 100644 tests/TestCase/Controller/Component/empty create mode 100644 tests/TestCase/Controller/PagesControllerTest.php create mode 100644 tests/TestCase/Model/Behavior/empty create mode 100644 tests/TestCase/View/Helper/empty create mode 100644 tests/bootstrap.php create mode 100644 webroot/.htaccess create mode 100644 webroot/css/base.css create mode 100644 webroot/css/home.css create mode 100644 webroot/css/style.css create mode 100644 webroot/favicon-16x16.png create mode 100644 webroot/favicon-32x32.png create mode 100644 webroot/favicon-48x48.png create mode 100644 webroot/favicon.ico create mode 100644 webroot/font/cakedingbats-webfont.eot create mode 100644 webroot/font/cakedingbats-webfont.svg create mode 100644 webroot/font/cakedingbats-webfont.ttf create mode 100644 webroot/font/cakedingbats-webfont.woff create mode 100644 webroot/font/cakedingbats-webfont.woff2 create mode 100644 webroot/img/cake-logo.png create mode 100644 webroot/img/cake.icon.png create mode 100644 webroot/img/cake.logo.svg create mode 100644 webroot/img/cake.power.gif create mode 100644 webroot/index.php create mode 100644 webroot/js/config.js create mode 100644 webroot/js/empty create mode 100644 webroot/manifest.webmanifest create mode 100644 webroot/robots.txt diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..aafe2ef --- /dev/null +++ b/.gitattributes @@ -0,0 +1,50 @@ +# Define the line ending behavior of the different file extensions +# Set default behavior, in case users don't have core.autocrlf set. +* text=auto +* text eol=lf + +# Explicitly declare text files we want to always be normalized and converted +# to native line endings on checkout. +*.php text +*.default text +*.ctp text +*.sql text +*.md text +*.po text +*.js text +*.css text +*.ini text +*.properties text +*.txt text +*.xml text +*.svg text +*.yml text +.htaccess text + +# Declare files that will always have CRLF line endings on checkout. +*.bat eol=crlf + +# Declare files that will always have LF line endings on checkout. +*.pem eol=lf + +# Denote all files that are truly binary and should not be modified. +*.png binary +*.jpg binary +*.gif binary +*.webp binary +*.ico binary +*.mo binary +*.pdf binary +*.phar binary +*.woff binary +*.woff2 binary +*.ttf binary +*.otf binary +*.eot binary +*.gz binary +*.bz2 binary +*.7z binary +*.zip binary +*.webm binary +*.mp4 binary +*.ogv binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a3fe85a --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# CakePHP specific files # +########################## +/config/app.php +/config/.env +/logs/* +/tmp/* +/vendor/* + +# OS generated files # +###################### +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +Icon? +ehthumbs.db +Thumbs.db +.directory + +# Tool specific files # +####################### +# vim +*~ +*.swp +*.swo +# sublime text & textmate +*.sublime-* +*.stTheme.cache +*.tmlanguage.cache +*.tmPreferences.cache +# Eclipse +.settings/* +# JetBrains, aka PHPStorm, IntelliJ IDEA +.idea/* +# NetBeans +nbproject/* +# Visual Studio Code +.vscode +# Sass preprocessor +.sass-cache/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..61f89d3 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# CakePHP Application Skeleton + +[![Build Status](https://img.shields.io/travis/cakephp/app/master.svg?style=flat-square)](https://travis-ci.org/cakephp/app) +[![Total Downloads](https://img.shields.io/packagist/dt/cakephp/app.svg?style=flat-square)](https://packagist.org/packages/cakephp/app) + +A skeleton for creating applications with [CakePHP](https://cakephp.org) 3.x. + +The framework source code can be found here: [cakephp/cakephp](https://github.com/cakephp/cakephp). + +## Installation + +1. Download [Composer](https://getcomposer.org/doc/00-intro.md) or update `composer self-update`. +2. Run `php composer.phar create-project --prefer-dist cakephp/app [app_name]`. + +If Composer is installed globally, run + +```bash +composer create-project --prefer-dist cakephp/app +``` + +In case you want to use a custom app dir name (e.g. `/myapp/`): + +```bash +composer create-project --prefer-dist cakephp/app myapp +``` + +You can now either use your machine's webserver to view the default home page, or start +up the built-in webserver with: + +```bash +bin/cake server -p 8765 +``` + +Then visit `http://localhost:8765` to see the welcome page. + +## Update + +Since this skeleton is a starting point for your application and various files +would have been modified as per your needs, there isn't a way to provide +automated upgrades, so you have to do any updates manually. + +## Configuration + +Read and edit `config/app.php` and setup the `'Datasources'` and any other +configuration relevant for your application. + +## Layout + +The app skeleton uses a subset of [Foundation](http://foundation.zurb.com/) (v5) CSS +framework by default. You can, however, replace it with any other library or +custom styles. diff --git a/bin/cake b/bin/cake new file mode 100755 index 0000000..4b696c8 --- /dev/null +++ b/bin/cake @@ -0,0 +1,75 @@ +#!/usr/bin/env sh +################################################################################ +# +# Cake is a shell script for invoking CakePHP shell commands +# +# CakePHP(tm) : Rapid Development Framework (https://cakephp.org) +# Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +# +# Licensed under The MIT License +# For full copyright and license information, please see the LICENSE.txt +# Redistributions of files must retain the above copyright notice. +# +# @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +# @link https://cakephp.org CakePHP(tm) Project +# @since 1.2.0 +# @license https://opensource.org/licenses/mit-license.php MIT License +# +################################################################################ + +# Canonicalize by following every symlink of the given name recursively +canonicalize() { + NAME="$1" + if [ -f "$NAME" ] + then + DIR=$(dirname -- "$NAME") + NAME=$(cd -P "$DIR" > /dev/null && pwd -P)/$(basename -- "$NAME") + fi + while [ -h "$NAME" ]; do + DIR=$(dirname -- "$NAME") + SYM=$(readlink "$NAME") + NAME=$(cd "$DIR" > /dev/null && cd "$(dirname -- "$SYM")" > /dev/null && pwd)/$(basename -- "$SYM") + done + echo "$NAME" +} + +# Find a CLI version of PHP +findCliPhp() { + for TESTEXEC in php php-cli /usr/local/bin/php + do + SAPI=$(echo "" | $TESTEXEC 2>/dev/null) + if [ "$SAPI" = "cli" ] + then + echo $TESTEXEC + return + fi + done + echo "Failed to find a CLI version of PHP; falling back to system standard php executable" >&2 + echo "php"; +} + +# If current path is a symlink, resolve to real path +realname="$0" +if [ -L "$realname" ] +then + realname=$(readlink -f "$0") +fi + +CONSOLE=$(dirname -- "$(canonicalize "$realname")") +APP=$(dirname "$CONSOLE") + +# If your CLI PHP is somewhere that this doesn't find, you can define a PHP environment +# variable with the correct path in it. +if [ -z "$PHP" ] +then + PHP=$(findCliPhp) +fi + +if [ "$(basename "$realname")" != 'cake' ] +then + exec "$PHP" "$CONSOLE"/cake.php "$(basename "$realname")" "$@" +else + exec "$PHP" "$CONSOLE"/cake.php "$@" +fi + +exit diff --git a/bin/cake.bat b/bin/cake.bat new file mode 100644 index 0000000..ad13782 --- /dev/null +++ b/bin/cake.bat @@ -0,0 +1,27 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: +:: Cake is a Windows batch script for invoking CakePHP shell commands +:: +:: CakePHP(tm) : Rapid Development Framework (https://cakephp.org) +:: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +:: +:: Licensed under The MIT License +:: Redistributions of files must retain the above copyright notice. +:: +:: @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +:: @link https://cakephp.org CakePHP(tm) Project +:: @since 2.0.0 +:: @license https://opensource.org/licenses/mit-license.php MIT License +:: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +@echo off + +SET app=%0 +SET lib=%~dp0 + +php "%lib%cake.php" %* + +echo. + +exit /B %ERRORLEVEL% diff --git a/bin/cake.php b/bin/cake.php new file mode 100644 index 0000000..320ee36 --- /dev/null +++ b/bin/cake.php @@ -0,0 +1,12 @@ +#!/usr/bin/php -q +run($argv)); diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..ed454e6 --- /dev/null +++ b/composer.json @@ -0,0 +1,53 @@ +{ + "name": "cakephp/app", + "description": "CakePHP skeleton app", + "homepage": "https://cakephp.org", + "type": "project", + "license": "MIT", + "require": { + "php": ">=5.6", + "cakephp/cakephp": "3.8.*", + "cakephp/migrations": "^2.0.0", + "cakephp/plugin-installer": "^1.0", + "mobiledetect/mobiledetectlib": "2.*" + }, + "require-dev": { + "cakephp/bake": "^1.9.0", + "cakephp/cakephp-codesniffer": "^3.0", + "cakephp/debug_kit": "^3.17.0", + "josegonzalez/dotenv": "3.*", + "phpunit/phpunit": "^5|^6", + "psy/psysh": "@stable" + }, + "suggest": { + "markstory/asset_compress": "An asset compression plugin which provides file concatenation and a flexible filter system for preprocessing and minification.", + "dereuromark/cakephp-ide-helper": "After baking your code, this keeps your annotations in sync with the code evolving from there on for maximum IDE and PHPStan compatibility." + }, + "autoload": { + "psr-4": { + "App\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "App\\Test\\": "tests/", + "Cake\\Test\\": "vendor/cakephp/cakephp/tests/" + } + }, + "scripts": { + "post-install-cmd": "App\\Console\\Installer::postInstall", + "post-create-project-cmd": "App\\Console\\Installer::postInstall", + "post-autoload-dump": "Cake\\Composer\\Installer\\PluginInstaller::postAutoloadDump", + "check": [ + "@test", + "@cs-check" + ], + "cs-check": "phpcs --colors -p --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/", + "cs-fix": "phpcbf --colors --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/", + "test": "phpunit --colors=always" + }, + "prefer-stable": true, + "config": { + "sort-packages": true + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..6b4edb1 --- /dev/null +++ b/composer.lock @@ -0,0 +1,4330 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "bae3f640a631a993a49129d353eefbf9", + "packages": [ + { + "name": "aura/intl", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/auraphp/Aura.Intl.git", + "reference": "7fce228980b19bf4dee2d7bbd6202a69b0dde926" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/auraphp/Aura.Intl/zipball/7fce228980b19bf4dee2d7bbd6202a69b0dde926", + "reference": "7fce228980b19bf4dee2d7bbd6202a69b0dde926", + "shasum": "" + }, + "require": { + "php": "^5.6|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Aura\\Intl\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aura.Intl Contributors", + "homepage": "https://github.com/auraphp/Aura.Intl/contributors" + } + ], + "description": "The Aura Intl package provides internationalization tools, specifically message translation.", + "homepage": "https://github.com/auraphp/Aura.Intl", + "keywords": [ + "g11n", + "globalization", + "i18n", + "internationalization", + "intl", + "l10n", + "localization" + ], + "time": "2017-01-20T05:00:11+00:00" + }, + { + "name": "cakephp/cakephp", + "version": "3.8.4", + "source": { + "type": "git", + "url": "https://github.com/cakephp/cakephp.git", + "reference": "a2ff473a20f467458680b6841a3fdb190eef113d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/cakephp/zipball/a2ff473a20f467458680b6841a3fdb190eef113d", + "reference": "a2ff473a20f467458680b6841a3fdb190eef113d", + "shasum": "" + }, + "require": { + "aura/intl": "^3.0.0", + "cakephp/chronos": "^1.0.1", + "ext-intl": "*", + "ext-mbstring": "*", + "php": ">=5.6.0", + "psr/log": "^1.0.0", + "psr/simple-cache": "^1.0.0", + "zendframework/zend-diactoros": "^1.4.0" + }, + "conflict": { + "phpunit/phpunit": "<5.7" + }, + "replace": { + "cakephp/cache": "self.version", + "cakephp/collection": "self.version", + "cakephp/core": "self.version", + "cakephp/database": "self.version", + "cakephp/datasource": "self.version", + "cakephp/event": "self.version", + "cakephp/filesystem": "self.version", + "cakephp/form": "self.version", + "cakephp/i18n": "self.version", + "cakephp/log": "self.version", + "cakephp/orm": "self.version", + "cakephp/utility": "self.version", + "cakephp/validation": "self.version" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "cakephp/chronos": "^1.2.1", + "phpunit/phpunit": "^5.7.14|^6.0" + }, + "suggest": { + "ext-curl": "To enable more efficient network calls in Http\\Client.", + "ext-openssl": "To use Security::encrypt() or have secure CSRF token generation.", + "lib-ICU": "The intl PHP library, to use Text::transliterate() or Text::slug()" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\": "src/" + }, + "files": [ + "src/Core/functions.php", + "src/Collection/functions.php", + "src/I18n/functions.php", + "src/Utility/bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/cakephp/graphs/contributors" + } + ], + "description": "The CakePHP framework", + "homepage": "https://cakephp.org", + "keywords": [ + "conventions over configuration", + "dry", + "form", + "framework", + "mvc", + "orm", + "psr-7", + "rapid-development", + "validation" + ], + "time": "2019-09-14T01:34:26+00:00" + }, + { + "name": "cakephp/chronos", + "version": "1.2.8", + "source": { + "type": "git", + "url": "https://github.com/cakephp/chronos.git", + "reference": "0292f06e8cc23fc82f0574889da2d8bf27b613c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/chronos/zipball/0292f06e8cc23fc82f0574889da2d8bf27b613c1", + "reference": "0292f06e8cc23fc82f0574889da2d8bf27b613c1", + "shasum": "" + }, + "require": { + "php": "^5.5.9|^7" + }, + "require-dev": { + "athletic/athletic": "~0.1", + "cakephp/cakephp-codesniffer": "^3.0", + "phpbench/phpbench": "@dev", + "phpstan/phpstan": "^0.6.4", + "phpunit/phpunit": "<6.0 || ^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Chronos\\": "src/" + }, + "files": [ + "src/carbon_compat.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + }, + { + "name": "The CakePHP Team", + "homepage": "http://cakephp.org" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://cakephp.org", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2019-06-17T15:19:18+00:00" + }, + { + "name": "cakephp/migrations", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/cakephp/migrations.git", + "reference": "38fbee62e7f387dbe0dc7ef492aa7dddb8e304fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/migrations/zipball/38fbee62e7f387dbe0dc7ef492aa7dddb8e304fc", + "reference": "38fbee62e7f387dbe0dc7ef492aa7dddb8e304fc", + "shasum": "" + }, + "require": { + "cakephp/cache": "^3.6.0", + "cakephp/orm": "^3.6.0", + "php": ">=5.6.0", + "robmorgan/phinx": "^0.10.3" + }, + "require-dev": { + "cakephp/bake": "^1.7.0", + "cakephp/cakephp": "^3.6.0", + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": "^5.7.14|^6.0" + }, + "suggest": { + "cakephp/bake": "Required if you want to generate migrations." + }, + "type": "cakephp-plugin", + "autoload": { + "psr-4": { + "Migrations\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/migrations/graphs/contributors" + } + ], + "description": "Database Migration plugin for CakePHP 3.0 based on Phinx", + "homepage": "https://github.com/cakephp/migrations", + "keywords": [ + "cakephp", + "migrations" + ], + "time": "2019-07-22T03:02:47+00:00" + }, + { + "name": "cakephp/plugin-installer", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/cakephp/plugin-installer.git", + "reference": "af9711ee5dfbe62a76e8aa86cb348895fab23b50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/plugin-installer/zipball/af9711ee5dfbe62a76e8aa86cb348895fab23b50", + "reference": "af9711ee5dfbe62a76e8aa86cb348895fab23b50", + "shasum": "" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "dev-master", + "composer/composer": "1.0.*@dev", + "phpunit/phpunit": "^4.8|^5.7|^6.0" + }, + "type": "composer-installer", + "extra": { + "class": "Cake\\Composer\\Installer\\PluginInstaller" + }, + "autoload": { + "psr-4": { + "Cake\\Composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "http://cakephp.org" + } + ], + "description": "A composer installer for CakePHP 3.0+ plugins.", + "time": "2019-07-25T15:43:38+00:00" + }, + { + "name": "mobiledetect/mobiledetectlib", + "version": "2.8.34", + "source": { + "type": "git", + "url": "https://github.com/serbanghita/Mobile-Detect.git", + "reference": "6f8113f57a508494ca36acbcfa2dc2d923c7ed5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/6f8113f57a508494ca36acbcfa2dc2d923c7ed5b", + "reference": "6f8113f57a508494ca36acbcfa2dc2d923c7ed5b", + "shasum": "" + }, + "require": { + "php": ">=5.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.35||~5.7" + }, + "type": "library", + "autoload": { + "classmap": [ + "Mobile_Detect.php" + ], + "psr-0": { + "Detection": "namespaced/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Serban Ghita", + "email": "serbanghita@gmail.com", + "homepage": "http://mobiledetect.net", + "role": "Developer" + } + ], + "description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.", + "homepage": "https://github.com/serbanghita/Mobile-Detect", + "keywords": [ + "detect mobile devices", + "mobile", + "mobile detect", + "mobile detector", + "php mobile detect" + ], + "time": "2019-09-18T18:44:20+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2018-11-20T15:27:04+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "robmorgan/phinx", + "version": "0.10.8", + "source": { + "type": "git", + "url": "https://github.com/cakephp/phinx.git", + "reference": "1960e93169707096fdfde04904a204970077f4be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/phinx/zipball/1960e93169707096fdfde04904a204970077f4be", + "reference": "1960e93169707096fdfde04904a204970077f4be", + "shasum": "" + }, + "require": { + "cakephp/collection": "^3.6", + "cakephp/database": "^3.6", + "php": ">=5.6", + "symfony/config": "^2.8|^3.0|^4.0", + "symfony/console": "^2.8|^3.0|^4.0", + "symfony/yaml": "^2.8|^3.0|^4.0" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": ">=5.7,<7.0", + "sebastian/comparator": ">=1.2.3" + }, + "bin": [ + "bin/phinx" + ], + "type": "library", + "autoload": { + "psr-4": { + "Phinx\\": "src/Phinx/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Woody Gilk", + "email": "woody.gilk@gmail.com", + "homepage": "http://shadowhand.me", + "role": "Developer" + }, + { + "name": "Rob Morgan", + "email": "robbym@gmail.com", + "homepage": "https://robmorgan.id.au", + "role": "Lead Developer" + }, + { + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Developer" + }, + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/phinx/graphs/contributors" + } + ], + "description": "Phinx makes it ridiculously easy to manage the database migrations for your PHP app.", + "homepage": "https://phinx.org", + "keywords": [ + "database", + "database migrations", + "db", + "migrations", + "phinx" + ], + "time": "2019-07-08T16:59:55+00:00" + }, + { + "name": "symfony/config", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "07d49c0f823e0bc367c6d84e35b61419188a5ece" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/07d49c0f823e0bc367c6d84e35b61419188a5ece", + "reference": "07d49c0f823e0bc367c6d84e35b61419188a5ece", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/filesystem": "~3.4|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/finder": "<3.4" + }, + "require-dev": { + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/messenger": "~4.1", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/console", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "de63799239b3881b8a08f8481b22348f77ed7b36" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/de63799239b3881b8a08f8481b22348f77ed7b36", + "reference": "de63799239b3881b8a08f8481b22348f77ed7b36", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/service-contracts": "^1.1" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/event-dispatcher": "<4.3", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "^4.3", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "symfony/var-dumper": "^4.3" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "9abbb7ef96a51f4d7e69627bc6f63307994e4263" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/9abbb7ef96a51f4d7e69627bc6f63307994e4263", + "reference": "9abbb7ef96a51f4d7e69627bc6f63307994e4263", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2019-08-20T14:07:54+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "550ebaac289296ce228a706d0867afc34687e3f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", + "reference": "550ebaac289296ce228a706d0867afc34687e3f4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/2ceb49eaccb9352bff54d22570276bb75ba4a188", + "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v1.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ea7263d6b6d5f798b56a45a5b8d686725f2719a3", + "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-08-20T14:44:19+00:00" + }, + { + "name": "symfony/yaml", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", + "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2019-08-20T14:27:59+00:00" + }, + { + "name": "zendframework/zend-diactoros", + "version": "1.8.7", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-diactoros.git", + "reference": "a85e67b86e9b8520d07e6415fcbcb8391b44a75b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/a85e67b86e9b8520d07e6415fcbcb8391b44a75b", + "reference": "a85e67b86e9b8520d07e6415fcbcb8391b44a75b", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "psr/http-message": "^1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-dom": "*", + "ext-libxml": "*", + "php-http/psr7-integration-tests": "dev-master", + "phpunit/phpunit": "^5.7.16 || ^6.0.8 || ^7.2.7", + "zendframework/zend-coding-standard": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-release-1.8": "1.8.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php" + ], + "psr-4": { + "Zend\\Diactoros\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "description": "PSR HTTP Message implementations", + "homepage": "https://github.com/zendframework/zend-diactoros", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2019-08-06T17:53:53+00:00" + } + ], + "packages-dev": [ + { + "name": "ajgl/breakpoint-twig-extension", + "version": "0.3.4", + "source": { + "type": "git", + "url": "https://github.com/ajgarlag/AjglBreakpointTwigExtension.git", + "reference": "13ee39406dc3d959c5704b462a3dbc3cbf088f16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ajgarlag/AjglBreakpointTwigExtension/zipball/13ee39406dc3d959c5704b462a3dbc3cbf088f16", + "reference": "13ee39406dc3d959c5704b462a3dbc3cbf088f16", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "twig/twig": "^1.14|^2.0" + }, + "require-dev": { + "symfony/framework-bundle": "^2.7|^3.2|^4.1", + "symfony/phpunit-bridge": "^3.4|^4.1", + "symfony/twig-bundle": "^2.7|^3.2|^4.1" + }, + "suggest": { + "ext-xdebug": "The Xdebug extension is required for the breakpoint to work", + "symfony/framework-bundle": "The framework bundle to integrate the extension into Symfony", + "symfony/twig-bundle": "The twig bundle to integrate the extension into Symfony" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Ajgl\\Twig\\Extension\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Antonio J. García Lagar", + "email": "aj@garcialagar.es", + "homepage": "http://aj.garcialagar.es", + "role": "developer" + } + ], + "description": "Twig extension to set breakpoints", + "homepage": "https://github.com/ajgarlag/AjglBreakpointTwigExtension", + "keywords": [ + "Xdebug", + "breakpoint", + "twig" + ], + "time": "2019-04-10T11:41:26+00:00" + }, + { + "name": "aptoma/twig-markdown", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/aptoma/twig-markdown.git", + "reference": "64a9c5c7418c08faf91c4410b34bdb65fb25c23d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aptoma/twig-markdown/zipball/64a9c5c7418c08faf91c4410b34bdb65fb25c23d", + "reference": "64a9c5c7418c08faf91c4410b34bdb65fb25c23d", + "shasum": "" + }, + "require": { + "twig/twig": "~1.12" + }, + "require-dev": { + "codeclimate/php-test-reporter": "dev-master", + "erusev/parsedown": "^1.6", + "knplabs/github-api": "~1.2", + "league/commonmark": "~0.5", + "michelf/php-markdown": "~1", + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~0.6" + }, + "suggest": { + "knplabs/github-api": "Needed for using GitHub's Markdown engine provided through their API.", + "michelf/php-markdown": "Original Markdown engine with MarkdownExtra." + }, + "type": "library", + "autoload": { + "psr-0": { + "Aptoma": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Joris Berthelot", + "email": "joris@berthelot.tel" + }, + { + "name": "Gunnar Lium", + "email": "gunnar@aptoma.com" + } + ], + "description": "Twig extension to work with Markdown content", + "keywords": [ + "markdown", + "twig" + ], + "time": "2015-10-23T20:27:08+00:00" + }, + { + "name": "asm89/twig-cache-extension", + "version": "1.3.2", + "source": { + "type": "git", + "url": "https://github.com/asm89/twig-cache-extension.git", + "reference": "630ea7abdc3fc62ba6786c02590a1560e449cf55" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/asm89/twig-cache-extension/zipball/630ea7abdc3fc62ba6786c02590a1560e449cf55", + "reference": "630ea7abdc3fc62ba6786c02590a1560e449cf55", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "twig/twig": "^1.0|^2.0" + }, + "require-dev": { + "doctrine/cache": "~1.0" + }, + "suggest": { + "psr/cache-implementation": "To make use of PSR-6 cache implementation via PsrCacheAdapter." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander", + "email": "iam.asm89@gmail.com" + } + ], + "description": "Cache fragments of templates directly within Twig.", + "homepage": "https://github.com/asm89/twig-cache-extension", + "keywords": [ + "cache", + "extension", + "twig" + ], + "time": "2017-01-10T22:04:15+00:00" + }, + { + "name": "cakephp/bake", + "version": "1.11.2", + "source": { + "type": "git", + "url": "https://github.com/cakephp/bake.git", + "reference": "8598c3326541a16aa7b003ce322c44a34f90ad85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/bake/zipball/8598c3326541a16aa7b003ce322c44a34f90ad85", + "reference": "8598c3326541a16aa7b003ce322c44a34f90ad85", + "shasum": "" + }, + "require": { + "cakephp/cakephp": "^3.8.0", + "cakephp/plugin-installer": "^1.0", + "php": ">=5.6.0", + "wyrihaximus/twig-view": "^4.3.7" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": "^5.7.14|^6.0" + }, + "type": "cakephp-plugin", + "autoload": { + "psr-4": { + "Bake\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/bake/graphs/contributors" + } + ], + "description": "Bake plugin for CakePHP 3", + "homepage": "https://github.com/cakephp/bake", + "keywords": [ + "bake", + "cakephp" + ], + "time": "2019-07-30T02:08:16+00:00" + }, + { + "name": "cakephp/cakephp-codesniffer", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/cakephp/cakephp-codesniffer.git", + "reference": "45a1dcc2e83598362b8c323df3e67510676457fe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/cakephp-codesniffer/zipball/45a1dcc2e83598362b8c323df3e67510676457fe", + "reference": "45a1dcc2e83598362b8c323df3e67510676457fe", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "squizlabs/php_codesniffer": "^3.0.0" + }, + "require-dev": { + "phpunit/phpunit": "<6.0" + }, + "type": "phpcodesniffer-standard", + "autoload": { + "psr-4": { + "CakePHP\\": "CakePHP" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/cakephp-codesniffer/graphs/contributors" + } + ], + "description": "CakePHP CodeSniffer Standards", + "homepage": "http://cakephp.org", + "keywords": [ + "codesniffer", + "framework" + ], + "time": "2019-08-30T01:55:00+00:00" + }, + { + "name": "cakephp/debug_kit", + "version": "3.20.2", + "source": { + "type": "git", + "url": "https://github.com/cakephp/debug_kit.git", + "reference": "0ea1b56978e3f9a5c5c3091b4e1732c1446fae7d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/debug_kit/zipball/0ea1b56978e3f9a5c5c3091b4e1732c1446fae7d", + "reference": "0ea1b56978e3f9a5c5c3091b4e1732c1446fae7d", + "shasum": "" + }, + "require": { + "cakephp/cakephp": "^3.7.0", + "cakephp/chronos": "^1.0.0", + "cakephp/plugin-installer": "^1.0.0", + "composer/composer": "^1.3.0", + "jdorn/sql-formatter": "^1.2.0", + "php": ">=5.6.0" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": "^5.7.14|^6.0" + }, + "suggest": { + "ext-pdo_sqlite": "DebugKit needs to store panel data in a database. SQLite is simple and easy to use." + }, + "type": "cakephp-plugin", + "autoload": { + "psr-4": { + "DebugKit\\": "src", + "DebugKit\\Test\\Fixture\\": "tests\\Fixture" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Story", + "homepage": "http://mark-story.com", + "role": "Author" + }, + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/debug_kit/graphs/contributors" + } + ], + "description": "CakePHP Debug Kit", + "homepage": "https://github.com/cakephp/debug_kit", + "keywords": [ + "cakephp", + "debug", + "kit" + ], + "time": "2019-08-27T00:17:02+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.2.4", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/10bb96592168a0f8e8f6dcde3532d9fa50b0b527", + "reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2019-08-30T08:44:50+00:00" + }, + { + "name": "composer/composer", + "version": "1.9.0", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "314aa57fdcfc942065996f59fb73a8b3f74f3fa5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/composer/zipball/314aa57fdcfc942065996f59fb73a8b3f74f3fa5", + "reference": "314aa57fdcfc942065996f59fb73a8b3f74f3fa5", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0" + }, + "conflict": { + "symfony/console": "2.8.38" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7", + "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "time": "2019-08-02T18:55:33+00:00" + }, + { + "name": "composer/semver", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/46d9139568ccb8d9e7cdd4539cab7347568a5e2e", + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5 || ^5.0.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "time": "2019-03-19T17:25:45+00:00" + }, + { + "name": "composer/spdx-licenses", + "version": "1.5.2", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "7ac1e6aec371357df067f8a688c3d6974df68fa5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/7ac1e6aec371357df067f8a688c3d6974df68fa5", + "reference": "7ac1e6aec371357df067f8a688c3d6974df68fa5", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "SPDX licenses list and validation library.", + "keywords": [ + "license", + "spdx", + "validator" + ], + "time": "2019-07-29T10:31:59+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "46867cbf8ca9fb8d60c506895449eb799db1184f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/46867cbf8ca9fb8d60c506895449eb799db1184f", + "reference": "46867cbf8ca9fb8d60c506895449eb799db1184f", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "time": "2019-05-27T17:52:04+00:00" + }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "0.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "@stable" + }, + "type": "project", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "time": "2014-10-24T07:27:01+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "a2c590166b2133a4633738648b6b064edae0814a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", + "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2019-03-17T17:37:11+00:00" + }, + { + "name": "jakub-onderka/php-console-color", + "version": "v0.2", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191", + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "jakub-onderka/php-code-style": "1.0", + "jakub-onderka/php-parallel-lint": "1.0", + "jakub-onderka/php-var-dump-check": "0.*", + "phpunit/phpunit": "~4.3", + "squizlabs/php_codesniffer": "1.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "JakubOnderka\\PhpConsoleColor\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "jakub.onderka@gmail.com" + } + ], + "time": "2018-09-29T17:23:10+00:00" + }, + { + "name": "jakub-onderka/php-console-highlighter", + "version": "v0.4", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", + "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/9f7a229a69d52506914b4bc61bfdb199d90c5547", + "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "jakub-onderka/php-console-color": "~0.2", + "php": ">=5.4.0" + }, + "require-dev": { + "jakub-onderka/php-code-style": "~1.0", + "jakub-onderka/php-parallel-lint": "~1.0", + "jakub-onderka/php-var-dump-check": "~0.1", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "JakubOnderka\\PhpConsoleHighlighter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "acci@acci.cz", + "homepage": "http://www.acci.cz/" + } + ], + "description": "Highlight PHP code in terminal", + "time": "2018-09-29T18:48:56+00:00" + }, + { + "name": "jasny/twig-extensions", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/jasny/twig-extensions.git", + "reference": "30bdf3a3903c021544f36332c9d5d4d563527da4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jasny/twig-extensions/zipball/30bdf3a3903c021544f36332c9d5d4d563527da4", + "reference": "30bdf3a3903c021544f36332c9d5d4d563527da4", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 | >=5.6.0", + "twig/twig": "^2.0 | ^1.12" + }, + "require-dev": { + "ext-intl": "*", + "ext-pcre": "*", + "jasny/php-code-quality": "^2.1", + "phpunit/phpunit": "^5.0" + }, + "suggest": { + "ext-intl": "Required for the use of the LocalDate Twig extension", + "ext-pcre": "Required for the use of the PCRE Twig extension" + }, + "type": "library", + "autoload": { + "psr-4": { + "Jasny\\Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arnold Daniels", + "email": "arnold@jasny.net", + "homepage": "http://www.jasny.net" + } + ], + "description": "A set of useful Twig filters", + "homepage": "http://github.com/jasny/twig-extensions#README", + "keywords": [ + "PCRE", + "array", + "date", + "datetime", + "preg", + "regex", + "templating", + "text", + "time" + ], + "time": "2017-09-13T07:38:01+00:00" + }, + { + "name": "jdorn/sql-formatter", + "version": "v1.2.17", + "source": { + "type": "git", + "url": "https://github.com/jdorn/sql-formatter.git", + "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc", + "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "lib" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Dorn", + "email": "jeremy@jeremydorn.com", + "homepage": "http://jeremydorn.com/" + } + ], + "description": "a PHP SQL highlighting library", + "homepage": "https://github.com/jdorn/sql-formatter/", + "keywords": [ + "highlight", + "sql" + ], + "time": "2014-01-12T16:20:24+00:00" + }, + { + "name": "josegonzalez/dotenv", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/josegonzalez/php-dotenv.git", + "reference": "f19174d9d7213a6c20e8e5e268aa7dd042d821ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/josegonzalez/php-dotenv/zipball/f19174d9d7213a6c20e8e5e268aa7dd042d821ca", + "reference": "f19174d9d7213a6c20e8e5e268aa7dd042d821ca", + "shasum": "" + }, + "require": { + "m1/env": "2.*", + "php": ">=5.5.0" + }, + "require-dev": { + "php-mock/php-mock-phpunit": "^1.1", + "satooshi/php-coveralls": "1.*", + "squizlabs/php_codesniffer": "2.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "josegonzalez\\Dotenv": [ + "src", + "tests" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jose Diaz-Gonzalez", + "email": "dotenv@josegonzalez.com", + "homepage": "http://josediazgonzalez.com", + "role": "Maintainer" + } + ], + "description": "dotenv file parsing for PHP", + "homepage": "https://github.com/josegonzalez/php-dotenv", + "keywords": [ + "configuration", + "dotenv", + "php" + ], + "time": "2017-09-19T15:49:58+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.8", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2019-01-14T23:55:14+00:00" + }, + { + "name": "m1/env", + "version": "2.1.2", + "source": { + "type": "git", + "url": "https://github.com/m1/Env.git", + "reference": "294addeedf15e1149eeb96ec829f2029d2017d39" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/m1/Env/zipball/294addeedf15e1149eeb96ec829f2029d2017d39", + "reference": "294addeedf15e1149eeb96ec829f2029d2017d39", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*", + "scrutinizer/ocular": "~1.1", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "josegonzalez/dotenv": "For loading of .env", + "m1/vars": "For loading of configs" + }, + "type": "library", + "autoload": { + "psr-4": { + "M1\\Env\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Miles Croxford", + "email": "hello@milescroxford.com", + "homepage": "http://milescroxford.com", + "role": "Developer" + } + ], + "description": "Env is a lightweight library bringing .env file parser compatibility to PHP. In short - it enables you to read .env files with PHP.", + "homepage": "https://github.com/m1/Env", + "keywords": [ + ".env", + "config", + "dotenv", + "env", + "loader", + "m1", + "parser", + "support" + ], + "time": "2018-06-19T18:55:08+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.9.3", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", + "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2019-08-09T12:45:53+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.2.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "97e59c7a16464196a8b9c77c47df68e4a39a45c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/97e59c7a16464196a8b9c77c47df68e4a39a45c4", + "reference": "97e59c7a16464196a8b9c77c47df68e4a39a45c4", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2019-09-01T07:51:21+00:00" + }, + { + "name": "phar-io/manifest", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^1.0.1", + "php": "^5.6 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2017-03-05T18:14:27+00:00" + }, + { + "name": "phar-io/version", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "time": "2017-03-05T17:38:23+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "~6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2018-08-07T13:53:10+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "shasum": "" + }, + "require": { + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", + "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "doctrine/instantiator": "^1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2019-09-12T14:27:41+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "shasum": "" + }, + "require": { + "php": "^7.1", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "^7.1", + "mockery/mockery": "~1", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2019-08-22T18:11:29+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.9.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Prophecy\\": "src/Prophecy" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2019-10-03T11:07:50+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "5.3.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.0", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^2.0.1", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "suggest": { + "ext-xdebug": "^2.5.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2018-04-06T15:36:58+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2017-11-27T13:52:08+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.9", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2017-02-26T11:10:40+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "791198a2c6254db10131eecfe8c06670700904db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2017-11-27T05:48:46+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "6.5.14", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bac23fe7ff13dbdb461481f706f0e9fe746334b7", + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "^1.6.1", + "phar-io/manifest": "^1.0.1", + "phar-io/version": "^1.0", + "php": "^7.0", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^5.3", + "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^1.0.9", + "phpunit/phpunit-mock-objects": "^5.0.9", + "sebastian/comparator": "^2.1", + "sebastian/diff": "^2.0", + "sebastian/environment": "^3.1", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^1.0", + "sebastian/version": "^2.0.1" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2", + "phpunit/dbunit": "<3.0" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-xdebug": "*", + "phpunit/php-invoker": "^1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.5.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2019-02-01T05:22:47+00:00" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "5.0.10", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.5", + "php": "^7.0", + "phpunit/php-text-template": "^1.2.1", + "sebastian/exporter": "^3.1" + }, + "conflict": { + "phpunit/phpunit": "<6.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5.11" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "abandoned": true, + "time": "2018-08-09T05:50:03+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.9.9", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", + "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", + "shasum": "" + }, + "require": { + "dnoegel/php-xdg-base-dir": "0.1", + "ext-json": "*", + "ext-tokenizer": "*", + "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", + "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", + "php": ">=5.4.0", + "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0", + "symfony/var-dumper": "~2.7|~3.0|~4.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "hoa/console": "~2.15|~3.16", + "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", + "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.9.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "time": "2018-10-13T15:16:03+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" + }, + { + "name": "sebastian/comparator", + "version": "2.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/diff": "^2.0 || ^3.0", + "sebastian/exporter": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2018-02-01T13:46:46+00:00" + }, + { + "name": "sebastian/diff", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2017-08-03T08:09:46+00:00" + }, + { + "name": "sebastian/environment", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2017-07-01T08:51:00+00:00" + }, + { + "name": "sebastian/exporter", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2019-09-14T09:02:43+00:00" + }, + { + "name": "sebastian/global-state", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2017-04-27T15:39:26+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" + }, + { + "name": "sebastian/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2018-01-24T12:46:19+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phra" + ], + "time": "2015-10-13T18:44:15+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.5.0", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "0afebf16a2e7f1e434920fa976253576151effe9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/0afebf16a2e7f1e434920fa976253576151effe9", + "reference": "0afebf16a2e7f1e434920fa976253576151effe9", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards" + ], + "time": "2019-09-26T23:12:26+00:00" + }, + { + "name": "symfony/finder", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/86c1c929f0a4b24812e1eb109262fc3372c8e9f2", + "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2019-08-14T12:26:46+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "04ce3335667451138df4307d6a9b61565560199e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/04ce3335667451138df4307d6a9b61565560199e", + "reference": "04ce3335667451138df4307d6a9b61565560199e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/process", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/e89969c00d762349f078db1128506f7f3dcc0d4a", + "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/641043e0f3e615990a0f29479f9c117e8a6698c6", + "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php72": "~1.5" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/console": "<3.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "twig/twig": "~1.34|~2.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2019-06-13T22:48:21+00:00" + }, + { + "name": "twig/twig", + "version": "v1.42.3", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "201baee843e0ffe8b0b956f336dd42b2a92fae4e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/201baee843e0ffe8b0b956f336dd42b2a92fae4e", + "reference": "201baee843e0ffe8b0b956f336dd42b2a92fae4e", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "symfony/polyfill-ctype": "^1.8" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "^3.4|^4.2", + "symfony/phpunit-bridge": "^4.4@dev|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.42-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "homepage": "https://twig.symfony.com/contributors", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "time": "2019-08-24T12:51:03+00:00" + }, + { + "name": "umpirsky/twig-php-function", + "version": "v0.1", + "source": { + "type": "git", + "url": "https://github.com/umpirsky/twig-php-function.git", + "reference": "53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/umpirsky/twig-php-function/zipball/53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc", + "reference": "53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "twig/twig": "~1.12" + }, + "require-dev": { + "phpspec/phpspec": "~2.0", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "autoload": { + "psr-0": { + "Umpirsky\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Saša Stamenković", + "email": "umpirsky@gmail.com" + } + ], + "description": "Call (almost) any PHP function from your Twig templates.", + "time": "2016-03-12T16:36:32+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2019-08-24T08:43:50+00:00" + }, + { + "name": "wyrihaximus/twig-view", + "version": "4.3.8", + "source": { + "type": "git", + "url": "https://github.com/WyriHaximus/TwigView.git", + "reference": "a5ec66690aa045d6eda17ab1c8a5baf0efdcfa45" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/WyriHaximus/TwigView/zipball/a5ec66690aa045d6eda17ab1c8a5baf0efdcfa45", + "reference": "a5ec66690aa045d6eda17ab1c8a5baf0efdcfa45", + "shasum": "" + }, + "require": { + "ajgl/breakpoint-twig-extension": "^0.3.0", + "aptoma/twig-markdown": "^2.0", + "asm89/twig-cache-extension": "^1.0", + "cakephp/cakephp": "^3.6", + "jasny/twig-extensions": "^1.0", + "php": "^5.6 || ^7.0", + "twig/twig": "^1.27", + "umpirsky/twig-php-function": "0.1" + }, + "require-dev": { + "cakephp/bake": "^1.5", + "cakephp/debug_kit": "^3.0", + "phake/phake": "^1.0.4", + "phpunit/phpunit": "^5.7.14", + "squizlabs/php_codesniffer": "^1.5.6", + "wyrihaximus/phpunit-class-reflection-helpers": "dev-master" + }, + "type": "cakephp-plugin", + "autoload": { + "psr-4": { + "WyriHaximus\\TwigView\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cees-Jan Kiewiet", + "email": "ceesjank@gmail.com", + "homepage": "http://wyrihaximus.net/" + } + ], + "description": "Twig powered View for CakePHP3", + "keywords": [ + "cakephp", + "cakephp3", + "twig", + "view" + ], + "time": "2018-12-17T21:08:25+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "psy/psysh": 0 + }, + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": ">=5.6" + }, + "platform-dev": [] +} diff --git a/config/.env.default b/config/.env.default new file mode 100644 index 0000000..15060f7 --- /dev/null +++ b/config/.env.default @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# Used as a default to seed config/.env which +# enables you to use environment variables to configure +# the aspects of your application that vary by +# environment. +# +# Having this file in production is considered a **SECURITY RISK** and also decreases +# the boostrap performance of your application. +# +# To use this file, first copy it into `config/.env`. Also ensure the related +# code block for loading this file is uncommented in `config/boostrap.php` +# +# In development .env files are parsed by PHP +# and set into the environment. This provides a simpler +# development workflow over standard environment variables. +export APP_NAME="__APP_NAME__" +export DEBUG="true" +export APP_ENCODING="UTF-8" +export APP_DEFAULT_LOCALE="en_US" +export APP_DEFAULT_TIMEZONE="UTC" +export SECURITY_SALT="__SALT__" + +# Uncomment these to define cache configuration via environment variables. +#export CACHE_DURATION="+2 minutes" +#export CACHE_DEFAULT_URL="file://tmp/cache/?prefix=${APP_NAME}_default&duration=${CACHE_DURATION}" +#export CACHE_CAKECORE_URL="file://tmp/cache/persistent?prefix=${APP_NAME}_cake_core&serialize=true&duration=${CACHE_DURATION}" +#export CACHE_CAKEMODEL_URL="file://tmp/cache/models?prefix=${APP_NAME}_cake_model&serialize=true&duration=${CACHE_DURATION}" + +# Uncomment these to define email transport configuration via environment variables. +#export EMAIL_TRANSPORT_DEFAULT_URL="" + +# Uncomment these to define database configuration via environment variables. +#export DATABASE_URL="mysql://my_app:secret@localhost/${APP_NAME}?encoding=utf8&timezone=UTC&cacheMetadata=true"eIdentifiers=false&persistent=false" +#export DATABASE_TEST_URL="mysql://my_app:secret@localhost/test_${APP_NAME}?encoding=utf8&timezone=UTC&cacheMetadata=true"eIdentifiers=false&persistent=false" + +# Uncomment these to define logging configuration via environment variables. +#export LOG_DEBUG_URL="file://logs/?levels[]=notice&levels[]=info&levels[]=debug&file=debug" +#export LOG_ERROR_URL="file://logs/?levels[]=warning&levels[]=error&levels[]=critical&levels[]=alert&levels[]=emergency&file=error" diff --git a/config/app.default.php b/config/app.default.php new file mode 100644 index 0000000..d4958f9 --- /dev/null +++ b/config/app.default.php @@ -0,0 +1,394 @@ + filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN), + + /** + * Configure basic information about the application. + * + * - namespace - The namespace to find app classes under. + * - defaultLocale - The default locale for translation, formatting currencies and numbers, date and time. + * - encoding - The encoding used for HTML + database connections. + * - base - The base directory the app resides in. If false this + * will be auto detected. + * - dir - Name of app directory. + * - webroot - The webroot directory. + * - wwwRoot - The file path to webroot. + * - baseUrl - To configure CakePHP to *not* use mod_rewrite and to + * use CakePHP pretty URLs, remove these .htaccess + * files: + * /.htaccess + * /webroot/.htaccess + * And uncomment the baseUrl key below. + * - fullBaseUrl - A base URL to use for absolute links. When set to false (default) + * CakePHP generates required value based on `HTTP_HOST` environment variable. + * However, you can define it manually to optimize performance or if you + * are concerned about people manipulating the `Host` header. + * - imageBaseUrl - Web path to the public images directory under webroot. + * - cssBaseUrl - Web path to the public css directory under webroot. + * - jsBaseUrl - Web path to the public js directory under webroot. + * - paths - Configure paths for non class based resources. Supports the + * `plugins`, `templates`, `locales` subkeys, which allow the definition of + * paths for plugins, view templates and locale files respectively. + */ + 'App' => [ + 'namespace' => 'App', + 'encoding' => env('APP_ENCODING', 'UTF-8'), + 'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_US'), + 'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'UTC'), + 'base' => false, + 'dir' => 'src', + 'webroot' => 'webroot', + 'wwwRoot' => WWW_ROOT, + //'baseUrl' => env('SCRIPT_NAME'), + 'fullBaseUrl' => false, + 'imageBaseUrl' => 'img/', + 'cssBaseUrl' => 'css/', + 'jsBaseUrl' => 'js/', + 'paths' => [ + 'plugins' => [ROOT . DS . 'plugins' . DS], + 'templates' => [APP . 'Template' . DS], + 'locales' => [APP . 'Locale' . DS], + ], + ], + + /** + * Security and encryption configuration + * + * - salt - A random string used in security hashing methods. + * The salt value is also used as the encryption key. + * You should treat it as extremely sensitive data. + */ + 'Security' => [ + 'salt' => env('SECURITY_SALT', '__SALT__'), + ], + + /** + * Apply timestamps with the last modified time to static assets (js, css, images). + * Will append a querystring parameter containing the time the file was modified. + * This is useful for busting browser caches. + * + * Set to true to apply timestamps when debug is true. Set to 'force' to always + * enable timestamping regardless of debug value. + */ + 'Asset' => [ + //'timestamp' => true, + // 'cacheTime' => '+1 year' + ], + + /** + * Configure the cache adapters. + */ + 'Cache' => [ + 'default' => [ + 'className' => FileEngine::class, + 'path' => CACHE, + 'url' => env('CACHE_DEFAULT_URL', null), + ], + + /** + * Configure the cache used for general framework caching. + * Translation cache files are stored with this configuration. + * Duration will be set to '+2 minutes' in bootstrap.php when debug = true + * If you set 'className' => 'Null' core cache will be disabled. + */ + '_cake_core_' => [ + 'className' => FileEngine::class, + 'prefix' => 'myapp_cake_core_', + 'path' => CACHE . 'persistent/', + 'serialize' => true, + 'duration' => '+1 years', + 'url' => env('CACHE_CAKECORE_URL', null), + ], + + /** + * Configure the cache for model and datasource caches. This cache + * configuration is used to store schema descriptions, and table listings + * in connections. + * Duration will be set to '+2 minutes' in bootstrap.php when debug = true + */ + '_cake_model_' => [ + 'className' => FileEngine::class, + 'prefix' => 'myapp_cake_model_', + 'path' => CACHE . 'models/', + 'serialize' => true, + 'duration' => '+1 years', + 'url' => env('CACHE_CAKEMODEL_URL', null), + ], + + /** + * Configure the cache for routes. The cached routes collection is built the + * first time the routes are processed via `config/routes.php`. + * Duration will be set to '+2 seconds' in bootstrap.php when debug = true + */ + '_cake_routes_' => [ + 'className' => FileEngine::class, + 'prefix' => 'myapp_cake_routes_', + 'path' => CACHE, + 'serialize' => true, + 'duration' => '+1 years', + 'url' => env('CACHE_CAKEROUTES_URL', null), + ], + ], + + /** + * Configure the Error and Exception handlers used by your application. + * + * By default errors are displayed using Debugger, when debug is true and logged + * by Cake\Log\Log when debug is false. + * + * In CLI environments exceptions will be printed to stderr with a backtrace. + * In web environments an HTML page will be displayed for the exception. + * With debug true, framework errors like Missing Controller will be displayed. + * When debug is false, framework errors will be coerced into generic HTTP errors. + * + * Options: + * + * - `errorLevel` - int - The level of errors you are interested in capturing. + * - `trace` - boolean - Whether or not backtraces should be included in + * logged errors/exceptions. + * - `log` - boolean - Whether or not you want exceptions logged. + * - `exceptionRenderer` - string - The class responsible for rendering + * uncaught exceptions. If you choose a custom class you should place + * the file for that class in src/Error. This class needs to implement a + * render method. + * - `skipLog` - array - List of exceptions to skip for logging. Exceptions that + * extend one of the listed exceptions will also be skipped for logging. + * E.g.: + * `'skipLog' => ['Cake\Http\Exception\NotFoundException', 'Cake\Http\Exception\UnauthorizedException']` + * - `extraFatalErrorMemory` - int - The number of megabytes to increase + * the memory limit by when a fatal error is encountered. This allows + * breathing room to complete logging or error handling. + */ + 'Error' => [ + 'errorLevel' => E_ALL, + 'exceptionRenderer' => ExceptionRenderer::class, + 'skipLog' => [], + 'log' => true, + 'trace' => true, + ], + + /** + * Email configuration. + * + * By defining transports separately from delivery profiles you can easily + * re-use transport configuration across multiple profiles. + * + * You can specify multiple configurations for production, development and + * testing. + * + * Each transport needs a `className`. Valid options are as follows: + * + * Mail - Send using PHP mail function + * Smtp - Send using SMTP + * Debug - Do not send the email, just return the result + * + * You can add custom transports (or override existing transports) by adding the + * appropriate file to src/Mailer/Transport. Transports should be named + * 'YourTransport.php', where 'Your' is the name of the transport. + */ + 'EmailTransport' => [ + 'default' => [ + 'className' => MailTransport::class, + /* + * The following keys are used in SMTP transports: + */ + 'host' => 'localhost', + 'port' => 25, + 'timeout' => 30, + 'username' => null, + 'password' => null, + 'client' => null, + 'tls' => null, + 'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null), + ], + ], + + /** + * Email delivery profiles + * + * Delivery profiles allow you to predefine various properties about email + * messages from your application and give the settings a name. This saves + * duplication across your application and makes maintenance and development + * easier. Each profile accepts a number of keys. See `Cake\Mailer\Email` + * for more information. + */ + 'Email' => [ + 'default' => [ + 'transport' => 'default', + 'from' => 'you@localhost', + //'charset' => 'utf-8', + //'headerCharset' => 'utf-8', + ], + ], + + /** + * Connection information used by the ORM to connect + * to your application's datastores. + * + * ### Notes + * - Drivers include Mysql Postgres Sqlite Sqlserver + * See vendor\cakephp\cakephp\src\Database\Driver for complete list + * - Do not use periods in database name - it may lead to error. + * See https://github.com/cakephp/cakephp/issues/6471 for details. + * - 'encoding' is recommended to be set to full UTF-8 4-Byte support. + * E.g set it to 'utf8mb4' in MariaDB and MySQL and 'utf8' for any + * other RDBMS. + */ + 'Datasources' => [ + 'default' => [ + 'className' => Connection::class, + 'driver' => Mysql::class, + 'persistent' => false, + 'host' => 'localhost', + /* + * CakePHP will use the default DB port based on the driver selected + * MySQL on MAMP uses port 8889, MAMP users will want to uncomment + * the following line and set the port accordingly + */ + //'port' => 'non_standard_port_number', + 'username' => 'my_app', + 'password' => 'secret', + 'database' => 'my_app', + /* + * You do not need to set this flag to use full utf-8 encoding (internal default since CakePHP 3.6). + */ + //'encoding' => 'utf8mb4', + 'timezone' => 'UTC', + 'flags' => [], + 'cacheMetadata' => true, + 'log' => false, + + /** + * Set identifier quoting to true if you are using reserved words or + * special characters in your table or column names. Enabling this + * setting will result in queries built using the Query Builder having + * identifiers quoted when creating SQL. It should be noted that this + * decreases performance because each query needs to be traversed and + * manipulated before being executed. + */ + 'quoteIdentifiers' => false, + + /** + * During development, if using MySQL < 5.6, uncommenting the + * following line could boost the speed at which schema metadata is + * fetched from the database. It can also be set directly with the + * mysql configuration directive 'innodb_stats_on_metadata = 0' + * which is the recommended value in production environments + */ + //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], + + 'url' => env('DATABASE_URL', null), + ], + + /** + * The test connection is used during the test suite. + */ + 'test' => [ + 'className' => Connection::class, + 'driver' => Mysql::class, + 'persistent' => false, + 'host' => 'localhost', + //'port' => 'non_standard_port_number', + 'username' => 'my_app', + 'password' => 'secret', + 'database' => 'test_myapp', + //'encoding' => 'utf8mb4', + 'timezone' => 'UTC', + 'cacheMetadata' => true, + 'quoteIdentifiers' => false, + 'log' => false, + //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], + 'url' => env('DATABASE_TEST_URL', null), + ], + ], + + /** + * Configures logging options + */ + 'Log' => [ + 'debug' => [ + 'className' => FileLog::class, + 'path' => LOGS, + 'file' => 'debug', + 'url' => env('LOG_DEBUG_URL', null), + 'scopes' => false, + 'levels' => ['notice', 'info', 'debug'], + ], + 'error' => [ + 'className' => FileLog::class, + 'path' => LOGS, + 'file' => 'error', + 'url' => env('LOG_ERROR_URL', null), + 'scopes' => false, + 'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'], + ], + // To enable this dedicated query log, you need set your datasource's log flag to true + 'queries' => [ + 'className' => FileLog::class, + 'path' => LOGS, + 'file' => 'queries', + 'url' => env('LOG_QUERIES_URL', null), + 'scopes' => ['queriesLog'], + ], + ], + + /** + * Session configuration. + * + * Contains an array of settings to use for session configuration. The + * `defaults` key is used to define a default preset to use for sessions, any + * settings declared here will override the settings of the default config. + * + * ## Options + * + * - `cookie` - The name of the cookie to use. Defaults to 'CAKEPHP'. Avoid using `.` in cookie names, + * as PHP will drop sessions from cookies with `.` in the name. + * - `cookiePath` - The url path for which session cookie is set. Maps to the + * `session.cookie_path` php.ini config. Defaults to base path of app. + * - `timeout` - The time in minutes the session should be valid for. + * Pass 0 to disable checking timeout. + * Please note that php.ini's session.gc_maxlifetime must be equal to or greater + * than the largest Session['timeout'] in all served websites for it to have the + * desired effect. + * - `defaults` - The default configuration set to use as a basis for your session. + * There are four built-in options: php, cake, cache, database. + * - `handler` - Can be used to enable a custom session handler. Expects an + * array with at least the `engine` key, being the name of the Session engine + * class to use for managing the session. CakePHP bundles the `CacheSession` + * and `DatabaseSession` engines. + * - `ini` - An associative array of additional ini values to set. + * + * The built-in `defaults` options are: + * + * - 'php' - Uses settings defined in your php.ini. + * - 'cake' - Saves session files in CakePHP's /tmp directory. + * - 'database' - Uses CakePHP's database sessions. + * - 'cache' - Use the Cache class to save sessions. + * + * To define a custom session handler, save it at src/Network/Session/.php. + * Make sure the class implements PHP's `SessionHandlerInterface` and set + * Session.handler to + * + * To use database sessions, load the SQL file located at config/schema/sessions.sql + */ + 'Session' => [ + 'defaults' => 'php', + ], +]; diff --git a/config/bootstrap.php b/config/bootstrap.php new file mode 100644 index 0000000..12f73f5 --- /dev/null +++ b/config/bootstrap.php @@ -0,0 +1,209 @@ +parse() +// ->putenv() +// ->toEnv() +// ->toServer(); +// } + +Log::setConfig('default', [ + 'className' => 'File', + 'path' => '/var/log/', + 'file' => 'php_errors.log' +]); + +/* + * Read configuration file and inject configuration into various + * CakePHP classes. + * + * By default there is only one configuration file. It is often a good + * idea to create multiple configuration files, and separate the configuration + * that changes from configuration that does not. This makes deployment simpler. + */ +try { + Configure::config('default', new PhpConfig()); + Configure::load('app', 'default', false); +} catch (\Exception $e) { + exit($e->getMessage() . "\n"); +} + +/* + * Load an environment local configuration file. + * You can use a file like app_local.php to provide local overrides to your + * shared configuration. + */ +//Configure::load('app_local', 'default'); + +/* + * When debug = true the metadata cache should only last + * for a short time. + */ +if (Configure::read('debug')) { + Configure::write('Cache._cake_model_.duration', '+2 minutes'); + Configure::write('Cache._cake_core_.duration', '+2 minutes'); + // disable router cache during development + Configure::write('Cache._cake_routes_.duration', '+2 seconds'); +} + +/* + * Set the default server timezone. Using UTC makes time calculations / conversions easier. + * Check http://php.net/manual/en/timezones.php for list of valid timezone strings. + */ +date_default_timezone_set(Configure::read('App.defaultTimezone')); + +/* + * Configure the mbstring extension to use the correct encoding. + */ +mb_internal_encoding(Configure::read('App.encoding')); + +/* + * Set the default locale. This controls how dates, number and currency is + * formatted and sets the default language to use for translations. + */ +ini_set('intl.default_locale', Configure::read('App.defaultLocale')); + +/* + * Register application error and exception handlers. + */ +$isCli = PHP_SAPI === 'cli'; +if ($isCli) { + (new ConsoleErrorHandler(Configure::read('Error')))->register(); +} else { + (new ErrorHandler(Configure::read('Error')))->register(); +} + +/* + * Include the CLI bootstrap overrides. + */ +if ($isCli) { + require __DIR__ . '/bootstrap_cli.php'; +} + +/* + * Set the full base URL. + * This URL is used as the base of all absolute links. + * + * If you define fullBaseUrl in your config file you can remove this. + */ +if (!Configure::read('App.fullBaseUrl')) { + $s = null; + if (env('HTTPS')) { + $s = 's'; + } + + $httpHost = env('HTTP_HOST'); + if (isset($httpHost)) { + Configure::write('App.fullBaseUrl', 'http' . $s . '://' . $httpHost); + } + unset($httpHost, $s); +} + +Cache::setConfig(Configure::consume('Cache')); +ConnectionManager::setConfig(Configure::consume('Datasources')); +TransportFactory::setConfig(Configure::consume('EmailTransport')); +Email::setConfig(Configure::consume('Email')); +Log::setConfig(Configure::consume('Log')); +Security::setSalt(Configure::consume('Security.salt')); + +/* + * The default crypto extension in 3.0 is OpenSSL. + * If you are migrating from 2.x uncomment this code to + * use a more compatible Mcrypt based implementation + */ +//Security::engine(new \Cake\Utility\Crypto\Mcrypt()); + +/* + * Setup detectors for mobile and tablet. + */ +ServerRequest::addDetector('mobile', function ($request) { + $detector = new \Detection\MobileDetect(); + + return $detector->isMobile(); +}); +ServerRequest::addDetector('tablet', function ($request) { + $detector = new \Detection\MobileDetect(); + + return $detector->isTablet(); +}); + +/* + * Enable immutable time objects in the ORM. + * + * You can enable default locale format parsing by adding calls + * to `useLocaleParser()`. This enables the automatic conversion of + * locale specific date formats. For details see + * @link https://book.cakephp.org/3.0/en/core-libraries/internationalization-and-localization.html#parsing-localized-datetime-data + */ +Type::build('time') + ->useImmutable(); +Type::build('date') + ->useImmutable(); +Type::build('datetime') + ->useImmutable(); +Type::build('timestamp') + ->useImmutable(); + +/* + * Custom Inflector rules, can be set to correctly pluralize or singularize + * table, model, controller names or whatever other string is passed to the + * inflection functions. + */ +//Inflector::rules('plural', ['/^(inflect)or$/i' => '\1ables']); +//Inflector::rules('irregular', ['red' => 'redlings']); +//Inflector::rules('uninflected', ['dontinflectme']); +//Inflector::rules('transliteration', ['/å/' => 'aa']); diff --git a/config/bootstrap_cli.php b/config/bootstrap_cli.php new file mode 100644 index 0000000..d3679d7 --- /dev/null +++ b/config/bootstrap_cli.php @@ -0,0 +1,28 @@ +registerMiddleware('csrf', new CsrfProtectionMiddleware([ + 'httpOnly' => true + ])); + + /** + * Apply a middleware to the current route scope. + * Requires middleware to be registered via `Application::routes()` with `registerMiddleware()` + */ + $routes->applyMiddleware('csrf'); + + /** + * Here, we are connecting '/' (base path) to a controller called 'Pages', + * its action called 'display', and we pass a param to select the view file + * to use (in this case, src/Template/Pages/home.ctp)... + */ + $routes->connect('/', ['controller' => 'Home', 'action' => 'display', 'home']); + + /** + * ...and connect the rest of 'Pages' controller's URLs. + */ + $routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']); + + /** + * Connect catchall routes for all controllers. + * + * Using the argument `DashedRoute`, the `fallbacks` method is a shortcut for + * + * ``` + * $routes->connect('/:controller', ['action' => 'index'], ['routeClass' => 'DashedRoute']); + * $routes->connect('/:controller/:action/*', [], ['routeClass' => 'DashedRoute']); + * ``` + * + * Any route class can be used with this method, such as: + * - DashedRoute + * - InflectedRoute + * - Route + * - Or your own route class + * + * You can remove these routes once you've connected the + * routes you want in your application. + */ + $routes->fallbacks(DashedRoute::class); +}); + +/** + * If you need a different set of middleware or none at all, + * open new scope and define routes there. + * + * ``` + * Router::scope('/api', function (RouteBuilder $routes) { + * // No $routes->applyMiddleware() here. + * // Connect API actions here. + * }); + * ``` + */ diff --git a/config/schema/i18n.sql b/config/schema/i18n.sql new file mode 100644 index 0000000..e59d1e6 --- /dev/null +++ b/config/schema/i18n.sql @@ -0,0 +1,18 @@ +# Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +# +# Licensed under The MIT License +# For full copyright and license information, please see the LICENSE.txt +# Redistributions of files must retain the above copyright notice. +# MIT License (https://opensource.org/licenses/mit-license.php) + +CREATE TABLE i18n ( + id int NOT NULL auto_increment, + locale varchar(6) NOT NULL, + model varchar(255) NOT NULL, + foreign_key int(10) NOT NULL, + field varchar(255) NOT NULL, + content text, + PRIMARY KEY (id), + UNIQUE INDEX I18N_LOCALE_FIELD(locale, model, foreign_key, field), + INDEX I18N_FIELD(model, foreign_key, field) +); diff --git a/config/schema/sessions.sql b/config/schema/sessions.sql new file mode 100644 index 0000000..1aa0a0f --- /dev/null +++ b/config/schema/sessions.sql @@ -0,0 +1,15 @@ +# Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +# +# Licensed under The MIT License +# For full copyright and license information, please see the LICENSE.txt +# Redistributions of files must retain the above copyright notice. +# MIT License (https://opensource.org/licenses/mit-license.php) + +CREATE TABLE `sessions` ( + `id` char(40) CHARACTER SET ascii COLLATE ascii_bin NOT NULL, + `created` datetime DEFAULT CURRENT_TIMESTAMP, -- optional, requires MySQL 5.6.5+ + `modified` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- optional, requires MySQL 5.6.5+ + `data` blob DEFAULT NULL, -- for PostgreSQL use bytea instead of blob + `expires` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/index.php b/index.php new file mode 100644 index 0000000..4591769 --- /dev/null +++ b/index.php @@ -0,0 +1,16 @@ + + + + + + + + + + + tests/TestCase/ + + + + + + + + + + + + + + + + + src/ + plugins/*/src/ + + src/Console/Installer.php + + + + diff --git a/plugins/empty b/plugins/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/Application.php b/src/Application.php new file mode 100644 index 0000000..e1a7384 --- /dev/null +++ b/src/Application.php @@ -0,0 +1,99 @@ +bootstrapCli(); + } + + /* + * Only try to load DebugKit in development mode + * Debug Kit should not be installed on a production system + */ +// if (Configure::read('debug')) { +// $this->addPlugin(\DebugKit\Plugin::class); +// } + + // Load more plugins here + } + + /** + * Setup the middleware queue your application will use. + * + * @param \Cake\Http\MiddlewareQueue $middlewareQueue The middleware queue to setup. + * @return \Cake\Http\MiddlewareQueue The updated middleware queue. + */ + public function middleware($middlewareQueue) + { + $middlewareQueue + // Catch any exceptions in the lower layers, + // and make an error page/response + ->add(new ErrorHandlerMiddleware(null, Configure::read('Error'))) + + // Handle plugin/theme assets like CakePHP normally does. + ->add(new AssetMiddleware([ + 'cacheTime' => Configure::read('Asset.cacheTime') + ])) + + // Add routing middleware. + // If you have a large number of routes connected, turning on routes + // caching in production could improve performance. For that when + // creating the middleware instance specify the cache config name by + // using it's second constructor argument: + // `new RoutingMiddleware($this, '_cake_routes_')` + ->add(new RoutingMiddleware($this)); + + return $middlewareQueue; + } + + /** + * @return void + */ + protected function bootstrapCli() + { + try { + $this->addPlugin('Bake'); + } catch (MissingPluginException $e) { + // Do not halt if the plugin is missing + } + + $this->addPlugin('Migrations'); + + // Load more plugins here + } +} diff --git a/src/Console/Installer.php b/src/Console/Installer.php new file mode 100644 index 0000000..3bcef47 --- /dev/null +++ b/src/Console/Installer.php @@ -0,0 +1,246 @@ +getIO(); + + $rootDir = dirname(dirname(__DIR__)); + + static::createAppConfig($rootDir, $io); + static::createWritableDirectories($rootDir, $io); + + // ask if the permissions should be changed + if ($io->isInteractive()) { + $validator = function ($arg) { + if (in_array($arg, ['Y', 'y', 'N', 'n'])) { + return $arg; + } + throw new Exception('This is not a valid answer. Please choose Y or n.'); + }; + $setFolderPermissions = $io->askAndValidate( + 'Set Folder Permissions ? (Default to Y) [Y,n]? ', + $validator, + 10, + 'Y' + ); + + if (in_array($setFolderPermissions, ['Y', 'y'])) { + static::setFolderPermissions($rootDir, $io); + } + } else { + static::setFolderPermissions($rootDir, $io); + } + + static::setSecuritySalt($rootDir, $io); + + $class = 'Cake\Codeception\Console\Installer'; + if (class_exists($class)) { + $class::customizeCodeceptionBinary($event); + } + } + + /** + * Create the config/app.php file if it does not exist. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function createAppConfig($dir, $io) + { + $appConfig = $dir . '/config/app.php'; + $defaultConfig = $dir . '/config/app.default.php'; + if (!file_exists($appConfig)) { + copy($defaultConfig, $appConfig); + $io->write('Created `config/app.php` file'); + } + } + + /** + * Create the `logs` and `tmp` directories. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function createWritableDirectories($dir, $io) + { + foreach (static::WRITABLE_DIRS as $path) { + $path = $dir . '/' . $path; + if (!file_exists($path)) { + mkdir($path); + $io->write('Created `' . $path . '` directory'); + } + } + } + + /** + * Set globally writable permissions on the "tmp" and "logs" directory. + * + * This is not the most secure default, but it gets people up and running quickly. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function setFolderPermissions($dir, $io) + { + // Change the permissions on a path and output the results. + $changePerms = function ($path) use ($io) { + $currentPerms = fileperms($path) & 0777; + $worldWritable = $currentPerms | 0007; + if ($worldWritable == $currentPerms) { + return; + } + + $res = chmod($path, $worldWritable); + if ($res) { + $io->write('Permissions set on ' . $path); + } else { + $io->write('Failed to set permissions on ' . $path); + } + }; + + $walker = function ($dir) use (&$walker, $changePerms) { + $files = array_diff(scandir($dir), ['.', '..']); + foreach ($files as $file) { + $path = $dir . '/' . $file; + + if (!is_dir($path)) { + continue; + } + + $changePerms($path); + $walker($path); + } + }; + + $walker($dir . '/tmp'); + $changePerms($dir . '/tmp'); + $changePerms($dir . '/logs'); + } + + /** + * Set the security.salt value in the application's config file. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function setSecuritySalt($dir, $io) + { + $newKey = hash('sha256', Security::randomBytes(64)); + static::setSecuritySaltInFile($dir, $io, $newKey, 'app.php'); + } + + /** + * Set the security.salt value in a given file + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @param string $newKey key to set in the file + * @param string $file A path to a file relative to the application's root + * @return void + */ + public static function setSecuritySaltInFile($dir, $io, $newKey, $file) + { + $config = $dir . '/config/' . $file; + $content = file_get_contents($config); + + $content = str_replace('__SALT__', $newKey, $content, $count); + + if ($count == 0) { + $io->write('No Security.salt placeholder to replace.'); + + return; + } + + $result = file_put_contents($config, $content); + if ($result) { + $io->write('Updated Security.salt value in config/' . $file); + + return; + } + $io->write('Unable to update Security.salt value.'); + } + + /** + * Set the APP_NAME value in a given file + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @param string $appName app name to set in the file + * @param string $file A path to a file relative to the application's root + * @return void + */ + public static function setAppNameInFile($dir, $io, $appName, $file) + { + $config = $dir . '/config/' . $file; + $content = file_get_contents($config); + $content = str_replace('__APP_NAME__', $appName, $content, $count); + + if ($count == 0) { + $io->write('No __APP_NAME__ placeholder to replace.'); + + return; + } + + $result = file_put_contents($config, $content); + if ($result) { + $io->write('Updated __APP_NAME__ value in config/' . $file); + + return; + } + $io->write('Unable to update __APP_NAME__ value.'); + } +} diff --git a/src/Controller/AppController.php b/src/Controller/AppController.php new file mode 100644 index 0000000..bb4ea0c --- /dev/null +++ b/src/Controller/AppController.php @@ -0,0 +1,57 @@ +loadComponent('Security');` + * + * @return void + */ + public function initialize() + { + parent::initialize(); + + $this->log('loaded'); + + $this->loadComponent('RequestHandler', [ + 'enableBeforeRedirect' => false, + ]); + $this->loadComponent('Flash'); + + /* + * Enable the following component for recommended CakePHP security settings. + * see https://book.cakephp.org/3.0/en/controllers/components/security.html + */ + //$this->loadComponent('Security'); + } +} diff --git a/src/Controller/Component/empty b/src/Controller/Component/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/Controller/ErrorController.php b/src/Controller/ErrorController.php new file mode 100644 index 0000000..43bd2fb --- /dev/null +++ b/src/Controller/ErrorController.php @@ -0,0 +1,70 @@ +loadComponent('RequestHandler', [ + 'enableBeforeRedirect' => false, + ]); + } + + /** + * beforeFilter callback. + * + * @param \Cake\Event\Event $event Event. + * @return \Cake\Http\Response|null|void + */ + public function beforeFilter(Event $event) + { + } + + /** + * beforeRender callback. + * + * @param \Cake\Event\Event $event Event. + * @return \Cake\Http\Response|null|void + */ + public function beforeRender(Event $event) + { + parent::beforeRender($event); + + $this->viewBuilder()->setTemplatePath('Error'); + } + + /** + * afterFilter callback. + * + * @param \Cake\Event\Event $event Event. + * @return \Cake\Http\Response|null|void + */ + public function afterFilter(Event $event) + { + } +} diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php new file mode 100644 index 0000000..17cf2d3 --- /dev/null +++ b/src/Controller/HomeController.php @@ -0,0 +1,69 @@ +redirect('/'); + } + if (in_array('..', $path, true) || in_array('.', $path, true)) { + throw new ForbiddenException(); + } + $page = $subpage = null; + + if (!empty($path[0])) { + $page = $path[0]; + } + if (!empty($path[1])) { + $subpage = $path[1]; + } + $this->set(compact('page', 'subpage')); + + try { + $this->render(implode('/', $path)); + } catch (MissingTemplateException $exception) { + if (Configure::read('debug')) { + throw $exception; + } + throw new NotFoundException(); + } + } +} diff --git a/src/Controller/Oauth2Controller.php b/src/Controller/Oauth2Controller.php new file mode 100644 index 0000000..c8f9d6b --- /dev/null +++ b/src/Controller/Oauth2Controller.php @@ -0,0 +1,75 @@ +log('authorized'); + $this->log($request); + } + + /** + * Displays a view + * + * @param array ...$path Path segments. + * @return \Cake\Http\Response|null + * @throws \Cake\Http\Exception\ForbiddenException When a directory traversal attempt. + * @throws \Cake\Http\Exception\NotFoundException When the view file could not + * be found or \Cake\View\Exception\MissingTemplateException in debug mode. + */ + public function display(...$path) + { + $count = count($path); + if (!$count) { + return $this->redirect('/'); + } + if (in_array('..', $path, true) || in_array('.', $path, true)) { + throw new ForbiddenException(); + } + $page = $subpage = null; + + if (!empty($path[0])) { + $page = $path[0]; + } + if (!empty($path[1])) { + $subpage = $path[1]; + } + $this->set(compact('page', 'subpage')); + + try { + $this->render(implode('/', $path)); + } catch (MissingTemplateException $exception) { + if (Configure::read('debug')) { + throw $exception; + } + throw new NotFoundException(); + } + } +} diff --git a/src/Controller/PagesController.php b/src/Controller/PagesController.php new file mode 100644 index 0000000..d023661 --- /dev/null +++ b/src/Controller/PagesController.php @@ -0,0 +1,69 @@ +redirect('/'); + } + if (in_array('..', $path, true) || in_array('.', $path, true)) { + throw new ForbiddenException(); + } + $page = $subpage = null; + + if (!empty($path[0])) { + $page = $path[0]; + } + if (!empty($path[1])) { + $subpage = $path[1]; + } + $this->set(compact('page', 'subpage')); + + try { + $this->render(implode('/', $path)); + } catch (MissingTemplateException $exception) { + if (Configure::read('debug')) { + throw $exception; + } + throw new NotFoundException(); + } + } +} diff --git a/src/Model/Behavior/empty b/src/Model/Behavior/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/Model/Entity/empty b/src/Model/Entity/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/Model/Table/empty b/src/Model/Table/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/Shell/ConsoleShell.php b/src/Shell/ConsoleShell.php new file mode 100644 index 0000000..f7bfe8e --- /dev/null +++ b/src/Shell/ConsoleShell.php @@ -0,0 +1,81 @@ +err('Unable to load Psy\Shell.'); + $this->err(''); + $this->err('Make sure you have installed psysh as a dependency,'); + $this->err('and that Psy\Shell is registered in your autoloader.'); + $this->err(''); + $this->err('If you are using composer run'); + $this->err(''); + $this->err('$ php composer.phar require --dev psy/psysh'); + $this->err(''); + + return self::CODE_ERROR; + } + + $this->out("You can exit with `CTRL-C` or `exit`"); + $this->out(''); + + Log::drop('debug'); + Log::drop('error'); + $this->_io->setLoggers(false); + restore_error_handler(); + restore_exception_handler(); + + $psy = new PsyShell(); + $psy->run(); + } + + /** + * Display help for this console. + * + * @return \Cake\Console\ConsoleOptionParser + */ + public function getOptionParser() + { + $parser = new ConsoleOptionParser('console'); + $parser->setDescription( + 'This shell provides a REPL that you can use to interact with ' . + 'your application in a command line designed to run PHP code. ' . + 'You can use it to run adhoc queries with your models, or ' . + 'explore the features of CakePHP and your application.' . + "\n\n" . + 'You will need to have psysh installed for this Shell to work.' + ); + + return $parser; + } +} diff --git a/src/Template/Cell/empty b/src/Template/Cell/empty new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/Template/Cell/empty @@ -0,0 +1 @@ + diff --git a/src/Template/Element/Flash/default.ctp b/src/Template/Element/Flash/default.ctp new file mode 100644 index 0000000..736b27d --- /dev/null +++ b/src/Template/Element/Flash/default.ctp @@ -0,0 +1,10 @@ + +
diff --git a/src/Template/Element/Flash/error.ctp b/src/Template/Element/Flash/error.ctp new file mode 100644 index 0000000..e7c4af1 --- /dev/null +++ b/src/Template/Element/Flash/error.ctp @@ -0,0 +1,6 @@ + +
diff --git a/src/Template/Element/Flash/success.ctp b/src/Template/Element/Flash/success.ctp new file mode 100644 index 0000000..becd5a1 --- /dev/null +++ b/src/Template/Element/Flash/success.ctp @@ -0,0 +1,6 @@ + +
diff --git a/src/Template/Email/html/default.ctp b/src/Template/Email/html/default.ctp new file mode 100644 index 0000000..ac3daa7 --- /dev/null +++ b/src/Template/Email/html/default.ctp @@ -0,0 +1,20 @@ + ' . $line . "

\n"; +endforeach; diff --git a/src/Template/Email/text/default.ctp b/src/Template/Email/text/default.ctp new file mode 100644 index 0000000..862cd9f --- /dev/null +++ b/src/Template/Email/text/default.ctp @@ -0,0 +1,16 @@ +layout = 'error'; + +if (Configure::read('debug')) : + $this->layout = 'dev_error'; + + $this->assign('title', $message); + $this->assign('templateName', 'error400.ctp'); + + $this->start('file'); +?> +queryString)) : ?> +

+ SQL Query: + queryString) ?> +

+ +params)) : ?> + SQL Query Params: + params) ?> + +element('auto_table_warning') ?> +end(); +endif; +?> +

+

+ : + '{$url}'") ?> +

diff --git a/src/Template/Error/error500.ctp b/src/Template/Error/error500.ctp new file mode 100644 index 0000000..3328cc5 --- /dev/null +++ b/src/Template/Error/error500.ctp @@ -0,0 +1,43 @@ +layout = 'error'; + +if (Configure::read('debug')) : + $this->layout = 'dev_error'; + + $this->assign('title', $message); + $this->assign('templateName', 'error500.ctp'); + + $this->start('file'); +?> +queryString)) : ?> +

+ SQL Query: + queryString) ?> +

+ +params)) : ?> + SQL Query Params: + params) ?> + + + Error in: + getFile()), $error->getLine()) ?> + +element('auto_table_warning'); + + if (extension_loaded('xdebug')) : + xdebug_print_function_stack(); + endif; + + $this->end(); +endif; +?> +

+

+ : + +

diff --git a/src/Template/Home/home.ctp b/src/Template/Home/home.ctp new file mode 100644 index 0000000..83331a6 --- /dev/null +++ b/src/Template/Home/home.ctp @@ -0,0 +1,7 @@ +
+

+
+
-
+
+
+
diff --git a/src/Template/Layout/Email/html/default.ctp b/src/Template/Layout/Email/html/default.ctp new file mode 100644 index 0000000..3ff87ff --- /dev/null +++ b/src/Template/Layout/Email/html/default.ctp @@ -0,0 +1,24 @@ + + + + + <?= $this->fetch('title') ?> + + + fetch('content') ?> + + diff --git a/src/Template/Layout/Email/text/default.ctp b/src/Template/Layout/Email/text/default.ctp new file mode 100644 index 0000000..29b439c --- /dev/null +++ b/src/Template/Layout/Email/text/default.ctp @@ -0,0 +1,16 @@ +fetch('content'); diff --git a/src/Template/Layout/ajax.ctp b/src/Template/Layout/ajax.ctp new file mode 100644 index 0000000..29b439c --- /dev/null +++ b/src/Template/Layout/ajax.ctp @@ -0,0 +1,16 @@ +fetch('content'); diff --git a/src/Template/Layout/default.ctp b/src/Template/Layout/default.ctp new file mode 100644 index 0000000..ae47989 --- /dev/null +++ b/src/Template/Layout/default.ctp @@ -0,0 +1,173 @@ + + + + + + + + + + - ECS - Editor + + + + + Html->charset() ?> + + + + + + + + + Html->css('style.css') ?> + Html->css('https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css') ?> + + + + + + + + + + + + + + + + +Flash->render() ?> +
+
+ +
+ fetch('content') ?> +
+
+ +
+ + + \ No newline at end of file diff --git a/src/Template/Layout/error.ctp b/src/Template/Layout/error.ctp new file mode 100644 index 0000000..7367c1b --- /dev/null +++ b/src/Template/Layout/error.ctp @@ -0,0 +1,47 @@ + + + + + Html->charset() ?> + + <?= $this->fetch('title') ?> + + Html->meta('icon') ?> + + Html->css('base.css') ?> + Html->css('style.css') ?> + + fetch('meta') ?> + fetch('css') ?> + fetch('script') ?> + + +
+ +
+ Flash->render() ?> + + fetch('content') ?> +
+ +
+ + diff --git a/src/Template/Layout/rss/default.ctp b/src/Template/Layout/rss/default.ctp new file mode 100644 index 0000000..8269be2 --- /dev/null +++ b/src/Template/Layout/rss/default.ctp @@ -0,0 +1,11 @@ +fetch('title'); +endif; + +echo $this->Rss->document( + $this->Rss->channel([], $channel, $this->fetch('content')) +); diff --git a/src/Template/Pages/home.ctp b/src/Template/Pages/home.ctp new file mode 100644 index 0000000..5a3731e --- /dev/null +++ b/src/Template/Pages/home.ctp @@ -0,0 +1,276 @@ +layout = false; + +if (!Configure::read('debug')) : + throw new NotFoundException( + 'Please replace src/Template/Pages/home.ctp with your own version or re-enable debug mode.' + ); +endif; + +$cakeDescription = 'CakePHP: the rapid development PHP framework'; +?> + + + + Html->charset() ?> + + + <?= $cakeDescription ?> + + + Html->meta('icon') ?> + Html->css('base.css') ?> + Html->css('style.css') ?> + Html->css('home.css') ?> + + + + +
+
Html->image('cake.logo.svg') ?>
+
+

Welcome to CakePHP Red Velvet. Build fast. Grow solid.

+
+
+ +
+
+
+

Please be aware that this page will not be shown if you turn off debug mode unless you replace src/Template/Pages/home.ctp with your own version.

+
+
+ +
+ +
+
+ +
+
+

Environment

+
    + =')) : ?> +
  • Your version of PHP is 5.6.0 or higher (detected ).
  • + +
  • Your version of PHP is too low. You need PHP 5.6.0 or higher to use CakePHP (detected ).
  • + + + +
  • Your version of PHP has the mbstring extension loaded.
  • + +
  • Your version of PHP does NOT have the mbstring extension loaded.
  • + + + +
  • Your version of PHP has the openssl extension loaded.
  • + +
  • Your version of PHP has the mcrypt extension loaded.
  • + +
  • Your version of PHP does NOT have the openssl or mcrypt extension loaded.
  • + + + +
  • Your version of PHP has the intl extension loaded.
  • + +
  • Your version of PHP does NOT have the intl extension loaded.
  • + +
+
+
+

Filesystem

+
    + +
  • Your tmp directory is writable.
  • + +
  • Your tmp directory is NOT writable.
  • + + + +
  • Your logs directory is writable.
  • + +
  • Your logs directory is NOT writable.
  • + + + + +
  • The Engine is being used for core caching. To change the config edit config/app.php
  • + +
  • Your cache is NOT working. Please check the settings in config/app.php
  • + +
+
+
+
+ +
+
+

Database

+ connect(); + } catch (Exception $connectionError) { + $connected = false; + $errorMsg = $connectionError->getMessage(); + if (method_exists($connectionError, 'getAttributes')) : + $attributes = $connectionError->getAttributes(); + if (isset($errorMsg['message'])) : + $errorMsg .= '
' . $attributes['message']; + endif; + endif; + } + ?> +
    + +
  • CakePHP is able to connect to the database.
  • + +
  • CakePHP is NOT able to connect to the database.
  • + +
+
+
+

DebugKit

+
    + +
  • DebugKit is loaded.
  • + +
  • DebugKit is NOT loaded. You need to either install pdo_sqlite, or define the "debug_kit" connection name.
  • + +
+
+
+
+ +
+
+

Editing this Page

+
    +
  • To change the content of this page, edit: src/Template/Pages/home.ctp.
  • +
  • You can also add some CSS styles for your pages at: webroot/css/.
  • +
+
+
+

Getting Started

+ +
+
+ +
+
+

More about Cake

+

+ CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Front Controller and MVC.
+ Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility. +

+
+
+
+ +
+
+ P +

Help and Bug Reports

+ +
+
+ r +

Docs and Downloads

+ +
+
+ s +

Training and Certification

+ +
+
+ + + diff --git a/src/View/AjaxView.php b/src/View/AjaxView.php new file mode 100644 index 0000000..3cb7869 --- /dev/null +++ b/src/View/AjaxView.php @@ -0,0 +1,49 @@ +response = $this->response->withType('ajax'); + } +} diff --git a/src/View/AppView.php b/src/View/AppView.php new file mode 100644 index 0000000..242ab6b --- /dev/null +++ b/src/View/AppView.php @@ -0,0 +1,40 @@ +loadHelper('Html');` + * + * @return void + */ + public function initialize() + { + } +} diff --git a/src/View/Cell/empty b/src/View/Cell/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/View/Helper/empty b/src/View/Helper/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/src/Application.php b/src/src/Application.php new file mode 100644 index 0000000..e1a7384 --- /dev/null +++ b/src/src/Application.php @@ -0,0 +1,99 @@ +bootstrapCli(); + } + + /* + * Only try to load DebugKit in development mode + * Debug Kit should not be installed on a production system + */ +// if (Configure::read('debug')) { +// $this->addPlugin(\DebugKit\Plugin::class); +// } + + // Load more plugins here + } + + /** + * Setup the middleware queue your application will use. + * + * @param \Cake\Http\MiddlewareQueue $middlewareQueue The middleware queue to setup. + * @return \Cake\Http\MiddlewareQueue The updated middleware queue. + */ + public function middleware($middlewareQueue) + { + $middlewareQueue + // Catch any exceptions in the lower layers, + // and make an error page/response + ->add(new ErrorHandlerMiddleware(null, Configure::read('Error'))) + + // Handle plugin/theme assets like CakePHP normally does. + ->add(new AssetMiddleware([ + 'cacheTime' => Configure::read('Asset.cacheTime') + ])) + + // Add routing middleware. + // If you have a large number of routes connected, turning on routes + // caching in production could improve performance. For that when + // creating the middleware instance specify the cache config name by + // using it's second constructor argument: + // `new RoutingMiddleware($this, '_cake_routes_')` + ->add(new RoutingMiddleware($this)); + + return $middlewareQueue; + } + + /** + * @return void + */ + protected function bootstrapCli() + { + try { + $this->addPlugin('Bake'); + } catch (MissingPluginException $e) { + // Do not halt if the plugin is missing + } + + $this->addPlugin('Migrations'); + + // Load more plugins here + } +} diff --git a/src/src/Console/Installer.php b/src/src/Console/Installer.php new file mode 100644 index 0000000..3bcef47 --- /dev/null +++ b/src/src/Console/Installer.php @@ -0,0 +1,246 @@ +getIO(); + + $rootDir = dirname(dirname(__DIR__)); + + static::createAppConfig($rootDir, $io); + static::createWritableDirectories($rootDir, $io); + + // ask if the permissions should be changed + if ($io->isInteractive()) { + $validator = function ($arg) { + if (in_array($arg, ['Y', 'y', 'N', 'n'])) { + return $arg; + } + throw new Exception('This is not a valid answer. Please choose Y or n.'); + }; + $setFolderPermissions = $io->askAndValidate( + 'Set Folder Permissions ? (Default to Y) [Y,n]? ', + $validator, + 10, + 'Y' + ); + + if (in_array($setFolderPermissions, ['Y', 'y'])) { + static::setFolderPermissions($rootDir, $io); + } + } else { + static::setFolderPermissions($rootDir, $io); + } + + static::setSecuritySalt($rootDir, $io); + + $class = 'Cake\Codeception\Console\Installer'; + if (class_exists($class)) { + $class::customizeCodeceptionBinary($event); + } + } + + /** + * Create the config/app.php file if it does not exist. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function createAppConfig($dir, $io) + { + $appConfig = $dir . '/config/app.php'; + $defaultConfig = $dir . '/config/app.default.php'; + if (!file_exists($appConfig)) { + copy($defaultConfig, $appConfig); + $io->write('Created `config/app.php` file'); + } + } + + /** + * Create the `logs` and `tmp` directories. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function createWritableDirectories($dir, $io) + { + foreach (static::WRITABLE_DIRS as $path) { + $path = $dir . '/' . $path; + if (!file_exists($path)) { + mkdir($path); + $io->write('Created `' . $path . '` directory'); + } + } + } + + /** + * Set globally writable permissions on the "tmp" and "logs" directory. + * + * This is not the most secure default, but it gets people up and running quickly. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function setFolderPermissions($dir, $io) + { + // Change the permissions on a path and output the results. + $changePerms = function ($path) use ($io) { + $currentPerms = fileperms($path) & 0777; + $worldWritable = $currentPerms | 0007; + if ($worldWritable == $currentPerms) { + return; + } + + $res = chmod($path, $worldWritable); + if ($res) { + $io->write('Permissions set on ' . $path); + } else { + $io->write('Failed to set permissions on ' . $path); + } + }; + + $walker = function ($dir) use (&$walker, $changePerms) { + $files = array_diff(scandir($dir), ['.', '..']); + foreach ($files as $file) { + $path = $dir . '/' . $file; + + if (!is_dir($path)) { + continue; + } + + $changePerms($path); + $walker($path); + } + }; + + $walker($dir . '/tmp'); + $changePerms($dir . '/tmp'); + $changePerms($dir . '/logs'); + } + + /** + * Set the security.salt value in the application's config file. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function setSecuritySalt($dir, $io) + { + $newKey = hash('sha256', Security::randomBytes(64)); + static::setSecuritySaltInFile($dir, $io, $newKey, 'app.php'); + } + + /** + * Set the security.salt value in a given file + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @param string $newKey key to set in the file + * @param string $file A path to a file relative to the application's root + * @return void + */ + public static function setSecuritySaltInFile($dir, $io, $newKey, $file) + { + $config = $dir . '/config/' . $file; + $content = file_get_contents($config); + + $content = str_replace('__SALT__', $newKey, $content, $count); + + if ($count == 0) { + $io->write('No Security.salt placeholder to replace.'); + + return; + } + + $result = file_put_contents($config, $content); + if ($result) { + $io->write('Updated Security.salt value in config/' . $file); + + return; + } + $io->write('Unable to update Security.salt value.'); + } + + /** + * Set the APP_NAME value in a given file + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @param string $appName app name to set in the file + * @param string $file A path to a file relative to the application's root + * @return void + */ + public static function setAppNameInFile($dir, $io, $appName, $file) + { + $config = $dir . '/config/' . $file; + $content = file_get_contents($config); + $content = str_replace('__APP_NAME__', $appName, $content, $count); + + if ($count == 0) { + $io->write('No __APP_NAME__ placeholder to replace.'); + + return; + } + + $result = file_put_contents($config, $content); + if ($result) { + $io->write('Updated __APP_NAME__ value in config/' . $file); + + return; + } + $io->write('Unable to update __APP_NAME__ value.'); + } +} diff --git a/src/src/Controller/AppController.php b/src/src/Controller/AppController.php new file mode 100644 index 0000000..bb4ea0c --- /dev/null +++ b/src/src/Controller/AppController.php @@ -0,0 +1,57 @@ +loadComponent('Security');` + * + * @return void + */ + public function initialize() + { + parent::initialize(); + + $this->log('loaded'); + + $this->loadComponent('RequestHandler', [ + 'enableBeforeRedirect' => false, + ]); + $this->loadComponent('Flash'); + + /* + * Enable the following component for recommended CakePHP security settings. + * see https://book.cakephp.org/3.0/en/controllers/components/security.html + */ + //$this->loadComponent('Security'); + } +} diff --git a/src/src/Controller/Component/empty b/src/src/Controller/Component/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/src/Controller/ErrorController.php b/src/src/Controller/ErrorController.php new file mode 100644 index 0000000..43bd2fb --- /dev/null +++ b/src/src/Controller/ErrorController.php @@ -0,0 +1,70 @@ +loadComponent('RequestHandler', [ + 'enableBeforeRedirect' => false, + ]); + } + + /** + * beforeFilter callback. + * + * @param \Cake\Event\Event $event Event. + * @return \Cake\Http\Response|null|void + */ + public function beforeFilter(Event $event) + { + } + + /** + * beforeRender callback. + * + * @param \Cake\Event\Event $event Event. + * @return \Cake\Http\Response|null|void + */ + public function beforeRender(Event $event) + { + parent::beforeRender($event); + + $this->viewBuilder()->setTemplatePath('Error'); + } + + /** + * afterFilter callback. + * + * @param \Cake\Event\Event $event Event. + * @return \Cake\Http\Response|null|void + */ + public function afterFilter(Event $event) + { + } +} diff --git a/src/src/Controller/HomeController.php b/src/src/Controller/HomeController.php new file mode 100644 index 0000000..17cf2d3 --- /dev/null +++ b/src/src/Controller/HomeController.php @@ -0,0 +1,69 @@ +redirect('/'); + } + if (in_array('..', $path, true) || in_array('.', $path, true)) { + throw new ForbiddenException(); + } + $page = $subpage = null; + + if (!empty($path[0])) { + $page = $path[0]; + } + if (!empty($path[1])) { + $subpage = $path[1]; + } + $this->set(compact('page', 'subpage')); + + try { + $this->render(implode('/', $path)); + } catch (MissingTemplateException $exception) { + if (Configure::read('debug')) { + throw $exception; + } + throw new NotFoundException(); + } + } +} diff --git a/src/src/Controller/Oauth2Controller.php b/src/src/Controller/Oauth2Controller.php new file mode 100644 index 0000000..c8f9d6b --- /dev/null +++ b/src/src/Controller/Oauth2Controller.php @@ -0,0 +1,75 @@ +log('authorized'); + $this->log($request); + } + + /** + * Displays a view + * + * @param array ...$path Path segments. + * @return \Cake\Http\Response|null + * @throws \Cake\Http\Exception\ForbiddenException When a directory traversal attempt. + * @throws \Cake\Http\Exception\NotFoundException When the view file could not + * be found or \Cake\View\Exception\MissingTemplateException in debug mode. + */ + public function display(...$path) + { + $count = count($path); + if (!$count) { + return $this->redirect('/'); + } + if (in_array('..', $path, true) || in_array('.', $path, true)) { + throw new ForbiddenException(); + } + $page = $subpage = null; + + if (!empty($path[0])) { + $page = $path[0]; + } + if (!empty($path[1])) { + $subpage = $path[1]; + } + $this->set(compact('page', 'subpage')); + + try { + $this->render(implode('/', $path)); + } catch (MissingTemplateException $exception) { + if (Configure::read('debug')) { + throw $exception; + } + throw new NotFoundException(); + } + } +} diff --git a/src/src/Model/Behavior/empty b/src/src/Model/Behavior/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/src/Model/Entity/empty b/src/src/Model/Entity/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/src/Model/Table/empty b/src/src/Model/Table/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/src/Shell/ConsoleShell.php b/src/src/Shell/ConsoleShell.php new file mode 100644 index 0000000..f7bfe8e --- /dev/null +++ b/src/src/Shell/ConsoleShell.php @@ -0,0 +1,81 @@ +err('Unable to load Psy\Shell.'); + $this->err(''); + $this->err('Make sure you have installed psysh as a dependency,'); + $this->err('and that Psy\Shell is registered in your autoloader.'); + $this->err(''); + $this->err('If you are using composer run'); + $this->err(''); + $this->err('$ php composer.phar require --dev psy/psysh'); + $this->err(''); + + return self::CODE_ERROR; + } + + $this->out("You can exit with `CTRL-C` or `exit`"); + $this->out(''); + + Log::drop('debug'); + Log::drop('error'); + $this->_io->setLoggers(false); + restore_error_handler(); + restore_exception_handler(); + + $psy = new PsyShell(); + $psy->run(); + } + + /** + * Display help for this console. + * + * @return \Cake\Console\ConsoleOptionParser + */ + public function getOptionParser() + { + $parser = new ConsoleOptionParser('console'); + $parser->setDescription( + 'This shell provides a REPL that you can use to interact with ' . + 'your application in a command line designed to run PHP code. ' . + 'You can use it to run adhoc queries with your models, or ' . + 'explore the features of CakePHP and your application.' . + "\n\n" . + 'You will need to have psysh installed for this Shell to work.' + ); + + return $parser; + } +} diff --git a/src/src/Template/Cell/empty b/src/src/Template/Cell/empty new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/src/Template/Cell/empty @@ -0,0 +1 @@ + diff --git a/src/src/Template/Element/Flash/default.ctp b/src/src/Template/Element/Flash/default.ctp new file mode 100644 index 0000000..736b27d --- /dev/null +++ b/src/src/Template/Element/Flash/default.ctp @@ -0,0 +1,10 @@ + +
diff --git a/src/src/Template/Element/Flash/error.ctp b/src/src/Template/Element/Flash/error.ctp new file mode 100644 index 0000000..e7c4af1 --- /dev/null +++ b/src/src/Template/Element/Flash/error.ctp @@ -0,0 +1,6 @@ + +
diff --git a/src/src/Template/Element/Flash/success.ctp b/src/src/Template/Element/Flash/success.ctp new file mode 100644 index 0000000..becd5a1 --- /dev/null +++ b/src/src/Template/Element/Flash/success.ctp @@ -0,0 +1,6 @@ + +
diff --git a/src/src/Template/Email/html/default.ctp b/src/src/Template/Email/html/default.ctp new file mode 100644 index 0000000..ac3daa7 --- /dev/null +++ b/src/src/Template/Email/html/default.ctp @@ -0,0 +1,20 @@ + ' . $line . "

\n"; +endforeach; diff --git a/src/src/Template/Email/text/default.ctp b/src/src/Template/Email/text/default.ctp new file mode 100644 index 0000000..862cd9f --- /dev/null +++ b/src/src/Template/Email/text/default.ctp @@ -0,0 +1,16 @@ +layout = 'error'; + +if (Configure::read('debug')) : + $this->layout = 'dev_error'; + + $this->assign('title', $message); + $this->assign('templateName', 'error400.ctp'); + + $this->start('file'); +?> +queryString)) : ?> +

+ SQL Query: + queryString) ?> +

+ +params)) : ?> + SQL Query Params: + params) ?> + +element('auto_table_warning') ?> +end(); +endif; +?> +

+

+ : + '{$url}'") ?> +

diff --git a/src/src/Template/Error/error500.ctp b/src/src/Template/Error/error500.ctp new file mode 100644 index 0000000..3328cc5 --- /dev/null +++ b/src/src/Template/Error/error500.ctp @@ -0,0 +1,43 @@ +layout = 'error'; + +if (Configure::read('debug')) : + $this->layout = 'dev_error'; + + $this->assign('title', $message); + $this->assign('templateName', 'error500.ctp'); + + $this->start('file'); +?> +queryString)) : ?> +

+ SQL Query: + queryString) ?> +

+ +params)) : ?> + SQL Query Params: + params) ?> + + + Error in: + getFile()), $error->getLine()) ?> + +element('auto_table_warning'); + + if (extension_loaded('xdebug')) : + xdebug_print_function_stack(); + endif; + + $this->end(); +endif; +?> +

+

+ : + +

diff --git a/src/src/Template/Home/home.ctp b/src/src/Template/Home/home.ctp new file mode 100644 index 0000000..83331a6 --- /dev/null +++ b/src/src/Template/Home/home.ctp @@ -0,0 +1,7 @@ +
+

+
+
-
+
+
+
diff --git a/src/src/Template/Layout/Email/html/default.ctp b/src/src/Template/Layout/Email/html/default.ctp new file mode 100644 index 0000000..3ff87ff --- /dev/null +++ b/src/src/Template/Layout/Email/html/default.ctp @@ -0,0 +1,24 @@ + + + + + <?= $this->fetch('title') ?> + + + fetch('content') ?> + + diff --git a/src/src/Template/Layout/Email/text/default.ctp b/src/src/Template/Layout/Email/text/default.ctp new file mode 100644 index 0000000..29b439c --- /dev/null +++ b/src/src/Template/Layout/Email/text/default.ctp @@ -0,0 +1,16 @@ +fetch('content'); diff --git a/src/src/Template/Layout/ajax.ctp b/src/src/Template/Layout/ajax.ctp new file mode 100644 index 0000000..29b439c --- /dev/null +++ b/src/src/Template/Layout/ajax.ctp @@ -0,0 +1,16 @@ +fetch('content'); diff --git a/src/src/Template/Layout/default.ctp b/src/src/Template/Layout/default.ctp new file mode 100644 index 0000000..ae47989 --- /dev/null +++ b/src/src/Template/Layout/default.ctp @@ -0,0 +1,173 @@ + + + + + + + + + + - ECS - Editor + + + + + Html->charset() ?> + + + + + + + + + Html->css('style.css') ?> + Html->css('https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css') ?> + + + + + + + + + + + + + + + + +Flash->render() ?> +
+
+ +
+ fetch('content') ?> +
+
+ +
+ + + \ No newline at end of file diff --git a/src/src/Template/Layout/error.ctp b/src/src/Template/Layout/error.ctp new file mode 100644 index 0000000..7367c1b --- /dev/null +++ b/src/src/Template/Layout/error.ctp @@ -0,0 +1,47 @@ + + + + + Html->charset() ?> + + <?= $this->fetch('title') ?> + + Html->meta('icon') ?> + + Html->css('base.css') ?> + Html->css('style.css') ?> + + fetch('meta') ?> + fetch('css') ?> + fetch('script') ?> + + +
+ +
+ Flash->render() ?> + + fetch('content') ?> +
+ +
+ + diff --git a/src/src/Template/Layout/rss/default.ctp b/src/src/Template/Layout/rss/default.ctp new file mode 100644 index 0000000..8269be2 --- /dev/null +++ b/src/src/Template/Layout/rss/default.ctp @@ -0,0 +1,11 @@ +fetch('title'); +endif; + +echo $this->Rss->document( + $this->Rss->channel([], $channel, $this->fetch('content')) +); diff --git a/src/src/View/AjaxView.php b/src/src/View/AjaxView.php new file mode 100644 index 0000000..3cb7869 --- /dev/null +++ b/src/src/View/AjaxView.php @@ -0,0 +1,49 @@ +response = $this->response->withType('ajax'); + } +} diff --git a/src/src/View/AppView.php b/src/src/View/AppView.php new file mode 100644 index 0000000..242ab6b --- /dev/null +++ b/src/src/View/AppView.php @@ -0,0 +1,40 @@ +loadHelper('Html');` + * + * @return void + */ + public function initialize() + { + } +} diff --git a/src/src/View/Cell/empty b/src/src/View/Cell/empty new file mode 100644 index 0000000..e69de29 diff --git a/src/src/View/Helper/empty b/src/src/View/Helper/empty new file mode 100644 index 0000000..e69de29 diff --git a/tests/Fixture/empty b/tests/Fixture/empty new file mode 100644 index 0000000..e69de29 diff --git a/tests/TestCase/ApplicationTest.php b/tests/TestCase/ApplicationTest.php new file mode 100644 index 0000000..908b235 --- /dev/null +++ b/tests/TestCase/ApplicationTest.php @@ -0,0 +1,84 @@ +bootstrap(); + $plugins = $app->getPlugins(); + + $this->assertCount(3, $plugins); + $this->assertSame('Bake', $plugins->get('Bake')->getName()); + $this->assertSame('Migrations', $plugins->get('Migrations')->getName()); + $this->assertSame('DebugKit', $plugins->get('DebugKit')->getName()); + } + + /** + * testBootstrapPluginWitoutHalt + * + * @return void + */ + public function testBootstrapPluginWithoutHalt() + { + $this->expectException(InvalidArgumentException::class); + + $app = $this->getMockBuilder(Application::class) + ->setConstructorArgs([dirname(dirname(__DIR__)) . '/config']) + ->setMethods(['addPlugin']) + ->getMock(); + + $app->method('addPlugin') + ->will($this->throwException(new InvalidArgumentException('test exception.'))); + + $app->bootstrap(); + } + + /** + * testMiddleware + * + * @return void + */ + public function testMiddleware() + { + $app = new Application(dirname(dirname(__DIR__)) . '/config'); + $middleware = new MiddlewareQueue(); + + $middleware = $app->middleware($middleware); + + $this->assertInstanceOf(ErrorHandlerMiddleware::class, $middleware->get(0)); + $this->assertInstanceOf(AssetMiddleware::class, $middleware->get(1)); + $this->assertInstanceOf(RoutingMiddleware::class, $middleware->get(2)); + } +} diff --git a/tests/TestCase/Controller/Component/empty b/tests/TestCase/Controller/Component/empty new file mode 100644 index 0000000..e69de29 diff --git a/tests/TestCase/Controller/PagesControllerTest.php b/tests/TestCase/Controller/PagesControllerTest.php new file mode 100644 index 0000000..11b8b1d --- /dev/null +++ b/tests/TestCase/Controller/PagesControllerTest.php @@ -0,0 +1,97 @@ +get('/'); + $this->assertResponseOk(); + $this->get('/'); + $this->assertResponseOk(); + } + + /** + * testDisplay method + * + * @return void + */ + public function testDisplay() + { + $this->get('/pages/home'); + $this->assertResponseOk(); + $this->assertResponseContains('CakePHP'); + $this->assertResponseContains(''); + } + + /** + * Test that missing template renders 404 page in production + * + * @return void + */ + public function testMissingTemplate() + { + Configure::write('debug', false); + $this->get('/pages/not_existing'); + + $this->assertResponseError(); + $this->assertResponseContains('Error'); + } + + /** + * Test that missing template in debug mode renders missing_template error page + * + * @return void + */ + public function testMissingTemplateInDebug() + { + Configure::write('debug', true); + $this->get('/pages/not_existing'); + + $this->assertResponseFailure(); + $this->assertResponseContains('Missing Template'); + $this->assertResponseContains('Stacktrace'); + $this->assertResponseContains('not_existing.ctp'); + } + + /** + * Test directory traversal protection + * + * @return void + */ + public function testDirectoryTraversalProtection() + { + $this->get('/pages/../Layout/ajax'); + $this->assertResponseCode(403); + $this->assertResponseContains('Forbidden'); + } +} diff --git a/tests/TestCase/Model/Behavior/empty b/tests/TestCase/Model/Behavior/empty new file mode 100644 index 0000000..e69de29 diff --git a/tests/TestCase/View/Helper/empty b/tests/TestCase/View/Helper/empty new file mode 100644 index 0000000..e69de29 diff --git a/tests/bootstrap.php b/tests/bootstrap.php new file mode 100644 index 0000000..0ca191e --- /dev/null +++ b/tests/bootstrap.php @@ -0,0 +1,12 @@ + + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/webroot/css/base.css b/webroot/css/base.css new file mode 100644 index 0000000..458cd94 --- /dev/null +++ b/webroot/css/base.css @@ -0,0 +1,455 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +/** + * Foundation for Sites by ZURB + * Version 5 + */ + +/* + * Copyright (c) 2013-2014 ZURB, inc. +* MIT License +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +meta.foundation-version{font-family:"{{ VERSION }}"}meta.foundation-mq-small{font-family:"/only screen/";width:0}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.0625em)/";width:40.0625em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.0625em) and (max-width:64em)/";width:40.0625em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.0625em)/";width:64.0625em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.0625em) and (max-width:90em)/";width:64.0625em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.0625em)/";width:90.0625em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.0625em) and (max-width:120em)/";width:90.0625em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.0625em)/";width:120.0625em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}html{box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}html,body{font-size:100%}body{background:#fff;color:#222;cursor:auto;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;line-height:1.5;margin:0;padding:0;position:relative}a:hover{cursor:pointer}img{max-width:100%;height:auto}img{-ms-interpolation-mode:bicubic}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.row{margin:0 auto;max-width:62.5rem;width:100%}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row.collapse .row{margin-left:0;margin-right:0}.row .row{margin:0 -0.9375rem;max-width:none;width:auto}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{margin:0;max-width:none;width:auto}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table}.row .row.collapse:after{clear:both}.column,.columns{padding-left:0.9375rem;padding-right:0.9375rem;width:100%;float:left}.column+.column:last-child,.columns+.column:last-child,.column+.columns:last-child,.columns+.columns:last-child{float:right}.column+.column.end,.columns+.column.end,.column+.columns.end,.columns+.columns.end{float:left}@media only screen{.small-push-0{position:relative;left:0;right:auto}.small-pull-0{position:relative;right:0;left:auto}.small-push-1{position:relative;left:8.33333%;right:auto}.small-pull-1{position:relative;right:8.33333%;left:auto}.small-push-2{position:relative;left:16.66667%;right:auto}.small-pull-2{position:relative;right:16.66667%;left:auto}.small-push-3{position:relative;left:25%;right:auto}.small-pull-3{position:relative;right:25%;left:auto}.small-push-4{position:relative;left:33.33333%;right:auto}.small-pull-4{position:relative;right:33.33333%;left:auto}.small-push-5{position:relative;left:41.66667%;right:auto}.small-pull-5{position:relative;right:41.66667%;left:auto}.small-push-6{position:relative;left:50%;right:auto}.small-pull-6{position:relative;right:50%;left:auto}.small-push-7{position:relative;left:58.33333%;right:auto}.small-pull-7{position:relative;right:58.33333%;left:auto}.small-push-8{position:relative;left:66.66667%;right:auto}.small-pull-8{position:relative;right:66.66667%;left:auto}.small-push-9{position:relative;left:75%;right:auto}.small-pull-9{position:relative;right:75%;left:auto}.small-push-10{position:relative;left:83.33333%;right:auto}.small-pull-10{position:relative;right:83.33333%;left:auto}.small-push-11{position:relative;left:91.66667%;right:auto}.small-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.small-1{width:8.33333%}.small-2{width:16.66667%}.small-3{width:25%}.small-4{width:33.33333%}.small-5{width:41.66667%}.small-6{width:50%}.small-7{width:58.33333%}.small-8{width:66.66667%}.small-9{width:75%}.small-10{width:83.33333%}.small-11{width:91.66667%}.small-12{width:100%}.small-offset-0{margin-left:0 !important}.small-offset-1{margin-left:8.33333% !important}.small-offset-2{margin-left:16.66667% !important}.small-offset-3{margin-left:25% !important}.small-offset-4{margin-left:33.33333% !important}.small-offset-5{margin-left:41.66667% !important}.small-offset-6{margin-left:50% !important}.small-offset-7{margin-left:58.33333% !important}.small-offset-8{margin-left:66.66667% !important}.small-offset-9{margin-left:75% !important}.small-offset-10{margin-left:83.33333% !important}.small-offset-11{margin-left:91.66667% !important}.small-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{float:left;margin-left:0;margin-right:0}.column.small-centered:last-child,.columns.small-centered:last-child{float:none}.column.small-uncentered:last-child,.columns.small-uncentered:last-child{float:left}.column.small-uncentered.opposite,.columns.small-uncentered.opposite{float:right}.row.small-collapse>.column,.row.small-collapse>.columns{padding-left:0;padding-right:0}.row.small-collapse .row{margin-left:0;margin-right:0}.row.small-uncollapse>.column,.row.small-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}}@media only screen and (min-width: 40.0625em){.medium-push-0{position:relative;left:0;right:auto}.medium-pull-0{position:relative;right:0;left:auto}.medium-push-1{position:relative;left:8.33333%;right:auto}.medium-pull-1{position:relative;right:8.33333%;left:auto}.medium-push-2{position:relative;left:16.66667%;right:auto}.medium-pull-2{position:relative;right:16.66667%;left:auto}.medium-push-3{position:relative;left:25%;right:auto}.medium-pull-3{position:relative;right:25%;left:auto}.medium-push-4{position:relative;left:33.33333%;right:auto}.medium-pull-4{position:relative;right:33.33333%;left:auto}.medium-push-5{position:relative;left:41.66667%;right:auto}.medium-pull-5{position:relative;right:41.66667%;left:auto}.medium-push-6{position:relative;left:50%;right:auto}.medium-pull-6{position:relative;right:50%;left:auto}.medium-push-7{position:relative;left:58.33333%;right:auto}.medium-pull-7{position:relative;right:58.33333%;left:auto}.medium-push-8{position:relative;left:66.66667%;right:auto}.medium-pull-8{position:relative;right:66.66667%;left:auto}.medium-push-9{position:relative;left:75%;right:auto}.medium-pull-9{position:relative;right:75%;left:auto}.medium-push-10{position:relative;left:83.33333%;right:auto}.medium-pull-10{position:relative;right:83.33333%;left:auto}.medium-push-11{position:relative;left:91.66667%;right:auto}.medium-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.medium-1{width:8.33333%}.medium-2{width:16.66667%}.medium-3{width:25%}.medium-4{width:33.33333%}.medium-5{width:41.66667%}.medium-6{width:50%}.medium-7{width:58.33333%}.medium-8{width:66.66667%}.medium-9{width:75%}.medium-10{width:83.33333%}.medium-11{width:91.66667%}.medium-12{width:100%}.medium-offset-0{margin-left:0 !important}.medium-offset-1{margin-left:8.33333% !important}.medium-offset-2{margin-left:16.66667% !important}.medium-offset-3{margin-left:25% !important}.medium-offset-4{margin-left:33.33333% !important}.medium-offset-5{margin-left:41.66667% !important}.medium-offset-6{margin-left:50% !important}.medium-offset-7{margin-left:58.33333% !important}.medium-offset-8{margin-left:66.66667% !important}.medium-offset-9{margin-left:75% !important}.medium-offset-10{margin-left:83.33333% !important}.medium-offset-11{margin-left:91.66667% !important}.medium-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{float:left;margin-left:0;margin-right:0}.column.medium-centered:last-child,.columns.medium-centered:last-child{float:none}.column.medium-uncentered:last-child,.columns.medium-uncentered:last-child{float:left}.column.medium-uncentered.opposite,.columns.medium-uncentered.opposite{float:right}.row.medium-collapse>.column,.row.medium-collapse>.columns{padding-left:0;padding-right:0}.row.medium-collapse .row{margin-left:0;margin-right:0}.row.medium-uncollapse>.column,.row.medium-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}@media only screen and (min-width: 64.0625em){.large-push-0{position:relative;left:0;right:auto}.large-pull-0{position:relative;right:0;left:auto}.large-push-1{position:relative;left:8.33333%;right:auto}.large-pull-1{position:relative;right:8.33333%;left:auto}.large-push-2{position:relative;left:16.66667%;right:auto}.large-pull-2{position:relative;right:16.66667%;left:auto}.large-push-3{position:relative;left:25%;right:auto}.large-pull-3{position:relative;right:25%;left:auto}.large-push-4{position:relative;left:33.33333%;right:auto}.large-pull-4{position:relative;right:33.33333%;left:auto}.large-push-5{position:relative;left:41.66667%;right:auto}.large-pull-5{position:relative;right:41.66667%;left:auto}.large-push-6{position:relative;left:50%;right:auto}.large-pull-6{position:relative;right:50%;left:auto}.large-push-7{position:relative;left:58.33333%;right:auto}.large-pull-7{position:relative;right:58.33333%;left:auto}.large-push-8{position:relative;left:66.66667%;right:auto}.large-pull-8{position:relative;right:66.66667%;left:auto}.large-push-9{position:relative;left:75%;right:auto}.large-pull-9{position:relative;right:75%;left:auto}.large-push-10{position:relative;left:83.33333%;right:auto}.large-pull-10{position:relative;right:83.33333%;left:auto}.large-push-11{position:relative;left:91.66667%;right:auto}.large-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.large-1{width:8.33333%}.large-2{width:16.66667%}.large-3{width:25%}.large-4{width:33.33333%}.large-5{width:41.66667%}.large-6{width:50%}.large-7{width:58.33333%}.large-8{width:66.66667%}.large-9{width:75%}.large-10{width:83.33333%}.large-11{width:91.66667%}.large-12{width:100%}.large-offset-0{margin-left:0 !important}.large-offset-1{margin-left:8.33333% !important}.large-offset-2{margin-left:16.66667% !important}.large-offset-3{margin-left:25% !important}.large-offset-4{margin-left:33.33333% !important}.large-offset-5{margin-left:41.66667% !important}.large-offset-6{margin-left:50% !important}.large-offset-7{margin-left:58.33333% !important}.large-offset-8{margin-left:66.66667% !important}.large-offset-9{margin-left:75% !important}.large-offset-10{margin-left:83.33333% !important}.large-offset-11{margin-left:91.66667% !important}.large-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{float:left;margin-left:0;margin-right:0}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}button,.button{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#008CBA;border-color:#007095;color:#fff;transition:background-color 300ms ease-out}button:hover,button:focus,.button:hover,.button:focus{background-color:#007095}button:hover,button:focus,.button:hover,.button:focus{color:#fff}button.secondary,.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{background-color:#b9b9b9}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{color:#333}button.success,.button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{background-color:#368a55}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{color:#fff}button.alert,.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{background-color:#cf2a0e}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{color:#fff}button.warning,.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{background-color:#cf6e0e}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{color:#fff}button.info,.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{background-color:#61b6d9}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{color:#fff}button.large,.button.large{padding:1.125rem 2.25rem 1.1875rem 2.25rem;font-size:1.25rem}button.small,.button.small{padding:0.875rem 1.75rem 0.9375rem 1.75rem;font-size:0.8125rem}button.tiny,.button.tiny{padding:0.625rem 1.25rem 0.6875rem 1.25rem;font-size:0.6875rem}button.expand,.button.expand{padding-left:0;padding-right:0;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:0.75rem}button.right-align,.button.right-align{text-align:right;padding-right:0.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#008CBA;border-color:#007095;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#007095}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{color:#fff}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#008CBA}button.disabled.secondary,button[disabled].secondary,.button.disabled.secondary,.button[disabled].secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333;box-shadow:none;cursor:default;opacity:0.7}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#b9b9b9}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{color:#333}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#e7e7e7}button.disabled.success,button[disabled].success,.button.disabled.success,.button[disabled].success{background-color:#43AC6A;border-color:#368a55;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#368a55}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{color:#fff}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#43AC6A}button.disabled.alert,button[disabled].alert,.button.disabled.alert,.button[disabled].alert{background-color:#f04124;border-color:#cf2a0e;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cf2a0e}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{color:#fff}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#f04124}button.disabled.warning,button[disabled].warning,.button.disabled.warning,.button[disabled].warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#cf6e0e}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{color:#fff}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#f08a24}button.disabled.info,button[disabled].info,.button.disabled.info,.button[disabled].info{background-color:#a0d3e8;border-color:#61b6d9;color:#333;box-shadow:none;cursor:default;opacity:0.7}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#61b6d9}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{color:#fff}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#a0d3e8}button::-moz-focus-inner{border:0;padding:0}@media only screen and (min-width: 40.0625em){button,.button{display:inline-block}}form{margin:0 0 1rem}form .row .row{margin:0 -0.5rem}form .row .row .column,form .row .row .columns{padding:0 0.5rem}form .row .row.collapse{margin:0}form .row .row.collapse .column,form .row .row.collapse .columns{padding:0}form .row .row.collapse input{-webkit-border-bottom-right-radius:0;-webkit-border-top-right-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}form .row input.column,form .row input.columns,form .row textarea.column,form .row textarea.columns{padding-left:0.5rem}label{color:#4d4d4d;cursor:pointer;display:block;font-size:0.875rem;font-weight:normal;line-height:1.5;margin-bottom:0}label.right{float:none !important;text-align:right}label.inline{margin:0 0 1rem 0;padding:0.5625rem 0}label small{text-transform:capitalize;color:#676767}.prefix,.postfix{border-style:solid;border-width:1px;display:block;font-size:0.875rem;height:2.3125rem;line-height:2.3125rem;overflow:visible;padding-bottom:0;padding-top:0;position:relative;text-align:center;width:100%;z-index:2}.postfix.button{border-color:true}.prefix.button{border:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button.radius{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.postfix.button.radius{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.prefix.button.round{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.postfix.button.round{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}span.prefix,label.prefix{background:#f2f2f2;border-right:none;color:#333;border-color:#ccc}span.postfix,label.postfix{background:#f2f2f2;color:#333;border-color:#ccc}input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input[type="color"],textarea{-webkit-appearance:none;-moz-appearance:none;border-radius:0;background-color:#fff;border-style:solid;border-width:1px;border-color:#ccc;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);color:rgba(0,0,0,0.75);display:block;font-family:inherit;font-size:0.875rem;height:2.3125rem;margin:0 0 1rem 0;padding:0.5rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color 0.15s linear,background 0.15s linear;-moz-transition:border-color 0.15s linear,background 0.15s linear;-ms-transition:border-color 0.15s linear,background 0.15s linear;-o-transition:border-color 0.15s linear,background 0.15s linear;transition:border-color 0.15s linear,background 0.15s linear}input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fafafa;border-color:#999;outline:none}input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#ddd;cursor:default}input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#ddd;cursor:default}input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select,form .row .prefix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-radius.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse input,form .row .postfix-radius.row.collapse textarea,form .row .postfix-radius.row.collapse select,form .row .postfix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-round.row.collapse input,form .row .prefix-round.row.collapse textarea,form .row .prefix-round.row.collapse select,form .row .prefix-round.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}form .row .prefix-round.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse input,form .row .postfix-round.row.collapse textarea,form .row .postfix-round.row.collapse select,form .row .postfix-round.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}::-webkit-input-placeholder{color:#ccc}:-moz-placeholder{color:#ccc}::-moz-placeholder{color:#ccc}:-ms-input-placeholder{color:#ccc}select{-webkit-appearance:none !important;-moz-appearance:none !important;background-color:#FAFAFA;border-radius:0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);background-position:100% center;background-repeat:no-repeat;border-style:solid;border-width:1px;border-color:#ccc;color:rgba(0,0,0,0.75);font-family:inherit;font-size:0.875rem;line-height:normal;padding:0.5rem;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:hover{background-color:#f3f3f3;border-color:#999}select:disabled{background-color:#ddd;cursor:default}select[multiple]{height:auto}input[type="file"],input[type="checkbox"],input[type="radio"],select{margin:0 0 1rem 0}input[type="checkbox"]+label,input[type="radio"]+label{display:inline-block;margin-left:0.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type="file"]{width:100%}fieldset{border:1px solid #ddd;margin:1.125rem 0;padding:1.25rem}fieldset legend{background:#fff;font-weight:bold;margin-left:-0.1875rem;margin:0;padding:0 0.1875rem}[data-abide] .error small.error,[data-abide] .error span.error,[data-abide] span.error,[data-abide] small.error{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:0.375rem 0.5625rem 0.5625rem;background:#f04124;color:#fff}[data-abide] span.error,[data-abide] small.error{display:none}span.error,small.error{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:0.375rem 0.5625rem 0.5625rem;background:#f04124;color:#fff}.error input,.error textarea,.error select{margin-bottom:0}.error input[type="checkbox"],.error input[type="radio"]{margin-bottom:1rem}.error label,.error label.error{color:#f04124}.error small.error{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:0.375rem 0.5625rem 0.5625rem;background:#f04124;color:#fff}.error>label>small{background:transparent;color:#676767;display:inline;font-size:60%;font-style:normal;margin:0;padding:0;text-transform:capitalize}.error span.error-message{display:block}input.error,textarea.error,select.error{margin-bottom:0}label.error{color:#f04124}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.0625em)/";width:40.0625em}.contain-to-grid{width:100%;background:#333}.contain-to-grid .top-bar{margin-bottom:0}.fixed{position:fixed;top:0;width:100%;z-index:99;left:0}.fixed.expanded:not(.top-bar){height:auto;max-height:100%;overflow-y:auto;width:100%}.fixed.expanded:not(.top-bar) .title-area{position:fixed;width:100%;z-index:99}.fixed.expanded:not(.top-bar) .top-bar-section{margin-top:2.8125rem;z-index:98}.top-bar{background:#333;height:2.8125rem;line-height:2.8125rem;margin-bottom:0;overflow:hidden;position:relative}.top-bar ul{list-style:none;margin-bottom:0}.top-bar .row{max-width:none}.top-bar form,.top-bar input,.top-bar select{margin-bottom:0}.top-bar input,.top-bar select{font-size:0.75rem;height:1.75rem;padding-bottom:.35rem;padding-top:.35rem}.top-bar .button,.top-bar button{font-size:0.75rem;margin-bottom:0;padding-bottom:0.4125rem;padding-top:0.4125rem}@media only screen and (max-width: 40em){.top-bar .button,.top-bar button{position:relative;top:-1px}}.top-bar .title-area{margin:0;position:relative}.top-bar .name{font-size:16px;height:2.8125rem;margin:0}.top-bar .name h1,.top-bar .name h2,.top-bar .name h3,.top-bar .name h4,.top-bar .name p,.top-bar .name span{font-size:1.0625rem;line-height:2.8125rem;margin:0}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name p a,.top-bar .name span a{color:#fff;display:block;font-weight:normal;padding:0 0.9375rem;width:75%}.top-bar .toggle-topbar{position:absolute;right:0;top:0}.top-bar .toggle-topbar a{color:#fff;display:block;font-size:0.8125rem;font-weight:bold;height:2.8125rem;line-height:2.8125rem;padding:0 0.9375rem;position:relative;text-transform:uppercase}.top-bar .toggle-topbar.menu-icon{margin-top:-16px;top:50%}.top-bar .toggle-topbar.menu-icon a{color:#fff;height:34px;line-height:33px;padding:0 2.5rem 0 0.9375rem;position:relative}.top-bar .toggle-topbar.menu-icon a span::after{content:"";display:block;height:0;position:absolute;margin-top:-8px;top:50%;right:0.9375rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:16px}.top-bar .toggle-topbar.menu-icon a span:hover:after{box-shadow:0 0 0 1px "",0 7px 0 1px "",0 14px 0 1px ""}.top-bar.expanded{background:transparent;height:auto}.top-bar.expanded .title-area{background:#333}.top-bar.expanded .toggle-topbar a{color:#888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0 0 1px #888,0 7px 0 1px #888,0 14px 0 1px #888}@media screen and (-webkit-min-device-pixel-ratio: 0){.top-bar.expanded .top-bar-section .has-dropdown.moved>.dropdown,.top-bar.expanded .top-bar-section .dropdown{clip:initial}.top-bar.expanded .top-bar-section .has-dropdown:not(.moved)>ul{padding:0}}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{display:block;font-size:16px;height:auto;margin:0;padding:0;width:100%}.top-bar-section .divider,.top-bar-section [role="separator"]{border-top:solid 1px #1a1a1a;clear:both;height:1px;width:100%}.top-bar-section ul li{background:#333}.top-bar-section ul li>a{color:#fff;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.8125rem;font-weight:normal;padding-left:0.9375rem;padding:12px 0 12px 0.9375rem;text-transform:none;width:100%}.top-bar-section ul li>a.button{font-size:0.8125rem;padding-left:0.9375rem;padding-right:0.9375rem;background-color:#008CBA;border-color:#007095;color:#fff}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{background-color:#007095}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{color:#fff}.top-bar-section ul li>a.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{color:#333}.top-bar-section ul li>a.button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{background-color:#368a55}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{color:#fff}.top-bar-section ul li>a.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{color:#fff}.top-bar-section ul li>a.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{color:#fff}.top-bar-section ul li>a.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{background-color:#61b6d9}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{color:#fff}.top-bar-section ul li>button{font-size:0.8125rem;padding-left:0.9375rem;padding-right:0.9375rem;background-color:#008CBA;border-color:#007095;color:#fff}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{background-color:#007095}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{color:#fff}.top-bar-section ul li>button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{color:#333}.top-bar-section ul li>button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{background-color:#368a55}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{color:#fff}.top-bar-section ul li>button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{color:#fff}.top-bar-section ul li>button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{color:#fff}.top-bar-section ul li>button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{background-color:#61b6d9}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{color:#fff}.top-bar-section ul li:hover:not(.has-form)>a{background-color:#555;color:#fff;background:#222}.top-bar-section ul li.active>a{background:#008CBA;color:#fff}.top-bar-section ul li.active>a:hover{background:#0078a0;color:#fff}.top-bar-section .has-form{padding:0.9375rem}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{border:inset 5px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent rgba(255,255,255,0.4);border-left-style:solid;margin-right:0.9375rem;margin-top:-4.5px;position:absolute;top:50%;right:0}.top-bar-section .has-dropdown.moved{position:static}.top-bar-section .has-dropdown.moved>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important;width:100%}.top-bar-section .has-dropdown.moved>a:after{display:none}.top-bar-section .dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block;padding:0;position:absolute;top:0;z-index:99;left:100%}.top-bar-section .dropdown li{height:auto;width:100%}.top-bar-section .dropdown li a{font-weight:normal;padding:8px 0.9375rem}.top-bar-section .dropdown li a.parent-link{font-weight:normal}.top-bar-section .dropdown li.title h5,.top-bar-section .dropdown li.parent-link{margin-bottom:0;margin-top:0;font-size:1.125rem}.top-bar-section .dropdown li.title h5 a,.top-bar-section .dropdown li.parent-link a{color:#fff;display:block}.top-bar-section .dropdown li.title h5 a:hover,.top-bar-section .dropdown li.parent-link a:hover{background:none}.top-bar-section .dropdown li.has-form{padding:8px 0.9375rem}.top-bar-section .dropdown li .button,.top-bar-section .dropdown li button{top:auto}.top-bar-section .dropdown label{color:#777;font-size:0.625rem;font-weight:bold;margin-bottom:0;padding:8px 0.9375rem 2px;text-transform:uppercase}.js-generated{display:block}@media only screen and (min-width: 40.0625em){.top-bar{background:#333;overflow:visible}.top-bar:before,.top-bar:after{content:" ";display:table}.top-bar:after{clear:both}.top-bar .toggle-topbar{display:none}.top-bar .title-area{float:left}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name h5 a,.top-bar .name h6 a{width:auto}.top-bar input,.top-bar select,.top-bar .button,.top-bar button{font-size:0.875rem;height:1.75rem;position:relative;top:0.53125rem}.top-bar.expanded{background:#333}.contain-to-grid .top-bar{margin-bottom:0;margin:0 auto;max-width:62.5rem}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{display:inline;height:auto !important;width:auto}.top-bar-section ul li{float:left}.top-bar-section ul li .js-generated{display:none}.top-bar-section li.hover>a:not(.button){background-color:#555;background:#222;color:#fff}.top-bar-section li:not(.has-form) a:not(.button){background:#333;line-height:2.8125rem;padding:0 0.9375rem}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#555;background:#222}.top-bar-section li.active:not(.has-form) a:not(.button){background:#008CBA;color:#fff;line-height:2.8125rem;padding:0 0.9375rem}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:#0078a0;color:#fff}.top-bar-section .has-dropdown>a{padding-right:2.1875rem !important}.top-bar-section .has-dropdown>a:after{border:inset 5px;content:"";display:block;height:0;width:0;border-color:rgba(255,255,255,0.4) transparent transparent transparent;border-top-style:solid;margin-top:-2.5px;top:1.40625rem}.top-bar-section .has-dropdown.moved{position:relative}.top-bar-section .has-dropdown.moved>.dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block}.top-bar-section .has-dropdown.hover>.dropdown,.top-bar-section .has-dropdown.not-click:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .has-dropdown .dropdown li.has-dropdown>a:after{border:none;content:"\00bb";top:0.1875rem;right:5px}.top-bar-section .dropdown{left:0;background:transparent;min-width:100%;top:auto}.top-bar-section .dropdown li a{background:#333;color:#fff;line-height:2.8125rem;padding:12px 0.9375rem;white-space:nowrap}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){background:#333;color:#fff}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){background-color:#555;color:#fff;background:#222}.top-bar-section .dropdown li label{background:#333;white-space:nowrap}.top-bar-section .dropdown li .dropdown{left:100%;top:0}.top-bar-section>ul>.divider,.top-bar-section>ul>[role="separator"]{border-right:solid 1px #4e4e4e;border-bottom:none;border-top:none;clear:none;height:2.8125rem;width:0}.top-bar-section .has-form{background:#333;height:2.8125rem;padding:0 0.9375rem}.top-bar-section .right li .dropdown{left:auto;right:0}.top-bar-section .right li .dropdown li .dropdown{right:100%}.top-bar-section .left li .dropdown{right:auto;left:0}.top-bar-section .left li .dropdown li .dropdown{left:100%}.no-js .top-bar-section ul li:hover>a{background-color:#555;background:#222;color:#fff}.no-js .top-bar-section ul li:active>a{background:#008CBA;color:#fff}.no-js .top-bar-section .has-dropdown:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.no-js .top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}}.breadcrumbs{border-style:solid;border-width:1px;display:block;list-style:none;margin-left:0;overflow:hidden;padding:0.5625rem 0.875rem 0.5625rem;background-color:#f4f4f4;border-color:#dcdcdc;border-radius:3px}.breadcrumbs>*{color:#008CBA;float:left;font-size:0.6875rem;line-height:0.6875rem;margin:0;text-transform:uppercase}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:underline}.breadcrumbs>* a{color:#008CBA}.breadcrumbs>*.current{color:#333;cursor:default}.breadcrumbs>*.current a{color:#333;cursor:default}.breadcrumbs>*.current:hover,.breadcrumbs>*.current:hover a,.breadcrumbs>*.current:focus,.breadcrumbs>*.current:focus a{text-decoration:none}.breadcrumbs>*.unavailable{color:#999}.breadcrumbs>*.unavailable a{color:#999}.breadcrumbs>*.unavailable:hover,.breadcrumbs>*.unavailable:hover a,.breadcrumbs>*.unavailable:focus,.breadcrumbs>*.unavailable a:focus{color:#999;cursor:not-allowed;text-decoration:none}.breadcrumbs>*:before{color:#aaa;content:"/";margin:0 0.75rem;position:relative;top:1px}.breadcrumbs>*:first-child:before{content:" ";margin:0}[aria-label="breadcrumbs"] [aria-hidden="true"]:after{content:"/"}.alert-box{border-style:solid;border-width:1px;display:block;font-size:0.8125rem;font-weight:normal;margin-bottom:1.25rem;padding:0.875rem 1.5rem 0.875rem 0.875rem;position:relative;transition:opacity 300ms ease-out;background-color:#008CBA;border-color:#0078a0;color:#fff}.alert-box .close{right:0.25rem;background:inherit;color:#333;font-size:1.375rem;line-height:.9;margin-top:-0.6875rem;opacity:0.3;padding:0 6px 4px;position:absolute;top:50%}.alert-box .close:hover,.alert-box .close:focus{opacity:0.5}.alert-box.radius{border-radius:3px}.alert-box.round{border-radius:1000px}.alert-box.success{background-color:#43AC6A;border-color:#3a945b;color:#fff}.alert-box.alert{background-color:#f04124;border-color:#de2d0f;color:#fff}.alert-box.secondary{background-color:#e7e7e7;border-color:#c7c7c7;color:#4f4f4f}.alert-box.warning{background-color:#f08a24;border-color:#de770f;color:#fff}.alert-box.info{background-color:#a0d3e8;border-color:#74bfdd;color:#4f4f4f}.alert-box.alert-close{opacity:0}.inline-list{list-style:none;margin-left:-1.375rem;margin-right:0;margin:0 auto 1.0625rem auto;overflow:hidden;padding:0}.inline-list>li{display:block;float:left;list-style:none;margin-left:1.375rem}.inline-list>li>*{display:block}.button-group{list-style:none;margin:0;left:0}.button-group:before,.button-group:after{content:" ";display:table}.button-group:after{clear:both}.button-group.even-2 li{display:inline-block;margin:0 -2px;width:50%}.button-group.even-2 li>button,.button-group.even-2 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-2 li:first-child button,.button-group.even-2 li:first-child .button{border-left:0}.button-group.even-2 li button,.button-group.even-2 li .button{width:100%}.button-group.even-3 li{display:inline-block;margin:0 -2px;width:33.33333%}.button-group.even-3 li>button,.button-group.even-3 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-3 li:first-child button,.button-group.even-3 li:first-child .button{border-left:0}.button-group.even-3 li button,.button-group.even-3 li .button{width:100%}.button-group.even-4 li{display:inline-block;margin:0 -2px;width:25%}.button-group.even-4 li>button,.button-group.even-4 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-4 li:first-child button,.button-group.even-4 li:first-child .button{border-left:0}.button-group.even-4 li button,.button-group.even-4 li .button{width:100%}.button-group.even-5 li{display:inline-block;margin:0 -2px;width:20%}.button-group.even-5 li>button,.button-group.even-5 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-5 li:first-child button,.button-group.even-5 li:first-child .button{border-left:0}.button-group.even-5 li button,.button-group.even-5 li .button{width:100%}.button-group.even-6 li{display:inline-block;margin:0 -2px;width:16.66667%}.button-group.even-6 li>button,.button-group.even-6 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-6 li:first-child button,.button-group.even-6 li:first-child .button{border-left:0}.button-group.even-6 li button,.button-group.even-6 li .button{width:100%}.button-group.even-7 li{display:inline-block;margin:0 -2px;width:14.28571%}.button-group.even-7 li>button,.button-group.even-7 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-7 li:first-child button,.button-group.even-7 li:first-child .button{border-left:0}.button-group.even-7 li button,.button-group.even-7 li .button{width:100%}.button-group.even-8 li{display:inline-block;margin:0 -2px;width:12.5%}.button-group.even-8 li>button,.button-group.even-8 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-8 li:first-child button,.button-group.even-8 li:first-child .button{border-left:0}.button-group.even-8 li button,.button-group.even-8 li .button{width:100%}.button-group>li{display:inline-block;margin:0 -2px}.button-group>li>button,.button-group>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group>li:first-child button,.button-group>li:first-child .button{border-left:0}.button-group.stack>li{display:block;margin:0;float:none}.button-group.stack>li>button,.button-group.stack>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-left:0}.button-group.stack>li>button,.button-group.stack>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack>li>button{width:100%}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{display:inline-block;margin:0 -2px}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}@media only screen and (max-width: 40em){.button-group.stack-for-small>li{display:block;margin:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack-for-small>li>button{width:100%}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{display:inline-block;margin:0 -2px}.button-group.radius>*>button,.button-group.radius>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius>*:first-child button,.button-group.radius>*:first-child .button{border-left:0}.button-group.radius>*,.button-group.radius>*>a,.button-group.radius>*>button,.button-group.radius>*>.button{border-radius:0}.button-group.radius>*:first-child,.button-group.radius>*:first-child>a,.button-group.radius>*:first-child>button,.button-group.radius>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius>*:last-child,.button-group.radius>*:last-child>a,.button-group.radius>*:last-child>button,.button-group.radius>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*{display:block;margin:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-left:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack>*>button{width:100%}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-top:0}.button-group.radius.stack>*,.button-group.radius.stack>*>a,.button-group.radius.stack>*>button,.button-group.radius.stack>*>.button{border-radius:0}.button-group.radius.stack>*:first-child,.button-group.radius.stack>*:first-child>a,.button-group.radius.stack>*:first-child>button,.button-group.radius.stack>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*:last-child,.button-group.radius.stack>*:last-child>a,.button-group.radius.stack>*:last-child>button,.button-group.radius.stack>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}@media only screen and (min-width: 40.0625em){.button-group.radius.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}}@media only screen and (max-width: 40em){.button-group.radius.stack-for-small>*{display:block;margin:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack-for-small>*>button{width:100%}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-top:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}}.button-group.round>*{display:inline-block;margin:0 -2px}.button-group.round>*>button,.button-group.round>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round>*:first-child button,.button-group.round>*:first-child .button{border-left:0}.button-group.round>*,.button-group.round>*>a,.button-group.round>*>button,.button-group.round>*>.button{border-radius:0}.button-group.round>*:first-child,.button-group.round>*:first-child>a,.button-group.round>*:first-child>button,.button-group.round>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round>*:last-child,.button-group.round>*:last-child>a,.button-group.round>*:last-child>button,.button-group.round>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.button-group.round.stack>*{display:block;margin:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-left:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack>*>button{width:100%}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-top:0}.button-group.round.stack>*,.button-group.round.stack>*>a,.button-group.round.stack>*>button,.button-group.round.stack>*>.button{border-radius:0}.button-group.round.stack>*:first-child,.button-group.round.stack>*:first-child>a,.button-group.round.stack>*:first-child>button,.button-group.round.stack>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack>*:last-child,.button-group.round.stack>*:last-child>a,.button-group.round.stack>*:last-child>button,.button-group.round.stack>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}@media only screen and (min-width: 40.0625em){.button-group.round.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}}@media only screen and (max-width: 40em){.button-group.round.stack-for-small>*{display:block;margin:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack-for-small>*>button{width:100%}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-top:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}}.button-bar:before,.button-bar:after{content:" ";display:table}.button-bar:after{clear:both}.button-bar .button-group{float:left;margin-right:0.625rem}.button-bar .button-group div{overflow:hidden}.panel{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;color:#333}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6,.panel p,.panel li,.panel dl{color:#333}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6{line-height:1;margin-bottom:0.625rem}.panel h1.subheader,.panel h2.subheader,.panel h3.subheader,.panel h4.subheader,.panel h5.subheader,.panel h6.subheader{line-height:1.4}.panel.callout{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#ecfaff;color:#333}.panel.callout>:first-child{margin-top:0}.panel.callout>:last-child{margin-bottom:0}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6,.panel.callout p,.panel.callout li,.panel.callout dl{color:#333}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6{line-height:1;margin-bottom:0.625rem}.panel.callout h1.subheader,.panel.callout h2.subheader,.panel.callout h3.subheader,.panel.callout h4.subheader,.panel.callout h5.subheader,.panel.callout h6.subheader{line-height:1.4}.panel.callout a:not(.button){color:#008CBA}.panel.callout a:not(.button):hover,.panel.callout a:not(.button):focus{color:#0078a0}.panel.radius{border-radius:3px}.dropdown.button,button.dropdown{position:relative;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent;border-style:solid;content:"";display:block;height:0;position:absolute;top:50%;width:0}.dropdown.button::after,button.dropdown::after{border-width:0.375rem;right:1.40625rem;margin-top:-0.15625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent}.dropdown.button.tiny,button.dropdown.tiny{padding-right:2.625rem}.dropdown.button.tiny:after,button.dropdown.tiny:after{border-width:0.375rem;right:1.125rem;margin-top:-0.125rem}.dropdown.button.tiny::after,button.dropdown.tiny::after{border-color:#fff transparent transparent transparent}.dropdown.button.small,button.dropdown.small{padding-right:3.0625rem}.dropdown.button.small::after,button.dropdown.small::after{border-width:0.4375rem;right:1.3125rem;margin-top:-0.15625rem}.dropdown.button.small::after,button.dropdown.small::after{border-color:#fff transparent transparent transparent}.dropdown.button.large,button.dropdown.large{padding-right:3.625rem}.dropdown.button.large::after,button.dropdown.large::after{border-width:0.3125rem;right:1.71875rem;margin-top:-0.15625rem}.dropdown.button.large::after,button.dropdown.large::after{border-color:#fff transparent transparent transparent}.dropdown.button.secondary:after,button.dropdown.secondary:after{border-color:#333 transparent transparent transparent}.th{border:solid 4px #fff;box-shadow:0 0 0 1px rgba(0,0,0,0.2);display:inline-block;line-height:0;max-width:100%;transition:all 200ms ease-out}.th:hover,.th:focus{box-shadow:0 0 6px 1px rgba(0,140,186,0.5)}.th.radius{border-radius:3px}.pricing-table{border:solid 1px #ddd;margin-left:0;margin-bottom:1.25rem}.pricing-table *{list-style:none;line-height:1}.pricing-table .title{background-color:#333;color:#eee;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;font-weight:normal;padding:0.9375rem 1.25rem;text-align:center}.pricing-table .price{background-color:#F6F6F6;color:#333;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:2rem;font-weight:normal;padding:0.9375rem 1.25rem;text-align:center}.pricing-table .description{background-color:#fff;border-bottom:dotted 1px #ddd;color:#777;font-size:0.75rem;font-weight:normal;line-height:1.4;padding:0.9375rem;text-align:center}.pricing-table .bullet-item{background-color:#fff;border-bottom:dotted 1px #ddd;color:#333;font-size:0.875rem;font-weight:normal;padding:0.9375rem;text-align:center}.pricing-table .cta-button{background-color:#fff;padding:1.25rem 1.25rem 0;text-align:center}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.slideshow-wrapper{position:relative}.slideshow-wrapper ul{list-style-type:none;margin:0}.slideshow-wrapper ul li,.slideshow-wrapper ul li .orbit-caption{display:none}.slideshow-wrapper ul li:first-child{display:block}.slideshow-wrapper .orbit-container{background-color:transparent}.slideshow-wrapper .orbit-container li{display:block}.slideshow-wrapper .orbit-container li .orbit-caption{display:block}.slideshow-wrapper .orbit-container .orbit-bullets li{display:inline-block}.slideshow-wrapper .preloader{border-radius:1000px;animation-duration:1.5s;animation-iteration-count:infinite;animation-name:rotate;animation-timing-function:linear;border-color:#555 #fff;border:solid 3px;display:block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px}.orbit-container{background:none;overflow:hidden;position:relative;width:100%}.orbit-container .orbit-slides-container{list-style:none;margin:0;padding:0;position:relative;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.orbit-container .orbit-slides-container img{display:block;max-width:100%}.orbit-container .orbit-slides-container>*{position:absolute;top:0;width:100%;margin-left:100%}.orbit-container .orbit-slides-container>*:first-child{margin-left:0}.orbit-container .orbit-slides-container>* .orbit-caption{bottom:0;position:absolute;background-color:rgba(51,51,51,0.8);color:#fff;font-size:0.875rem;padding:0.625rem 0.875rem;width:100%}.orbit-container .orbit-slide-number{left:10px;background:transparent;color:#fff;font-size:12px;position:absolute;top:10px;z-index:10}.orbit-container .orbit-slide-number span{font-weight:700;padding:0.3125rem}.orbit-container .orbit-timer{position:absolute;top:12px;right:10px;height:6px;width:100px;z-index:10}.orbit-container .orbit-timer .orbit-progress{height:3px;background-color:rgba(255,255,255,0.3);display:block;width:0;position:relative;right:20px;top:5px}.orbit-container .orbit-timer>span{border:solid 4px #fff;border-bottom:none;border-top:none;display:none;height:14px;position:absolute;top:0;width:11px;right:0}.orbit-container .orbit-timer.paused>span{top:0;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#fff;right:-4px}.orbit-container .orbit-timer.paused>span.dark{border-left-color:#333}.orbit-container:hover .orbit-timer>span{display:block}.orbit-container .orbit-prev,.orbit-container .orbit-next{background-color:transparent;color:white;height:60px;line-height:50px;margin-top:-25px;position:absolute;text-indent:-9999px !important;top:45%;width:36px;z-index:10}.orbit-container .orbit-prev:hover,.orbit-container .orbit-next:hover{background-color:rgba(0,0,0,0.3)}.orbit-container .orbit-prev>span,.orbit-container .orbit-next>span{border:inset 10px;display:block;height:0;margin-top:-10px;position:absolute;top:50%;width:0}.orbit-container .orbit-prev{left:0}.orbit-container .orbit-prev>span{border-right-style:solid;border-color:transparent;border-right-color:#fff}.orbit-container .orbit-prev:hover>span{border-right-color:#fff}.orbit-container .orbit-next{right:0}.orbit-container .orbit-next>span{border-color:transparent;border-left-style:solid;border-left-color:#fff;left:50%;margin-left:-4px}.orbit-container .orbit-next:hover>span{border-left-color:#fff}.orbit-bullets-container{text-align:center}.orbit-bullets{display:block;float:none;margin:0 auto 30px auto;overflow:hidden;position:relative;text-align:center;top:10px}.orbit-bullets li{background:#ccc;cursor:pointer;display:inline-block;float:none;height:0.5625rem;margin-right:6px;width:0.5625rem;border-radius:1000px}.orbit-bullets li.active{background:#999}.orbit-bullets li:last-child{margin-right:0}.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:none}.touch .orbit-bullets{display:none}@media only screen and (min-width: 40.0625em){.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:inherit}.touch .orbit-bullets{display:block}}@media only screen and (max-width: 40em){.orbit-stack-on-small .orbit-slides-container{height:auto !important}.orbit-stack-on-small .orbit-slides-container>*{margin:0 !important;opacity:1 !important;position:relative}.orbit-stack-on-small .orbit-slide-number{display:none}.orbit-timer{display:none}.orbit-next,.orbit-prev{display:none}.orbit-bullets{display:none}}[data-magellan-expedition],[data-magellan-expedition-clone]{background:#fff;min-width:100%;padding:10px;z-index:50}[data-magellan-expedition] .sub-nav,[data-magellan-expedition-clone] .sub-nav{margin-bottom:0}[data-magellan-expedition] .sub-nav dd,[data-magellan-expedition-clone] .sub-nav dd{margin-bottom:0}[data-magellan-expedition] .sub-nav a,[data-magellan-expedition-clone] .sub-nav a{line-height:1.8em}.icon-bar{display:inline-block;font-size:0;width:100%;background:#333}.icon-bar>*{display:block;float:left;font-size:1rem;margin:0 auto;padding:1.25rem;text-align:center;width:25%}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{display:inline-block;margin:0 .0625rem 0 0}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{float:none;margin:auto;width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.medium-vertical{height:100%;width:auto}.icon-bar.medium-vertical .item{float:none;margin:auto;width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.large-vertical{height:100%;width:auto}.icon-bar.large-vertical .item{float:none;margin:auto;width:auto}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem;font-size:1rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar>* label{color:#fff}.icon-bar>* i{color:#fff}.icon-bar>a:hover{background:#008CBA}.icon-bar>a:hover label{color:#fff}.icon-bar>a:hover i{color:#fff}.icon-bar>a.active{background:#008CBA}.icon-bar>a.active label{color:#fff}.icon-bar>a.active i{color:#fff}.icon-bar .item.disabled{cursor:not-allowed;opacity:0.7;pointer-events:none}.icon-bar .item.disabled>*{opacity:0.7;cursor:not-allowed}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.eight-up.large-vertical .item{width:auto}}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.eight-up.large-vertical .item{width:auto}}.tabs{margin-bottom:0 !important;margin-left:0}.tabs:before,.tabs:after{content:" ";display:table}.tabs:after{clear:both}.tabs dd,.tabs .tab-title{float:left;list-style:none;margin-bottom:0 !important;position:relative}.tabs dd>a,.tabs .tab-title>a{display:block;background-color:#EFEFEF;color:#222;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;padding:1rem 2rem}.tabs dd>a:hover,.tabs .tab-title>a:hover{background-color:#e1e1e1}.tabs dd.active a,.tabs .tab-title.active a{background-color:#fff;color:#222}.tabs.radius dd:first-child a,.tabs.radius .tab:first-child a{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.tabs.radius dd:last-child a,.tabs.radius .tab:last-child a{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.tabs.vertical dd,.tabs.vertical .tab-title{position:inherit;float:none;display:block;top:auto}.tabs-content{margin-bottom:1.5rem;width:100%}.tabs-content:before,.tabs-content:after{content:" ";display:table}.tabs-content:after{clear:both}.tabs-content>.content{display:none;float:left;padding:0.9375rem 0;width:100%}.tabs-content>.content.active{display:block;float:none}.tabs-content>.content.contained{padding:0.9375rem}.tabs-content.vertical{display:block}.tabs-content.vertical>.content{padding:0 0.9375rem}@media only screen and (min-width: 40.0625em){.tabs.vertical{float:left;margin:0;margin-bottom:1.25rem !important;max-width:20%;width:20%}.tabs-content.vertical{float:left;margin-left:-1px;max-width:80%;padding-left:1rem;width:80%}}.no-js .tabs-content>.content{display:block;float:none}ul.pagination{display:block;margin-left:-0.3125rem;min-height:1.5rem}ul.pagination li{color:#222;font-size:0.875rem;height:1.5rem;margin-left:0.3125rem}ul.pagination li a,ul.pagination li button{border-radius:3px;transition:background-color 300ms ease-out;background:none;color:#999;display:block;font-size:1em;font-weight:normal;line-height:inherit;padding:0.0625rem 0.625rem 0.0625rem}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#008CBA;color:#fff;cursor:default;font-weight:bold}ul.pagination li.current a:hover,ul.pagination li.current a:focus,ul.pagination li.current button:hover,ul.pagination li.current button:focus{background:#008CBA}ul.pagination li{display:block;float:left}.pagination-centered{text-align:center}.pagination-centered ul.pagination li{display:inline-block;float:none}.side-nav{display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;list-style-position:outside;list-style-type:none;margin:0;padding:0.875rem 0}.side-nav li{font-size:0.875rem;font-weight:normal;margin:0 0 0.4375rem 0}.side-nav li a:not(.button){color:#008CBA;display:block;margin:0;padding:0.4375rem 0.875rem}.side-nav li a:not(.button):hover,.side-nav li a:not(.button):focus{background:rgba(0,0,0,0.025);color:#1cc7ff}.side-nav li a:not(.button):active{color:#1cc7ff}.side-nav li.active>a:first-child:not(.button){color:#1cc7ff;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal}.side-nav li.divider{border-top:1px solid;height:0;list-style:none;padding:0;border-top-color:#e6e6e6}.side-nav li.heading{color:#008CBA;font-size:0.875rem;font-weight:bold;text-transform:uppercase}.accordion{margin-bottom:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:#e8e8e8}.accordion .accordion-navigation>a,.accordion dd>a{background:#EFEFEF;color:#222;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;padding:1rem}.accordion .accordion-navigation>a:hover,.accordion dd>a:hover{background:#e3e3e3}.accordion .accordion-navigation>.content,.accordion dd>.content{display:none;padding:0.9375rem}.accordion .accordion-navigation>.content.active,.accordion dd>.content.active{background:#fff;display:block}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 40em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.0625em) and (max-width: 64em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.0625em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.0625em) and (max-width: 90em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.0625em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.0625em) and (max-width: 120em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.0625em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.0625em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#008CBA;line-height:inherit;text-decoration:none}a:hover,a:focus{color:#0078a0}a img{border:none}p{font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p.lead{font-size:1.21875rem;line-height:1.6}p aside{font-size:0.875rem;font-style:italic;line-height:1.35}h1,h2,h3,h4,h5,h6{color:#222;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;line-height:1.4;margin-bottom:0.5rem;margin-top:0.2rem;text-rendering:optimizeLegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#6f6f6f;font-size:60%;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:0.2rem;margin-bottom:0.5rem}hr{border:solid #ddd;border-width:1px 0 0;clear:both;height:0;margin:1.25rem 0 1.1875rem}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{background-color:#f8f8f8;border-color:#dfdfdf;border-style:solid;border-width:1px;color:#333;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;padding:0.125rem 0.3125rem 0.0625rem}ul,ol,dl{font-family:inherit;font-size:1rem;line-height:1.6;list-style-position:outside;margin-bottom:1.25rem}ul{margin-left:1.1rem}ul.no-bullet{margin-left:0}ul.no-bullet li ul,ul.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:0.3rem;font-weight:bold}dl dd{margin-bottom:0.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #ddd}blockquote{margin:0 0 1.25rem;padding:0.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:0.8125rem;color:#555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #ddd;padding:0.625rem 0.75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:0.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 0.0625rem}@media only screen and (min-width: 40.0625em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}}.split.button{position:relative;padding-right:5.0625rem}.split.button span{display:block;height:100%;position:absolute;right:0;top:0;border-left:solid 1px}.split.button span:after{position:absolute;content:"";width:0;height:0;display:block;border-style:inset;top:50%;left:50%}.split.button span:active{background-color:rgba(0,0,0,0.1)}.split.button span{border-left-color:rgba(255,255,255,0.5)}.split.button span{width:3.09375rem}.split.button span:after{border-top-style:solid;border-width:0.375rem;margin-left:-0.375rem;top:48%}.split.button span:after{border-color:#fff transparent transparent transparent}.split.button.secondary span{border-left-color:rgba(255,255,255,0.5)}.split.button.secondary span:after{border-color:#fff transparent transparent transparent}.split.button.alert span{border-left-color:rgba(255,255,255,0.5)}.split.button.success span{border-left-color:rgba(255,255,255,0.5)}.split.button.tiny{padding-right:3.75rem}.split.button.tiny span{width:2.25rem}.split.button.tiny span:after{border-top-style:solid;border-width:0.375rem;margin-left:-0.375rem;top:48%}.split.button.small{padding-right:4.375rem}.split.button.small span{width:2.625rem}.split.button.small span:after{border-top-style:solid;border-width:0.4375rem;margin-left:-0.375rem;top:48%}.split.button.large{padding-right:5.5rem}.split.button.large span{width:3.4375rem}.split.button.large span:after{border-top-style:solid;border-width:0.3125rem;margin-left:-0.375rem;top:48%}.split.button.expand{padding-left:2rem}.split.button.secondary span:after{border-color:#333 transparent transparent transparent}.split.button.radius span{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.split.button.round span{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.split.button.no-pip span:before{border-style:none}.split.button.no-pip span:after{border-style:none}.split.button.no-pip span>i{display:block;left:50%;margin-left:-0.28889em;margin-top:-0.48889em;position:absolute;top:50%}.reveal-modal-bg{background:#000;background:rgba(0,0,0,0.45);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1004;left:0}.reveal-modal{border-radius:3px;display:none;position:absolute;top:0;visibility:hidden;width:100%;z-index:1005;left:0;background-color:#fff;padding:1.875rem;border:solid 1px #666;box-shadow:0 0 10px rgba(0,0,0,0.4)}@media only screen and (max-width: 40em){.reveal-modal{min-height:100vh}}.reveal-modal .column,.reveal-modal .columns{min-width:0}.reveal-modal>:first-child{margin-top:0}.reveal-modal>:last-child{margin-bottom:0}@media only screen and (min-width: 40.0625em){.reveal-modal{left:0;margin:0 auto;max-width:62.5rem;right:0;width:80%}}@media only screen and (min-width: 40.0625em){.reveal-modal{top:6.25rem}}.reveal-modal.radius{border-radius:3px}.reveal-modal.round{border-radius:1000px}.reveal-modal.collapse{padding:0}@media only screen and (min-width: 40.0625em){.reveal-modal.tiny{left:0;margin:0 auto;max-width:62.5rem;right:0;width:30%}}@media only screen and (min-width: 40.0625em){.reveal-modal.small{left:0;margin:0 auto;max-width:62.5rem;right:0;width:40%}}@media only screen and (min-width: 40.0625em){.reveal-modal.medium{left:0;margin:0 auto;max-width:62.5rem;right:0;width:60%}}@media only screen and (min-width: 40.0625em){.reveal-modal.large{left:0;margin:0 auto;max-width:62.5rem;right:0;width:70%}}@media only screen and (min-width: 40.0625em){.reveal-modal.xlarge{left:0;margin:0 auto;max-width:62.5rem;right:0;width:95%}}.reveal-modal.full{height:100vh;height:100%;left:0;margin-left:0 !important;max-width:none !important;min-height:100vh;top:0}@media only screen and (min-width: 40.0625em){.reveal-modal.full{left:0;margin:0 auto;max-width:62.5rem;right:0;width:100%}}.reveal-modal.toback{z-index:1003}.reveal-modal .close-reveal-modal{color:#aaa;cursor:pointer;font-size:2.5rem;font-weight:bold;line-height:1;position:absolute;top:0.625rem;right:1.375rem}.has-tip{border-bottom:dotted 1px #ccc;color:#333;cursor:help;font-weight:bold}.has-tip:hover,.has-tip:focus{border-bottom:dotted 1px #003f54;color:#008CBA}.has-tip.tip-left,.has-tip.tip-right{float:none !important}.tooltip{background:#333;color:#fff;display:none;font-size:0.875rem;font-weight:normal;line-height:1.3;max-width:300px;padding:0.75rem;position:absolute;width:100%;z-index:1006;left:50%}.tooltip>.nub{border-color:transparent transparent #333 transparent;border:solid 5px;display:block;height:0;pointer-events:none;position:absolute;top:-10px;width:0;left:5px}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{border-bottom:dotted 1px #003f54 !important;color:#008CBA !important}.tap-to-close{color:#777;display:block;font-size:0.625rem;font-weight:normal}@media only screen and (min-width: 40.0625em){.tooltip>.nub{border-color:transparent transparent #333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333 transparent transparent transparent;bottom:-10px;top:auto}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333;left:auto;margin-top:-5px;right:-10px;top:50%}.tooltip.tip-right>.nub{border-color:transparent #333 transparent transparent;left:-10px;margin-top:-5px;right:auto;top:50%}}.clearing-thumbs,[data-clearing]{list-style:none;margin-left:0;margin-bottom:0}.clearing-thumbs:before,.clearing-thumbs:after,[data-clearing]:before,[data-clearing]:after{content:" ";display:table}.clearing-thumbs:after,[data-clearing]:after{clear:both}.clearing-thumbs li,[data-clearing] li{float:left;margin-right:10px}.clearing-thumbs[class*="block-grid-"] li,[data-clearing][class*="block-grid-"] li{margin-right:0}.clearing-blackout{background:#333;height:100%;position:fixed;top:0;width:100%;z-index:998;left:0}.clearing-blackout .clearing-close{display:block}.clearing-container{height:100%;margin:0;overflow:hidden;position:relative;z-index:998}.clearing-touch-label{color:#aaa;font-size:.6em;left:50%;position:absolute;top:50%}.visible-img{height:95%;position:relative}.visible-img img{position:absolute;left:50%;top:50%;-webkit-transform:translateY(-50%) translateX(-50%);-moz-transform:translateY(-50%) translateX(-50%);-ms-transform:translateY(-50%) translateX(-50%);-o-transform:translateY(-50%) translateX(-50%);transform:translateY(-50%) translateX(-50%);max-height:100%;max-width:100%}.clearing-caption{background:#333;bottom:0;color:#ccc;font-size:0.875em;line-height:1.3;margin-bottom:0;padding:10px 30px 20px;position:absolute;text-align:center;width:100%;left:0}.clearing-close{color:#ccc;display:none;font-size:30px;line-height:1;padding-left:20px;padding-top:10px;z-index:999}.clearing-close:hover,.clearing-close:focus{color:#ccc}.clearing-assembled .clearing-container{height:100%}.clearing-assembled .clearing-container .carousel>ul{display:none}.clearing-feature li{display:none}.clearing-feature li.clearing-featured-img{display:block}@media only screen and (min-width: 40.0625em){.clearing-main-prev,.clearing-main-next{height:100%;position:absolute;top:0;width:40px}.clearing-main-prev>span,.clearing-main-next>span{border:solid 12px;display:block;height:0;position:absolute;top:50%;width:0}.clearing-main-prev>span:hover,.clearing-main-next>span:hover{opacity:.8}.clearing-main-prev{left:0}.clearing-main-prev>span{left:5px;border-color:transparent;border-right-color:#ccc}.clearing-main-next{right:0}.clearing-main-next>span{border-color:transparent;border-left-color:#ccc}.clearing-main-prev.disabled,.clearing-main-next.disabled{opacity:.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{clear:none;cursor:pointer;display:block;float:left;margin-right:0;min-height:inherit;opacity:.4;overflow:hidden;padding:0;position:relative;width:120px}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:.8}.clearing-assembled .clearing-container .visible-img{background:#333;height:85%;overflow:hidden}.clearing-close{padding-left:0;padding-top:0;position:absolute;top:10px;right:20px}}.progress{background-color:#F6F6F6;border:1px solid #fff;height:1.5625rem;margin-bottom:0.625rem;padding:0.125rem}.progress .meter{background:#008CBA;display:block;height:100%}.progress.secondary .meter{background:#e7e7e7;display:block;height:100%}.progress.success .meter{background:#43AC6A;display:block;height:100%}.progress.alert .meter{background:#f04124;display:block;height:100%}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.sub-nav{display:block;margin:-0.25rem 0 1.125rem;overflow:hidden;padding-top:0.25rem;width:auto}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{color:#999;float:left;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.875rem;font-weight:normal;margin-left:1rem;margin-bottom:0}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{color:#999;padding:0.1875rem 1rem;text-decoration:none}.sub-nav dt a:hover,.sub-nav dd a:hover,.sub-nav li a:hover{color:#737373}.sub-nav dt.active a,.sub-nav dd.active a,.sub-nav li.active a{border-radius:3px;background:#008CBA;color:#fff;cursor:default;font-weight:normal;padding:0.1875rem 1rem}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#0078a0}.joyride-list{display:none}.joyride-tip-guide{background:#333;color:#fff;display:none;font-family:inherit;font-weight:normal;position:absolute;top:0;width:95%;z-index:101;left:2.5%}.lt-ie9 .joyride-tip-guide{margin-left:-400px;max-width:800px;left:50%}.joyride-content-wrapper{padding:1.125rem 1.25rem 1.5rem;width:100%}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{border:10px solid #333;display:block;height:0;position:absolute;width:0;left:22px}.joyride-tip-guide .joyride-nub.top{border-color:#333;border-top-color:transparent !important;border-top-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-bottom-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{right:-20px}.joyride-tip-guide .joyride-nub.left{left:-20px}.joyride-tip-guide h1,.joyride-tip-guide h2,.joyride-tip-guide h3,.joyride-tip-guide h4,.joyride-tip-guide h5,.joyride-tip-guide h6{color:#fff;font-weight:bold;line-height:1.25;margin:0}.joyride-tip-guide p{font-size:0.875rem;line-height:1.3;margin:0 0 1.125rem 0}.joyride-timer-indicator-wrap{border:solid 1px #555;bottom:1rem;height:3px;position:absolute;width:50px;right:1.0625rem}.joyride-timer-indicator{background:#666;display:block;height:inherit;width:0}.joyride-close-tip{color:#777 !important;font-size:24px;font-weight:normal;line-height:.5 !important;position:absolute;text-decoration:none;top:10px;right:12px}.joyride-close-tip:hover,.joyride-close-tip:focus{color:#eee !important}.joyride-modal-bg{background:rgba(0,0,0,0.5);cursor:pointer;display:none;height:100%;position:fixed;top:0;width:100%;z-index:100;left:0}.joyride-expose-wrapper{background-color:#fff;border-radius:3px;box-shadow:0 0 15px #fff;position:absolute;z-index:102}.joyride-expose-cover{background:transparent;border-radius:3px;left:0;position:absolute;top:0;z-index:9999}@media only screen and (min-width: 40.0625em){.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333 !important;border-right-color:transparent !important;border-bottom-color:transparent !important;border-top-color:transparent !important;left:auto;right:-20px;top:22px}.joyride-tip-guide .joyride-nub.left{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-top-color:transparent !important;left:-20px;right:auto;top:22px}}.label{display:inline-block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:1;margin-bottom:auto;position:relative;text-align:center;text-decoration:none;white-space:nowrap;padding:0.25rem 0.5rem 0.25rem;font-size:0.6875rem;background-color:#008CBA;color:#fff}.label.radius{border-radius:3px}.label.round{border-radius:1000px}.label.alert{background-color:#f04124;color:#fff}.label.warning{background-color:#f08a24;color:#fff}.label.success{background-color:#43AC6A;color:#fff}.label.secondary{background-color:#e7e7e7;color:#333}.label.info{background-color:#a0d3e8;color:#333}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{position:relative;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#333;color:#fff;height:2.8125rem;line-height:2.8125rem;position:relative}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4,.tab-bar h5,.tab-bar h6{color:#fff;font-weight:bold;line-height:2.8125rem;margin:0}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4{font-size:1.125rem}.left-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-right:solid 1px #1a1a1a;left:0}.right-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-left:solid 1px #1a1a1a;right:0}.tab-bar-section{height:2.8125rem;padding:0 0.625rem;position:absolute;text-align:center;top:0}.tab-bar-section.left{text-align:left}.tab-bar-section.right{text-align:right}.tab-bar-section.left{left:0;right:2.8125rem}.tab-bar-section.right{left:2.8125rem;right:0}.tab-bar-section.middle{left:2.8125rem;right:2.8125rem}.tab-bar .menu-icon{color:#fff;display:block;height:2.8125rem;padding:0;position:relative;text-indent:2.1875rem;transform:translate3d(0, 0, 0);width:2.8125rem}.tab-bar .menu-icon span::after{content:"";display:block;height:0;position:absolute;top:50%;margin-top:-0.5rem;left:0.90625rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:1rem}.tab-bar .menu-icon span:hover:after{box-shadow:0 0 0 1px #b3b3b3,0 7px 0 1px #b3b3b3,0 14px 0 1px #b3b3b3}.left-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;margin:0;padding:0}ul.off-canvas-list li label{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;display:block;font-size:0.75rem;font-weight:bold;margin:0;padding:0.3rem 0.9375rem;text-transform:uppercase}ul.off-canvas-list li a{border-bottom:1px solid #262626;color:rgba(255,255,255,0.7);display:block;padding:0.66667rem;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#242424}ul.off-canvas-list li a:active{background:#242424}.move-right>.inner-wrap{-webkit-transform:translate3d(15.625rem, 0, 0);-moz-transform:translate3d(15.625rem, 0, 0);-ms-transform:translate(15.625rem, 0);-ms-transform:translate3d(15.625rem, 0, 0);-o-transform:translate3d(15.625rem, 0, 0);transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-left>.inner-wrap{-webkit-transform:translate3d(-15.625rem, 0, 0);-moz-transform:translate3d(-15.625rem, 0, 0);-ms-transform:translate(-15.625rem, 0);-ms-transform:translate3d(-15.625rem, 0, 0);-o-transform:translate3d(-15.625rem, 0, 0);transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-left .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-right .left-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.left-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;z-index:1002;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem 0.9375rem;text-transform:uppercase;margin:0}.left-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.left-submenu .back>a:before{content:"\AB";margin-right:.5rem;display:inline}.left-submenu.move-right,.left-submenu.offcanvas-overlap-right,.left-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.right-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;z-index:1002;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem 0.9375rem;text-transform:uppercase;margin:0}.right-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.right-submenu .back>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-submenu.move-left,.right-submenu.offcanvas-overlap-left,.right-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:.5rem;display:inline}.f-dropdown{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:2px;max-width:200px}.f-dropdown.open{display:block}.f-dropdown>*:first-child{margin-top:0}.f-dropdown>*:last-child{margin-bottom:0}.f-dropdown:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent #fff transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:89}.f-dropdown:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent #ccc transparent;border-bottom-style:solid;position:absolute;top:-14px;left:9px;z-index:88}.f-dropdown.right:before{left:auto;right:10px}.f-dropdown.right:after{left:auto;right:9px}.f-dropdown.drop-right{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:2px;max-width:200px}.f-dropdown.drop-right.open{display:block}.f-dropdown.drop-right>*:first-child{margin-top:0}.f-dropdown.drop-right>*:last-child{margin-bottom:0}.f-dropdown.drop-right:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent #fff transparent transparent;border-right-style:solid;position:absolute;top:10px;left:-12px;z-index:89}.f-dropdown.drop-right:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent #ccc transparent transparent;border-right-style:solid;position:absolute;top:9px;left:-14px;z-index:88}.f-dropdown.drop-left{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:-2px;max-width:200px}.f-dropdown.drop-left.open{display:block}.f-dropdown.drop-left>*:first-child{margin-top:0}.f-dropdown.drop-left>*:last-child{margin-bottom:0}.f-dropdown.drop-left:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #fff;border-left-style:solid;position:absolute;top:10px;right:-12px;left:auto;z-index:89}.f-dropdown.drop-left:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #ccc;border-left-style:solid;position:absolute;top:9px;right:-14px;left:auto;z-index:88}.f-dropdown.drop-top{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-left:0;margin-top:-2px;max-width:200px}.f-dropdown.drop-top.open{display:block}.f-dropdown.drop-top>*:first-child{margin-top:0}.f-dropdown.drop-top>*:last-child{margin-bottom:0}.f-dropdown.drop-top:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:#fff transparent transparent transparent;border-top-style:solid;bottom:-12px;position:absolute;top:auto;left:10px;right:auto;z-index:89}.f-dropdown.drop-top:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:#ccc transparent transparent transparent;border-top-style:solid;bottom:-14px;position:absolute;top:auto;left:9px;right:auto;z-index:88}.f-dropdown li{cursor:pointer;font-size:0.875rem;line-height:1.125rem;margin:0}.f-dropdown li:hover,.f-dropdown li:focus{background:#eee}.f-dropdown li.radius{border-radius:3px}.f-dropdown li a{display:block;padding:0.5rem;color:#555}.f-dropdown.content{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;padding:1.25rem;width:100%;z-index:89;max-width:200px}.f-dropdown.content.open{display:block}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}table{background:#fff;border:solid 1px #ddd;margin-bottom:1.25rem;table-layout:auto}table caption{background:transparent;color:#222;font-size:1rem;font-weight:bold}table thead{background:#F5F5F5}table thead tr th,table thead tr td{color:#222;font-size:0.875rem;font-weight:bold;padding:0.5rem 0.625rem 0.625rem}table tfoot{background:#F5F5F5}table tfoot tr th,table tfoot tr td{color:#222;font-size:0.875rem;font-weight:bold;padding:0.5rem 0.625rem 0.625rem}table tr th,table tr td{color:#222;font-size:0.875rem;padding:0.5625rem 0.625rem;text-align:left}table tr.even,table tr.alt,table tr:nth-of-type(even){background:#F9F9F9}table thead tr th,table tfoot tr th,table tfoot tr td,table tbody tr th,table tbody tr td,table tr td{display:table-cell;line-height:1.125rem}.range-slider{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:block;height:1rem;width:100%;background:#FAFAFA}.range-slider.vertical-range{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:inline-block;height:12.5rem;width:1rem}.range-slider.vertical-range .range-slider-handle{bottom:-10.5rem;margin-left:-0.5rem;margin-top:0;position:absolute}.range-slider.vertical-range .range-slider-active-segment{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;border-top-left-radius:initial;bottom:0;height:auto;width:0.875rem}.range-slider.radius{background:#FAFAFA;border-radius:3px}.range-slider.radius .range-slider-handle{background:#008CBA;border-radius:3px}.range-slider.radius .range-slider-handle:hover{background:#007ba4}.range-slider.round{background:#FAFAFA;border-radius:1000px}.range-slider.round .range-slider-handle{background:#008CBA;border-radius:1000px}.range-slider.round .range-slider-handle:hover{background:#007ba4}.range-slider.disabled,.range-slider[disabled]{background:#FAFAFA;cursor:not-allowed;opacity:0.7}.range-slider.disabled .range-slider-handle,.range-slider[disabled] .range-slider-handle{background:#008CBA;cursor:default;opacity:0.7}.range-slider.disabled .range-slider-handle:hover,.range-slider[disabled] .range-slider-handle:hover{background:#007ba4}.range-slider-active-segment{background:#e5e5e5;border-bottom-left-radius:inherit;border-top-left-radius:inherit;display:inline-block;height:0.875rem;position:absolute}.range-slider-handle{border:1px solid none;cursor:pointer;display:inline-block;height:1.375rem;position:absolute;top:-0.3125rem;width:2rem;z-index:1;-ms-touch-action:manipulation;touch-action:manipulation;background:#008CBA}.range-slider-handle:hover{background:#007ba4}[class*="block-grid-"]{display:block;padding:0;margin:0 -0.625rem}[class*="block-grid-"]:before,[class*="block-grid-"]:after{content:" ";display:table}[class*="block-grid-"]:after{clear:both}[class*="block-grid-"]>li{display:block;float:left;height:auto;padding:0 0.625rem 1.25rem}@media only screen{.small-block-grid-1>li{list-style:none;width:100%}.small-block-grid-1>li:nth-of-type(1n){clear:none}.small-block-grid-1>li:nth-of-type(1n+1){clear:both}.small-block-grid-2>li{list-style:none;width:50%}.small-block-grid-2>li:nth-of-type(1n){clear:none}.small-block-grid-2>li:nth-of-type(2n+1){clear:both}.small-block-grid-3>li{list-style:none;width:33.33333%}.small-block-grid-3>li:nth-of-type(1n){clear:none}.small-block-grid-3>li:nth-of-type(3n+1){clear:both}.small-block-grid-4>li{list-style:none;width:25%}.small-block-grid-4>li:nth-of-type(1n){clear:none}.small-block-grid-4>li:nth-of-type(4n+1){clear:both}.small-block-grid-5>li{list-style:none;width:20%}.small-block-grid-5>li:nth-of-type(1n){clear:none}.small-block-grid-5>li:nth-of-type(5n+1){clear:both}.small-block-grid-6>li{list-style:none;width:16.66667%}.small-block-grid-6>li:nth-of-type(1n){clear:none}.small-block-grid-6>li:nth-of-type(6n+1){clear:both}.small-block-grid-7>li{list-style:none;width:14.28571%}.small-block-grid-7>li:nth-of-type(1n){clear:none}.small-block-grid-7>li:nth-of-type(7n+1){clear:both}.small-block-grid-8>li{list-style:none;width:12.5%}.small-block-grid-8>li:nth-of-type(1n){clear:none}.small-block-grid-8>li:nth-of-type(8n+1){clear:both}.small-block-grid-9>li{list-style:none;width:11.11111%}.small-block-grid-9>li:nth-of-type(1n){clear:none}.small-block-grid-9>li:nth-of-type(9n+1){clear:both}.small-block-grid-10>li{list-style:none;width:10%}.small-block-grid-10>li:nth-of-type(1n){clear:none}.small-block-grid-10>li:nth-of-type(10n+1){clear:both}.small-block-grid-11>li{list-style:none;width:9.09091%}.small-block-grid-11>li:nth-of-type(1n){clear:none}.small-block-grid-11>li:nth-of-type(11n+1){clear:both}.small-block-grid-12>li{list-style:none;width:8.33333%}.small-block-grid-12>li:nth-of-type(1n){clear:none}.small-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 40.0625em){.medium-block-grid-1>li{list-style:none;width:100%}.medium-block-grid-1>li:nth-of-type(1n){clear:none}.medium-block-grid-1>li:nth-of-type(1n+1){clear:both}.medium-block-grid-2>li{list-style:none;width:50%}.medium-block-grid-2>li:nth-of-type(1n){clear:none}.medium-block-grid-2>li:nth-of-type(2n+1){clear:both}.medium-block-grid-3>li{list-style:none;width:33.33333%}.medium-block-grid-3>li:nth-of-type(1n){clear:none}.medium-block-grid-3>li:nth-of-type(3n+1){clear:both}.medium-block-grid-4>li{list-style:none;width:25%}.medium-block-grid-4>li:nth-of-type(1n){clear:none}.medium-block-grid-4>li:nth-of-type(4n+1){clear:both}.medium-block-grid-5>li{list-style:none;width:20%}.medium-block-grid-5>li:nth-of-type(1n){clear:none}.medium-block-grid-5>li:nth-of-type(5n+1){clear:both}.medium-block-grid-6>li{list-style:none;width:16.66667%}.medium-block-grid-6>li:nth-of-type(1n){clear:none}.medium-block-grid-6>li:nth-of-type(6n+1){clear:both}.medium-block-grid-7>li{list-style:none;width:14.28571%}.medium-block-grid-7>li:nth-of-type(1n){clear:none}.medium-block-grid-7>li:nth-of-type(7n+1){clear:both}.medium-block-grid-8>li{list-style:none;width:12.5%}.medium-block-grid-8>li:nth-of-type(1n){clear:none}.medium-block-grid-8>li:nth-of-type(8n+1){clear:both}.medium-block-grid-9>li{list-style:none;width:11.11111%}.medium-block-grid-9>li:nth-of-type(1n){clear:none}.medium-block-grid-9>li:nth-of-type(9n+1){clear:both}.medium-block-grid-10>li{list-style:none;width:10%}.medium-block-grid-10>li:nth-of-type(1n){clear:none}.medium-block-grid-10>li:nth-of-type(10n+1){clear:both}.medium-block-grid-11>li{list-style:none;width:9.09091%}.medium-block-grid-11>li:nth-of-type(1n){clear:none}.medium-block-grid-11>li:nth-of-type(11n+1){clear:both}.medium-block-grid-12>li{list-style:none;width:8.33333%}.medium-block-grid-12>li:nth-of-type(1n){clear:none}.medium-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 64.0625em){.large-block-grid-1>li{list-style:none;width:100%}.large-block-grid-1>li:nth-of-type(1n){clear:none}.large-block-grid-1>li:nth-of-type(1n+1){clear:both}.large-block-grid-2>li{list-style:none;width:50%}.large-block-grid-2>li:nth-of-type(1n){clear:none}.large-block-grid-2>li:nth-of-type(2n+1){clear:both}.large-block-grid-3>li{list-style:none;width:33.33333%}.large-block-grid-3>li:nth-of-type(1n){clear:none}.large-block-grid-3>li:nth-of-type(3n+1){clear:both}.large-block-grid-4>li{list-style:none;width:25%}.large-block-grid-4>li:nth-of-type(1n){clear:none}.large-block-grid-4>li:nth-of-type(4n+1){clear:both}.large-block-grid-5>li{list-style:none;width:20%}.large-block-grid-5>li:nth-of-type(1n){clear:none}.large-block-grid-5>li:nth-of-type(5n+1){clear:both}.large-block-grid-6>li{list-style:none;width:16.66667%}.large-block-grid-6>li:nth-of-type(1n){clear:none}.large-block-grid-6>li:nth-of-type(6n+1){clear:both}.large-block-grid-7>li{list-style:none;width:14.28571%}.large-block-grid-7>li:nth-of-type(1n){clear:none}.large-block-grid-7>li:nth-of-type(7n+1){clear:both}.large-block-grid-8>li{list-style:none;width:12.5%}.large-block-grid-8>li:nth-of-type(1n){clear:none}.large-block-grid-8>li:nth-of-type(8n+1){clear:both}.large-block-grid-9>li{list-style:none;width:11.11111%}.large-block-grid-9>li:nth-of-type(1n){clear:none}.large-block-grid-9>li:nth-of-type(9n+1){clear:both}.large-block-grid-10>li{list-style:none;width:10%}.large-block-grid-10>li:nth-of-type(1n){clear:none}.large-block-grid-10>li:nth-of-type(10n+1){clear:both}.large-block-grid-11>li{list-style:none;width:9.09091%}.large-block-grid-11>li:nth-of-type(1n){clear:none}.large-block-grid-11>li:nth-of-type(11n+1){clear:both}.large-block-grid-12>li{list-style:none;width:8.33333%}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}}.flex-video{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:67.5%;padding-top:1.5625rem;position:relative}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{height:100%;position:absolute;top:0;width:100%;left:0}.keystroke,kbd{background-color:#ededed;border-color:#ddd;color:#222;border-style:solid;border-width:1px;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;margin:0;padding:0.125rem 0.25rem 0;border-radius:3px}.switch{border:none;margin-bottom:1.5rem;outline:0;padding:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{background:#ddd;color:transparent;cursor:pointer;display:block;margin-bottom:1rem;position:relative;text-indent:100%;width:4rem;height:2rem;transition:left 0.15s ease-out}.switch input{left:10px;opacity:0;padding:0;position:absolute;top:9px}.switch input+label{margin-left:0;margin-right:0}.switch label:after{background:#fff;content:"";display:block;height:1.5rem;left:.25rem;position:absolute;top:.25rem;width:1.5rem;-webkit-transition:left 0.15s ease-out;-moz-transition:left 0.15s ease-out;-o-transition:translate3d(0, 0, 0);transition:left 0.15s ease-out;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.switch input:checked+label{background:#008CBA}.switch input:checked+label:after{left:2.25rem}.switch label{height:2rem;width:4rem}.switch label:after{height:1.5rem;width:1.5rem}.switch input:checked+label:after{left:2.25rem}.switch label{color:transparent;background:#ddd}.switch label:after{background:#fff}.switch input:checked+label{background:#008CBA}.switch.large label{height:2.5rem;width:5rem}.switch.large label:after{height:2rem;width:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{height:1.75rem;width:3.5rem}.switch.small label:after{height:1.25rem;width:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{height:1.5rem;width:3rem}.switch.tiny label:after{height:1rem;width:1rem}.switch.tiny input:checked+label:after{left:1.75rem}.switch.radius label{border-radius:4px}.switch.radius label:after{border-radius:3px}.switch.round{border-radius:1000px}.switch.round label{border-radius:2rem}.switch.round label:after{border-radius:2rem}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.show-for-small-only,table.show-for-small-up,table.show-for-small,table.show-for-small-down,table.hide-for-medium-only,table.hide-for-medium-up,table.hide-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.show-for-small-only,thead.show-for-small-up,thead.show-for-small,thead.show-for-small-down,thead.hide-for-medium-only,thead.hide-for-medium-up,thead.hide-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.show-for-small-only,tbody.show-for-small-up,tbody.show-for-small,tbody.show-for-small-down,tbody.hide-for-medium-only,tbody.hide-for-medium-up,tbody.hide-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.show-for-small-only,tr.show-for-small-up,tr.show-for-small,tr.show-for-small-down,tr.hide-for-medium-only,tr.hide-for-medium-up,tr.hide-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.show-for-small-only,td.show-for-small-only,th.show-for-small-up,td.show-for-small-up,th.show-for-small,td.show-for-small,th.show-for-small-down,td.show-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.hide-for-medium-up,td.hide-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 40.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.show-for-medium-only,table.show-for-medium-up,table.show-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.show-for-medium-only,thead.show-for-medium-up,thead.show-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.show-for-medium-only,tbody.show-for-medium-up,tbody.show-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.show-for-medium-only,tr.show-for-medium-up,tr.show-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.show-for-medium-only,td.show-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.show-for-medium,td.show-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 64.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.show-for-large-only,table.show-for-large-up,table.show-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.show-for-large-only,thead.show-for-large-up,thead.show-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.show-for-large-only,tbody.show-for-large-up,tbody.show-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.show-for-large-only,tr.show-for-large-up,tr.show-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.show-for-large-only,td.show-for-large-only,th.show-for-large-up,td.show-for-large-up,th.show-for-large,td.show-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 90.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.show-for-xlarge-only,table.show-for-xlarge-up,table.show-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.show-for-xlarge-only,thead.show-for-xlarge-up,thead.show-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.show-for-xlarge-only,tbody.show-for-xlarge-up,tbody.show-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.show-for-xlarge-only,tr.show-for-xlarge-up,tr.show-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.show-for-xlarge-only,td.show-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.show-for-xlarge,td.show-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 120.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.hide-for-xlarge-only,.show-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.show-for-xlarge-only,.hide-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.hidden-for-xlarge-only,.visible-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.visible-for-xlarge-only,.hidden-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.hide-for-xlarge-only,table.show-for-xlarge-up,table.hide-for-xlarge,table.hide-for-xlarge-down,table.show-for-xxlarge-only,table.show-for-xxlarge-up,table.show-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.hide-for-xlarge-only,thead.show-for-xlarge-up,thead.hide-for-xlarge,thead.hide-for-xlarge-down,thead.show-for-xxlarge-only,thead.show-for-xxlarge-up,thead.show-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.hide-for-xlarge-only,tbody.show-for-xlarge-up,tbody.hide-for-xlarge,tbody.hide-for-xlarge-down,tbody.show-for-xxlarge-only,tbody.show-for-xxlarge-up,tbody.show-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.hide-for-xlarge-only,tr.show-for-xlarge-up,tr.hide-for-xlarge,tr.hide-for-xlarge-down,tr.show-for-xxlarge-only,tr.show-for-xxlarge-up,tr.show-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.hide-for-xlarge-down,td.hide-for-xlarge-down,th.show-for-xxlarge-only,td.show-for-xxlarge-only,th.show-for-xxlarge-up,td.show-for-xxlarge-up,th.show-for-xxlarge,td.show-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.hide-for-landscape,table.show-for-portrait{display:table !important}thead.hide-for-landscape,thead.show-for-portrait{display:table-header-group !important}tbody.hide-for-landscape,tbody.show-for-portrait{display:table-row-group !important}tr.hide-for-landscape,tr.show-for-portrait{display:table-row !important}td.hide-for-landscape,td.show-for-portrait,th.hide-for-landscape,th.show-for-portrait{display:table-cell !important}@media only screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.show-for-landscape,table.hide-for-portrait{display:table !important}thead.show-for-landscape,thead.hide-for-portrait{display:table-header-group !important}tbody.show-for-landscape,tbody.hide-for-portrait{display:table-row-group !important}tr.show-for-landscape,tr.hide-for-portrait{display:table-row !important}td.show-for-landscape,td.hide-for-portrait,th.show-for-landscape,th.hide-for-portrait{display:table-cell !important}}@media only screen and (orientation: portrait){.show-for-portrait,.hide-for-landscape{display:inherit !important}.hide-for-portrait,.show-for-landscape{display:none !important}table.show-for-portrait,table.hide-for-landscape{display:table !important}thead.show-for-portrait,thead.hide-for-landscape{display:table-header-group !important}tbody.show-for-portrait,tbody.hide-for-landscape{display:table-row-group !important}tr.show-for-portrait,tr.hide-for-landscape{display:table-row !important}td.show-for-portrait,td.hide-for-landscape,th.show-for-portrait,th.hide-for-landscape{display:table-cell !important}}.show-for-touch{display:none !important}.hide-for-touch{display:inherit !important}.touch .show-for-touch{display:inherit !important}.touch .hide-for-touch{display:none !important}table.hide-for-touch{display:table !important}.touch table.show-for-touch{display:table !important}thead.hide-for-touch{display:table-header-group !important}.touch thead.show-for-touch{display:table-header-group !important}tbody.hide-for-touch{display:table-row-group !important}.touch tbody.show-for-touch{display:table-row-group !important}tr.hide-for-touch{display:table-row !important}.touch tr.show-for-touch{display:table-row !important}td.hide-for-touch{display:table-cell !important}.touch td.show-for-touch{display:table-cell !important}th.hide-for-touch{display:table-cell !important}.touch th.show-for-touch{display:table-cell !important}.show-for-sr{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus:focus,.show-on-focus:active{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.print-only{display:none !important}@media print{*{background:transparent !important;box-shadow:none !important;color:#000 !important;text-shadow:none !important}.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.hide-on-print{display:none !important}.print-only{display:block !important}.hide-for-print{display:none !important}.show-for-print{display:inherit !important}}@media print{.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}}@media not print{.show-for-print{display:none !important}} diff --git a/webroot/css/home.css b/webroot/css/home.css new file mode 100644 index 0000000..6e2312f --- /dev/null +++ b/webroot/css/home.css @@ -0,0 +1,240 @@ +@font-face { + font-family: 'cakefont'; + src: url('../font/cakedingbats-webfont.eot'); + src: url('../font/cakedingbats-webfont.eot?#iefix') format('embedded-opentype'), + url('../font/cakedingbats-webfont.woff2') format('woff2'), + url('../font/cakedingbats-webfont.woff') format('woff'), + url('../font/cakedingbats-webfont.ttf') format('truetype'), + url('../font/cakedingbats-webfont.svg#cake_dingbatsregular') format('svg'); + font-weight: normal; + font-style: normal; +} + +.home { + font-family: 'Roboto', sans-serif; + font-size: 14px; + line-height: 27px; + color: #404041; +} + +a { + color: #0071BC; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + -ms-transition: all 0.2s; + -o-transition: all 0.2s; + transition: all 0.2s; +} + +a:hover, a:active { + color: #d33d44; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + -ms-transition: all 0.2s; + -o-transition: all 0.2s; + transition: all 0.2s; +} + +ul, ol, dl, p { + font-size: 0.85rem; +} + +p { + line-height: 2; +} + +header { + height: auto; + line-height: 1em; + padding: 0; + box-shadow: none; +} + +header.row { + margin-bottom: 30px; +} + +header .header-image { + text-align: center; + padding: 64px 0; +} + +header .header-title { + padding: 0; + display: block; + background: #404041; + text-align: center; +} + +header .header-title h1 { + font-family: 'Raleway', sans-serif; + margin: 0; + font-style: italic; + font-size: 18px; + font-weight: 500; + padding: 18px 30px; + color: #DEDED5; +} + +header h1 { + color: #fff; +} + +h3, h4 { + font-family: 'Roboto', sans-serif; + font-size: 27px; + line-height: 30px; + font-weight: 300; + -webkit-font-smoothing: antialiased; + margin-top: 0; + margin-bottom: 20px; +} + +.more { + color: #ffffff; + background-color: #d33d44; + padding: 15px; + margin-top: 10px; +} + +.row { + max-width: 1000px; +} + +.alert { + background-color: #fff9e1; + font-size: 12px; + text-align: center; + display: block; + padding: 12px; + border-bottom: 2px solid #ffcf06; +} + +.alert { + background-color: #fff9e1; + font-size: 12px; + display: block; + padding: 12px; + border-bottom: 2px solid #ffcf06; + margin-bottom: 30px; + color: #404041; +} + +.alert p { + margin: 0; + font-size: 12px; + line-height: 1.4; +} + +.alert p:before { + color: #ffcf06; + content: "\0055"; + font-family: 'cakefont', sans-serif; + font-size: 21px; + margin-left: -0.8em; + width: 2.3em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + padding: 0 10px 0 15px; + vertical-align: -2px; +} + +.alert ul { + margin: 0; + font-size: 12px; +} + +.alert.url-rewriting { + background-color: #F0F0F0; + border-color: #cccccc; + display: none; +} + +.text-center { + text-align: center; +} + +ul { + list-style-type: none; + margin: 0 0 30px 0; +} + +li { + padding-left: 1.8em; +} + +ul li ul, ul li ul li { + margin: 0; + padding: 0; +} + +.bullet:before { + font-family: 'cakefont', sans-serif; + font-size: 18px; + display: inline-block; + margin-left: -1.3em; + width: 1.2em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + vertical-align: -1px; +} + +.success:before { + color: #88c671; + content: "\0056"; +} + +.problem:before { + color: #d33d44; + content: "\0057"; +} + +.cutlery:before { + color: #404041; + content: "\0059"; +} + +.book:before { + color: #404041; + content: "\0042"; + width: 1.7em; +} + +hr { + border-bottom: 1px solid #e7e7e7; + border-top: 0; + margin-bottom: 35px; + margin-left: 30px; + margin-right: 30px; +} + + +.icon { + color: #404041; + font-style: normal; + font-family: 'cakefont', sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.icon.support { + font-size: 60px; +} +.icon.docs { + font-size: 57px; +} +.icon.training { + font-size: 39px; +} + +@media (min-width: 768px) { + .columns { + padding-left: 30px; + padding-right: 30px; + } +} + +@media (min-width: 992px) { + header.row { + max-width: 940px; + } +} diff --git a/webroot/css/style.css b/webroot/css/style.css new file mode 100644 index 0000000..7049e23 --- /dev/null +++ b/webroot/css/style.css @@ -0,0 +1,37 @@ +body { + color:#666666; + background-color:#000000; +} + +div.sticky { + position:fixed; + height: 100%; + width:100%; + background-color:#111111; + z-index:0; +} + +div.centered { + text-align: center; +} + +canvas { + bottom:0; + width:100%; + height:100%; + z-index:1; +} + +div.content { + z-index:2; + color:#fff; + padding-top:10px; +} + +label { + margin-right:10px; +} + +button.round { + border-radius:5px; +} diff --git a/webroot/favicon-16x16.png b/webroot/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..dff73d9af3fd42ddcb69bba72d9f9fea7190db02 GIT binary patch literal 496 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-yPzPyzPZlv?LZ;f%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6_|fq^l^)5S5w;`Gr=x;dhO0&Nf5Z;J}Mcuz19cM-0;6m>@M zLO`IqL&(FzmL+Xc69jyknHt?f6S|rbGW-Hr0v!Zct|$husJ&E6D4Tt@^+R&Pm6J7- zE#IFp|MR^=sD3SfG5f9~qH~Um>`T(lzSkwRX_-bLueQWv+px{g#7trr2U|4Vo^h;K zW8)lCaqGVZ?;hx$dlWfk#_`v3FY~5U+>eJl zN-GfLUv%VU?cUo5Cm-yY9r);>{+hk=s%Gk(Zq2E&$67TErB&VRKh}#?AGY4nE*$y! z&VmZ&`GunT8yovAF5f-F6zA(`oENnxv;6kleL&W>jT21eO&>oKepVnPzhRQ;{jIy- j^8fqy?XUXt|M`!teRrj>I(=%&0tLLMtDnm{r-UW|XLQWl literal 0 HcmV?d00001 diff --git a/webroot/favicon-32x32.png b/webroot/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..fe00e18357b88147ec521ebb68bc30cf51bae52f GIT binary patch literal 991 zcmV<510ei~P)WFU8GbZ8()Nlj2>E@cM*00TowL_t(o!|j&KYgJbi z#((!F@vcOCP|=2ptuNXJK}Dd`uLb zNX3exyB&zAI0y|QVtl4*sYO0CxpA_tZV&h5-k{F1;BfC*d#}A7`&-{SFeF3rj>YC1 z)^4xggVkYF&!+ceUq}ua2doB~GV3pZe}K!1x>0ecsB91h%mlsw+JLb@5qJdr1sqY- zv#f0zz--`mU_@rEAL#Sv60lxTce4jsu>HUWU|1#zJc)b23PoK@Z5xwKMK^2&?zlk# zFyJF#B+vnLTCll_>dZJP0cGH}XMEH3v)t}u;Hm|ips4Oj5NQSG0B79cW<~AKly?WP z%L69~Mhw`)jI|>+`ILJDzX8YLjQ~+8A6+j{t%#{79DT=~^m4MIPd5@z0 z&mLIw5SPXNdmre|saCd{h*?{b8LqL z2Y~Tj;a2~D2H2~p6M1b|ktSfb1>2tRL6h^tb6|_2e##>xKXU=_VWR7ELi!``POIrl z?!4$-(G9Fr)a44WsyGLD3M_O&YVlw;0&9U~7Ho#1ZVbc&&A`vVLC<^)@Fnn-U(Gs2 z9nHx;uZzY2$ANa>Z=g+4<-9KF2f7sXr=rd)>X=jPAz$BT!9HhXjes#%w;Qso( z9qT8eB-8KQcnYw>f)zc$W((F_!*-41s|;KpG!uFio&evwYKu=ufKP$nEZ8m!HqU~M zaGRn9n{L7O0^hj5Yl=EQ=m3&TesD0g0^cUXs{_~roCa=LupZzcaKTBe1$Y1~Pp>Ww zpci=JL!&CXO7lxNq3i>m0b70PrgzChC!Jx=h%N5pU*H#DqM~}z7A|Bsyuo#Sl|CKd zN}7CcSy8=-eljpAnU+1k6-E7*%bwMcJeUtn3sxT|yyeI5kPOLtk(Yd}JG>0KTp|Df N002ovPDHLkV1mf5w^{%I literal 0 HcmV?d00001 diff --git a/webroot/favicon-48x48.png b/webroot/favicon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..1de60ee05651a82422a9bb7542c7df73ea626d94 GIT binary patch literal 1166 zcmV;91abR`P)WFU8GbZ8()Nlj2>E@cM*00Z(#L_t(&-tCx6j8sJw zhQDrM=7@+q;*5YnjH4K%gb^1`NhWc@f<&SwMx$||kwjv|!GOlc!iBidjYfP#*}-mP zfiEP+Xw*P~bm=_1VA2tF58+rLzP&n+J5%SThMoUcU!xkXK_HcQyyO6zBpL0P}#;z;R%N zNe*gQlg%jbIj}0@K0XAVk=Jm>P0s}$1s(*tGb|a9*URlxpo+u526??x%Npiv4Y0dG z**^gNlsKlnXUm?YHS{PjRBVdW5LwT)%lhbs0>xk z{Fm2hU^y@mu-rS{T6z6dPk#0O$ZH&UESQ>=ShqC=Qa(5id=;JIvYgUHY~AH8yU;W^ z5seqMoZwt)LQ}gGh~5#lmjth3NZ-rr zWRosZoqGiMDI(vW#+xM%Ow{;L53nyHZ_Mf<=Im}@6YzI(m=^;}Bi5t9J@VSytOBdd z*=V%pN?;vueZ;#>UV9oa;KCF?ui`kcSzbG83CN8**)Q zoIMwnCHv*o+e{SdmDkeXH!JbouuflT&UV*}E)C{^r-8=<(h76dR552M!jH;p0N56g z*O;^ZMmw`Qt>$YH`Hj5uz{bFT0X{Kj9l2OwNXYBYC`>O(TG4zIkk=_-Z6xoGocsR6 z(Rg-l3M3)(ec;D{yftS9uBeq*TeU!%Z_YPon{$dp7o?QXCvz|6(gqX zUSMvJpoZd$Q%8|r;G*CW>`Qt58u45W+y$&oO7gI_8cUumUzFDuc{I}J1m>*tf7(xh g0tE^bC~!{j4=<8le@QYl-v9sr07*qoM6N<$g7ZKXj{pDw literal 0 HcmV?d00001 diff --git a/webroot/favicon.ico b/webroot/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1399e0d289d36bf2b8b902ece6c4aa809fbe522d GIT binary patch literal 9662 zcmeI0U5Hgx6vy`{&b?|mn&$K&Ob>}>2pR-48ah&uqJ3xxm52)AS0NEu^E8(j#3vuZ zHy;h6r(TL8q8J&a2t~pNOToEAm?er6VF^w5_*>`RecQ7-d!G*lCC-(%Z1n z_sqHbUSm4=w``f=|3}Qn3yqm?j9CnDne9OQ<*S@PIe~Hl+c9wEw-T=0>*; zu_wSK@FI{SviC)N3fK+wH7xNawF2Z6?ce=791}UT+T}WXJKgu9?GG);e?wivw;{g7 ziu6y;d#cVmX?3#1(VVGt<^2dg4~b`;+)o>-IAzOOI(Bbmf_4wZ(Raa)@W{ zUv%KFSNgAo^z+8h{zU0N6w-j3xqrAbK*Q0O=SF8pKW_}Zla9X3e^y9?c%J@`DD71t z?L4t+Usc{)eg9uf(@5xlp3Z^u0MMURp9>GarWf9$wI8_m{)RL$_F232ba(7xpM{pJ#FJ`0h>8&^~y1 z`nT63XMyKM3#%o)d${ictC3{Kh#zX{{^xw1Bn)5ozZqY@gJ)Rp0jGejc_c~G=Oh2^ z1P!bC8?mjvT%VsD-T#9DuDt)hs~*<+_}Wk2t3aNQa%TS?i~`%gwQ^=!qjP9L?r?Qk-}3jbO5eXxZZNzm898 zS|pv{Y@N-nmR_Ur9I#xm^83yiZ~}Y-j)U{S<;eOf@PA-9h2ZJ_wN}zz&M7a54AxPb zyd<^`B;|*EKata2UFp|#tH90E|CjK4-TcrR?riWr_!WeDwy}L7y`&hrbAX%)e7K+3 zqtG9b7Cc_ig>S#jrOsx^?nx2N)Ci||2iLir}hFL9omFR}>YC}yvwq4KGjcujrAFN!9 fbq6YAah~a_xAg0=o~hMi{i)G}T;J`OSA@<@O%6S0 literal 0 HcmV?d00001 diff --git a/webroot/font/cakedingbats-webfont.eot b/webroot/font/cakedingbats-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e8605d92685dc69e3555a2d46c934332ade64789 GIT binary patch literal 75538 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 J{3OkB{|TIQ9Sr~g literal 0 HcmV?d00001 diff --git a/webroot/font/cakedingbats-webfont.svg b/webroot/font/cakedingbats-webfont.svg new file mode 100644 index 0000000..d1e0c98 --- /dev/null +++ b/webroot/font/cakedingbats-webfont.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/webroot/font/cakedingbats-webfont.ttf b/webroot/font/cakedingbats-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..13d54454e71f4ed2ca3ad46bf8910b77acff1b24 GIT binary patch literal 75412 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

~D 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 literal 0 HcmV?d00001 diff --git a/webroot/img/cake-logo.png b/webroot/img/cake-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..41939ef5a58226b6ef04a34ac89f9f5759ba2779 GIT binary patch literal 2683 zcmeH|`!^GeAIFEua+`%@F15K#xyI9whPBPy+vZZDthrPO8@c9E!uG7NBF{Yjjqf?n=bX>yeLg?FU*~r31=P6;(C$gNI;n4NWa=#Ni{ldin-NM~zMXI)*egKW=dXWoc!N#$a(a zcw0LMMi?;a4Lfqhn&P#l&AgqKp2514c{e*JH!uHQLE-%eMGqf6E-5W5uc)kgT3y3__WVU%{mWMk zjZMuht!?dZIyl_7o$ucNuZ!2+^P#W*WI@^v%6fcyHc=4^f zG@ds+TL_I0cr(yC5OydjJ9u*vM$-X1MmvZq-Ws|>ysm7Q;TgMs>jhI8z;X9Io75%=GLc;&>3Zz1D`Gd!Zzsqh)Pu-XL#7)! zB2=Tr}T-Jb#aM4UPG61 zD=sD6Ue^SE(k9D+4$5ox#TN7*S)sGkAaMdXe9OxcJFd}xE-Q0;y_9xI;Fn*{wRyZc zaB$JLdXJs8-a`q6f1K4Dj=3T^nZ6>`nw5Ur<~OCQo`iTcz9tX92*?FdUj8~rfpN>X zt|rY*t!^trEvG{Jkt6p#FVZuMEWYUIG|*tqnz(nBRZDqp#o8}hwr*vq(UAS>ePuxD zz#@w!?XQuMtswaHIT@ydF}$SlMix!LmX{2~3Z5X+Zly=lQ;R~B%Th;9p(@OM&d&aT z4DwHIoL%XiH49cm7t`1zm>SETYmajKBF&2UX!d5Tli4Q+?&1pGc`X(Bt10#QScSKO z;}5R1qU?ag^en4$*4LzTcL*)PX82-&i(z~7dy6h*aNNA=qP`lq;_SQH-dA*w4|R~S zH)M;=z*tfQN-rP*HkEV6{32$o={8FgPmexx^y4hCq!4bL%T?tqZ%3|$RSIFj(1{H!E43AJ`Yy);5Tw;bdT1qLjYspN-GA7+40B%Vyj)FM&KKr zev5bHxLUH?k2#Kp-)pP~YE>&=AM8V7X%f6iG}2L49#VecA_Im@FY&?z<-Ljh#P+lo zjA2#9gmduh3`ya!vQp%KP%RLI;^4L9OENL=G)ghz%Cjowd6y>FXW6yZAy z9_wO+V&7$}fYa^yVizweM$p^Z1N4$rFNg&Tv%6VFDpSfQqT71z@ssYHF+9%^OAGeo zaq7gKCvHpj3NyDrw{xjSPpQcKar^A$zA-U!Ak7NqH^OB|^~y0@EMxXNm336ED>!we ze)euO;SBv=+DIzUphQ#bna`|Tq^qarZAh0xQgY^%@tw#nAd>B%9af*8I{dJtxdu&P zF1MFKO!+YWbk2+}0$!m$ei;4@U1sVyqYB0kjk-aFk-6ewnx-3MeUJI@L?i1pE(`rr zJVAdd*;01@_sc;&iHN)CQ#RcTD&M`l%^}3t_>jHy+G`0txstsv6XH{gG-U(p`9`7r zg`lU)IffHaQhOm!p4NA}c;Xf|co~_lf^XPjW=b=`jvmVQ%Uf+a%aKLC9h;7|%)4IW zk)#Tgv0h6KZ#T{ePMaD$k#+qCyq`ALLdep@B060}B&t+n4?jul7&b9?jUv)*yRkv) zb}|hsL7{9bEep7QdTX?41^%?$oKnMAq&yAm{Cv^D#`a#d!4IR!2Ze~QjllQ>?HRFG z<3@@GFV{{~InAesJo9;N=9sZqPi8M>UN1^Z!~hQ%_018fPQ>+ma|q0G2{tv49q)cr7> zIGsQFGn3| zCzs2iP$-yfVPOGVTU&6sT(-5fwHb2tVsLP9#{Vr9Ct?R7q(rf?v2A5#W$OI=e1YUJ zQ1YRnA&iWSQ1XYAm__>aYb6XIhMiYVD+-z8_pYi6+CsH{*^m;vOjqvbr=H&DFkeqxHQBh$Scsoy0Glw(T zsaSG*ok62V;~yXYNgP*DUw;o98^+0@vGFb{HC+As}XJ=;xg=B7N_;-mKbHH{|lXs_o+aPcs5~J?s%^P2Odb)Uz z$GvY6^!N9(C2-h?28B$qx7%_yHnt2eU%nQ0qThbl6a_+b)EirjBgQ`g1_07Fr&6R? RzIgxu002ovPDHLkV1mdlwUYn< literal 0 HcmV?d00001 diff --git a/webroot/img/cake.logo.svg b/webroot/img/cake.logo.svg new file mode 100644 index 0000000..e73abb5 --- /dev/null +++ b/webroot/img/cake.logo.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/webroot/img/cake.power.gif b/webroot/img/cake.power.gif new file mode 100644 index 0000000000000000000000000000000000000000..8f8d570a2e24d86f0ad7730ee8f2435fd49f152c GIT binary patch literal 201 zcmV;)05<&ZTq0L2I(c1A@d@rg`ENj#vn zcl`yi#iKX*jb2F7vd0WQgUq5Tw}Jp}g+ZnCeBY3dYNI+m71%bHRfx4UCkD2th(Q*@ zmd5r+MJNYn7emit($server->run()); diff --git a/webroot/js/config.js b/webroot/js/config.js new file mode 100644 index 0000000..ddfe36f --- /dev/null +++ b/webroot/js/config.js @@ -0,0 +1,57 @@ +var environment = { + path : '/usr/share/cybafelo', + protocol : 'https', + websocketProtocol : 'wss', + websocketApp : 'websocket', + domain : 'r3js.org', + remoteDomain : 'cybafelo.com', + remoteEnvironment : 'live' +}; + +var protocol = environment.protocol; +var domain = environment.domain; +var remoteDomain = environment.remoteDomain; +var remoteEnvironment = environment.remoteEnvironment; +var websocketProtocol = environment.websocketProtocol; +var websocketApp = environment.websocketApp; + +var config = { + editor: { + url: protocol + '://editor.' + domain, + default: { + platform: 'cybafelo', + account: 'root', + subAccount: 'root', + project: 'test' + } + }, + api: { + url: protocol + '://api.' + domain, + remoteUrl: protocol + '://' + remoteEnvironment + '-r3-api.' + remoteDomain, + uploadPath: '/uploads', + clientPassword: '"kent sent me" motherfucker!' + }, + websocket: { + protocol : websocketProtocol, + domain : domain, + application: websocketApp, + host : websocketApp + '.' + domain, + url : websocketProtocol + '://' + websocketApp + '.' + domain + }, + portal: { + url: protocol + '://portal.' + domain + }, + db: {}, + environment : environment +}; + +if (typeof module !== 'undefined') { + + if (typeof require !== 'undefined') { + var _ = require('lodash'); + _.merge(config, require('./secure')); + } + + module.exports = config; +} + diff --git a/webroot/js/empty b/webroot/js/empty new file mode 100644 index 0000000..e69de29 diff --git a/webroot/manifest.webmanifest b/webroot/manifest.webmanifest new file mode 100644 index 0000000..6d1aa83 --- /dev/null +++ b/webroot/manifest.webmanifest @@ -0,0 +1,8 @@ +{ + "name": "r3js Web Editor", + "short_name": "r3js Editor", + "start_url": ".", + "display": "standalone", + "background_color": "#fff", + "description": "r3js - Entity Component System (ECS) for the Web Editor" +} \ No newline at end of file diff --git a/webroot/robots.txt b/webroot/robots.txt new file mode 100644 index 0000000..6f27bb6 --- /dev/null +++ b/webroot/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: \ No newline at end of file