From 31f77c5cebaf8684d2e51c2d5f5e5fdbb1b2ccf8 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 3 Jul 2026 22:42:27 +0200 Subject: [PATCH 1/5] Modernize test tooling and add static analysis config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the abandoned christophwurst/nextcloud dev stub with nextcloud/ocp so PHPUnit and PHPStan can resolve OCP types without a live Nextcloud install. Modernizes tests/Unit/Controller/PageControllerTest.php to PHPUnit\Framework\TestCase / setUp(): void and fixes it to match PageController's actual constructor (IUserSession, not a raw user id string) — it was silently stale. tests/bootstrap.php now just loads Composer's autoloader; the old full-server bootstrap moves to tests/bootstrap.integration.php for the (still server-dependent) integration suite, which gets its own `make test-integration` target since `make test` previously installed deps with --no-dev and would have stripped PHPUnit itself. Adds a PHPStan config (level 3) with a baseline freezing the 237 pre-existing findings (missing Doctrine DBAL stub types, plus a runtime class_alias() static analysis can't see through — mirrored in tests/phpstan-bootstrap.php) so analysis starts green and only flags newly introduced issues. Verified: make test, composer run lint, composer run phpstan, and composer run test:unit all pass on PHP 8.2, 8.3, and 8.5. Co-Authored-By: Claude Sonnet 5 --- .gitignore | 2 + Makefile | 17 +- composer.json | 24 +- composer.lock | 2045 +++++++++++++++++- phpstan-baseline.neon | 426 ++++ phpstan.neon | 12 + phpunit.integration.xml | 2 +- tests/Integration/AppTest.php | 4 +- tests/Unit/Controller/PageControllerTest.php | 24 +- tests/bootstrap.integration.php | 15 + tests/bootstrap.php | 14 +- tests/phpstan-bootstrap.php | 12 + 12 files changed, 2489 insertions(+), 108 deletions(-) create mode 100644 phpstan-baseline.neon create mode 100644 phpstan.neon create mode 100644 tests/bootstrap.integration.php create mode 100644 tests/phpstan-bootstrap.php diff --git a/.gitignore b/.gitignore index fc85e3b..4c48d12 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ js/dist/ js/node_modules/ +vendor/ +.phpunit.result.cache diff --git a/Makefile b/Makefile index 58eeb0f..718aed9 100644 --- a/Makefile +++ b/Makefile @@ -159,7 +159,22 @@ appstore: --exclude="$(app_name)/js/.*" \ -czf $(appstore_package_name).tar.gz ../$(app_name) +# Installs composer dependencies including require-dev (phpunit, phpstan, +# nextcloud/ocp stubs). Separate from the `composer` target above, which +# passes --no-dev for production/appstore builds. +.PHONY: composer-dev +composer-dev: + composer install --prefer-dist + +# Runs the unit test suite, which only needs the nextcloud/ocp stub package +# (no live Nextcloud instance required) — this is what CI runs. .PHONY: test -test: composer +test: composer-dev $(CURDIR)/vendor/phpunit/phpunit/phpunit -c phpunit.xml + +# Runs the integration test suite. Requires this app to be checked out inside +# a real Nextcloud server's apps/ directory with a working install — not run +# by CI yet (see the linked GitHub issue for the multi-database CI follow-up). +.PHONY: test-integration +test-integration: composer-dev $(CURDIR)/vendor/phpunit/phpunit/phpunit -c phpunit.integration.xml diff --git a/composer.json b/composer.json index b142981..3507361 100644 --- a/composer.json +++ b/composer.json @@ -10,6 +10,28 @@ ], "require": {}, "require-dev": { - "christophwurst/nextcloud": "^24.0" + "nextcloud/ocp": "^34.0", + "phpunit/phpunit": "^10.5", + "phpstan/phpstan": "^1.11" + }, + "autoload": { + "psr-4": { + "OCA\\TimeTracker\\": "lib/" + } + }, + "autoload-dev": { + "psr-4": { + "OCA\\TimeTracker\\Tests\\": "tests/", + "OCP\\": "vendor/nextcloud/ocp/OCP/", + "NCU\\": "vendor/nextcloud/ocp/NCU/" + } + }, + "scripts": { + "lint": "find . -name '*.php' -not -path './vendor/*' -not -path './build/*' -not -path './js/*' -print0 | xargs -0 -n1 php -l", + "phpstan": "phpstan analyse --no-progress", + "test:unit": "phpunit -c phpunit.xml" + }, + "config": { + "sort-packages": true } } diff --git a/composer.lock b/composer.lock index cffd205..a012416 100644 --- a/composer.lock +++ b/composer.lock @@ -4,33 +4,95 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "296f87db0439fa6556d383ab1bd9038b", + "content-hash": "7389578d322e21100c665e143e0cbe68", "packages": [], "packages-dev": [ { - "name": "christophwurst/nextcloud", - "version": "v24.0.1", + "name": "myclabs/deep-copy", + "version": "1.13.4", "source": { "type": "git", - "url": "https://github.com/ChristophWurst/nextcloud_composer.git", - "reference": "f032acdff1502a7323f95a6524d163290f43b446" + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ChristophWurst/nextcloud_composer/zipball/f032acdff1502a7323f95a6524d163290f43b446", - "reference": "f032acdff1502a7323f95a6524d163290f43b446", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", "shasum": "" }, "require": { - "php": "^7.4 || ~8.0 || ~8.1", - "psr/container": "^1.1.1", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, + { + "name": "nextcloud/ocp", + "version": "v34.0.1", + "source": { + "type": "git", + "url": "https://github.com/nextcloud-deps/ocp.git", + "reference": "3f920a7f46bae0c55643579ce25b6644a09065ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/3f920a7f46bae0c55643579ce25b6644a09065ff", + "reference": "3f920a7f46bae0c55643579ce25b6644a09065ff", + "shasum": "" + }, + "require": { + "php": "~8.2 || ~8.3 || ~8.4 || ~8.5", + "psr/clock": "^1.0", + "psr/container": "^2.0.2", "psr/event-dispatcher": "^1.0", - "psr/log": "^1.1" + "psr/http-client": "^1.0.3", + "psr/log": "^3.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "24.0.0-dev" + "dev-stable34": "34.0.0-dev" } }, "notification-url": "https://packagist.org/downloads/", @@ -41,171 +103,1994 @@ { "name": "Christoph Wurst", "email": "christoph@winzerhof-wurst.at" + }, + { + "name": "Joas Schilling", + "email": "coding@schilljs.com" } ], - "description": "Composer package containing Nextcloud's public API (classes, interfaces)", + "description": "Composer package containing Nextcloud's public OCP API and the unstable NCU API", "support": { - "issues": "https://github.com/ChristophWurst/nextcloud_composer/issues", - "source": "https://github.com/ChristophWurst/nextcloud_composer/tree/v24.0.1" + "issues": "https://github.com/nextcloud-deps/ocp/issues", + "source": "https://github.com/nextcloud-deps/ocp/tree/v34.0.1" }, - "abandoned": "nextcloud/ocp", - "time": "2022-06-02T14:16:47+00:00" + "time": "2026-06-18T02:35:58+00:00" }, { - "name": "psr/container", - "version": "1.1.2", + "name": "nikic/php-parser", + "version": "v5.7.0", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", "shasum": "" }, "require": { - "php": ">=7.4.0" + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" }, + "bin": [ + "bin/php-parse" + ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "PhpParser\\": "lib/PhpParser" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Nikita Popov" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "A PHP parser written in PHP", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "parser", + "php" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" }, - "time": "2021-11-05T16:50:12+00:00" + "time": "2025-12-06T11:56:16+00:00" }, { - "name": "psr/event-dispatcher", - "version": "1.0.0", + "name": "phar-io/manifest", + "version": "2.0.4", "source": { "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { - "php": ">=7.2.0" + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" + "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)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.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", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "1.12.33", + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/37982d6fc7cbb746dda7773530cda557cdf119e1", + "reference": "37982d6fc7cbb746dda7773530cda557cdf119e1", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + } + ], + "time": "2026-02-28T20:30:03+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "10.1.16", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "7e308268858ed6baedc8704a304727d20bc07c77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", + "reference": "7e308268858ed6baedc8704a304727d20bc07c77", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.19.1 || ^5.1.0", + "php": ">=8.1", + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-text-template": "^3.0.1", + "sebastian/code-unit-reverse-lookup": "^3.0.0", + "sebastian/complexity": "^3.2.0", + "sebastian/environment": "^6.1.0", + "sebastian/lines-of-code": "^2.0.2", + "sebastian/version": "^4.0.1", + "theseer/tokenizer": "^1.2.3" + }, + "require-dev": { + "phpunit/phpunit": "^10.1" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "10.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Standard interfaces for event handling.", + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ - "events", - "psr", - "psr-14" + "coverage", + "testing", + "xunit" ], "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" }, - "time": "2019-01-08T18:20:26+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-08-22T04:31:57+00:00" }, { - "name": "psr/log", - "version": "1.1.4", + "name": "phpunit/php-file-iterator", + "version": "4.1.0", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-main": "4.0-dev" } }, "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-31T06:24:48+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-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": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:56:09+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "log", - "psr", - "psr-3" + "template" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-31T14:07:24+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "6.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" }, - "time": "2021-05-03T11:20:27+00:00" + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-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": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:57:52+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "10.5.63", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "33198268dad71e926626b618f3ec3966661e4d90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/33198268dad71e926626b618f3ec3966661e4d90", + "reference": "33198268dad71e926626b618f3ec3966661e4d90", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.1", + "phpunit/php-code-coverage": "^10.1.16", + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-invoker": "^4.0.0", + "phpunit/php-text-template": "^3.0.1", + "phpunit/php-timer": "^6.0.0", + "sebastian/cli-parser": "^2.0.1", + "sebastian/code-unit": "^2.0.0", + "sebastian/comparator": "^5.0.5", + "sebastian/diff": "^5.1.1", + "sebastian/environment": "^6.1.0", + "sebastian/exporter": "^5.1.4", + "sebastian/global-state": "^6.0.2", + "sebastian/object-enumerator": "^5.0.0", + "sebastian/recursion-context": "^5.0.1", + "sebastian/type": "^4.0.0", + "sebastian/version": "^4.0.1" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "10.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.63" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2026-01-27T05:48:37+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://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" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://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" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-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 for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:12:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-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": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:58:43+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-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/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:59:15+00:00" + }, + { + "name": "sebastian/comparator", + "version": "5.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55dfef806eb7dfeb6e7a6935601fef866f8ca48d", + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/diff": "^5.0", + "sebastian/exporter": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-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": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" + } + ], + "time": "2026-01-24T09:25:16+00:00" + }, + { + "name": "sebastian/complexity", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "68ff824baeae169ec9f2137158ee529584553799" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", + "reference": "68ff824baeae169ec9f2137158ee529584553799", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.2-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 for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-21T08:37:17+00:00" + }, + { + "name": "sebastian/diff", + "version": "5.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:15:17+00:00" + }, + { + "name": "sebastian/environment", + "version": "6.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.1-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": "https://github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-23T08:47:14+00:00" + }, + { + "name": "sebastian/exporter", + "version": "5.1.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "0735b90f4da94969541dac1da743446e276defa6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0735b90f4da94969541dac1da743446e276defa6", + "reference": "0735b90f4da94969541dac1da743446e276defa6", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-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": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" + } + ], + "time": "2025-09-24T06:09:11+00:00" + }, + { + "name": "sebastian/global-state", + "version": "6.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.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": "https://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:19:19+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-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 for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-21T08:38:20+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-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/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:08:32+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-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/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:06:18+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "5.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/47e34210757a2f37a97dcd207d032e1b01e64c7a", + "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-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": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" + } + ], + "time": "2025-08-10T07:50:56+00:00" + }, + { + "name": "sebastian/type", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-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": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:10:45+00:00" + }, + { + "name": "sebastian/version", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-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", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-07T11:34:05+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.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", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2025-11-17T20:03:58+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, - "platform": [], - "platform-dev": [], - "plugin-api-version": "2.3.0" + "platform": {}, + "platform-dev": {}, + "plugin-api-version": "2.9.0" } diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon new file mode 100644 index 0000000..69929e2 --- /dev/null +++ b/phpstan-baseline.neon @@ -0,0 +1,426 @@ +parameters: + ignoreErrors: + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$content\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$cost\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$email\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$end\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$from\\.$#" + count: 3 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$group1\\.$#" + count: 3 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$group2\\.$#" + count: 3 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$hours\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$interval\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$name\\.$#" + count: 4 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$projectId\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$q\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$status\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$subject\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$timegroup\\.$#" + count: 3 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$to\\.$#" + count: 3 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to an undefined property OCP\\\\IRequest\\:\\:\\$workItem\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Access to static property \\$server on an unknown class OC\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Client\\:\\:setCreatedAt\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Client\\:\\:setName\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Goal\\:\\:setCreatedAt\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Goal\\:\\:setHours\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Goal\\:\\:setInterval\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Goal\\:\\:setProjectId\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Goal\\:\\:setUserUid\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Project\\:\\:setClientId\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Project\\:\\:setColor\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Project\\:\\:setCreatedAt\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Project\\:\\:setCreatedByUserUid\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Project\\:\\:setName\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Tag\\:\\:setCreatedAt\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Tag\\:\\:setName\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Tag\\:\\:setUserUid\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setCreatedAt\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setFilterClients\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setFilterProjects\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setGroup1\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setGroup2\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setStatus\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setTimeGroup\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setTimeInterval\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setTotalDuration\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\Timeline\\:\\:setUserUid\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\TimelineEntry\\:\\:setClientName\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\TimelineEntry\\:\\:setCost\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\TimelineEntry\\:\\:setCreatedAt\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\TimelineEntry\\:\\:setName\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\TimelineEntry\\:\\:setProjectName\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\TimelineEntry\\:\\:setTimeInterval\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\TimelineEntry\\:\\:setTimelineId\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\TimelineEntry\\:\\:setTotalDuration\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\TimelineEntry\\:\\:setUserUid\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\UserToClient\\:\\:setAdmin\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\UserToClient\\:\\:setClientId\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\UserToClient\\:\\:setCreatedAt\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\UserToClient\\:\\:setUserUid\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\UserToProject\\:\\:setAccess\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\UserToProject\\:\\:setAdmin\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\UserToProject\\:\\:setCreatedAt\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\UserToProject\\:\\:setProjectId\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\UserToProject\\:\\:setUserUid\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkInterval\\:\\:setDetails\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkInterval\\:\\:setDuration\\(\\)\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkInterval\\:\\:setName\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkInterval\\:\\:setProjectId\\(\\)\\.$#" + count: 3 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkInterval\\:\\:setRunning\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkInterval\\:\\:setStart\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkInterval\\:\\:setUserUid\\(\\)\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkIntervalToTag\\:\\:setCreatedAt\\(\\)\\.$#" + count: 6 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkIntervalToTag\\:\\:setTagId\\(\\)\\.$#" + count: 6 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to an undefined method OCA\\\\TimeTracker\\\\Db\\\\WorkIntervalToTag\\:\\:setWorkIntervalId\\(\\)\\.$#" + count: 6 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to static method getUser\\(\\) on an unknown class OC_User\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Call to static method isAdminUser\\(\\) on an unknown class OC_User\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Undefined variable\\: \\$id$#" + count: 5 + path: lib/Controller/AjaxController.php + + - + message: "#^Variable \\$cost on left side of \\?\\? always exists and is not nullable\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Variable \\$intervals might not be defined\\.$#" + count: 1 + path: lib/Controller/AjaxController.php + + - + message: "#^Variable \\$repItems might not be defined\\.$#" + count: 2 + path: lib/Controller/AjaxController.php + + - + message: "#^Method OCA\\\\TimeTracker\\\\Db\\\\ProjectMapper\\:\\:delete\\(\\) should return OCP\\\\AppFramework\\\\Db\\\\Entity but empty return statement found\\.$#" + count: 2 + path: lib/Db/ProjectMapper.php + + - + message: "#^Access to an undefined property OCA\\\\TimeTracker\\\\Db\\\\TagMapper\\:\\:\\$dbengine\\.$#" + count: 4 + path: lib/Db/TagMapper.php + + - + message: "#^Call to an undefined method OCP\\\\DB\\\\QueryBuilder\\\\IQueryBuilder\\:\\:execute\\(\\)\\.$#" + count: 6 + path: lib/Migration/Version000000Date20210719124731.php + + - + message: "#^Call to method addColumn\\(\\) on an unknown class Doctrine\\\\DBAL\\\\Schema\\\\Table\\.$#" + count: 69 + path: lib/Migration/Version000000Date20210719124731.php + + - + message: "#^Call to method setPrimaryKey\\(\\) on an unknown class Doctrine\\\\DBAL\\\\Schema\\\\Table\\.$#" + count: 11 + path: lib/Migration/Version000000Date20210719124731.php + + - + message: "#^Call to method addColumn\\(\\) on an unknown class Doctrine\\\\DBAL\\\\Schema\\\\Table\\.$#" + count: 17 + path: lib/Migration/Version000001Date20210719192031.php + + - + message: "#^Call to method hasColumn\\(\\) on an unknown class Doctrine\\\\DBAL\\\\Schema\\\\Table\\.$#" + count: 2 + path: lib/Migration/Version000001Date20210719192031.php + + - + message: "#^Call to method setPrimaryKey\\(\\) on an unknown class Doctrine\\\\DBAL\\\\Schema\\\\Table\\.$#" + count: 2 + path: lib/Migration/Version000001Date20210719192031.php diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..49e0a9b --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,12 @@ +includes: + - phpstan-baseline.neon + +parameters: + level: 3 + paths: + - lib + - appinfo + phpVersion: 80200 + bootstrapFiles: + - vendor/autoload.php + - tests/phpstan-bootstrap.php diff --git a/phpunit.integration.xml b/phpunit.integration.xml index eae19f1..bf0965b 100644 --- a/phpunit.integration.xml +++ b/phpunit.integration.xml @@ -1,4 +1,4 @@ - + ./tests/Integration diff --git a/tests/Integration/AppTest.php b/tests/Integration/AppTest.php index cabd9e5..708bafa 100644 --- a/tests/Integration/AppTest.php +++ b/tests/Integration/AppTest.php @@ -15,13 +15,13 @@ class AppTest extends TestCase { private $container; - public function setUp() { + public function setUp(): void { parent::setUp(); $app = new App('timetracker'); $this->container = $app->getContainer(); } - public function testAppInstalled() { + public function testAppInstalled(): void { $appManager = $this->container->query('OCP\App\IAppManager'); $this->assertTrue($appManager->isInstalled('timetracker')); } diff --git a/tests/Unit/Controller/PageControllerTest.php b/tests/Unit/Controller/PageControllerTest.php index 6df82e6..1c51594 100644 --- a/tests/Unit/Controller/PageControllerTest.php +++ b/tests/Unit/Controller/PageControllerTest.php @@ -2,30 +2,34 @@ namespace OCA\TimeTracker\Tests\Unit\Controller; -use PHPUnit_Framework_TestCase; - use OCP\AppFramework\Http\TemplateResponse; - +use OCP\IRequest; +use OCP\IUser; +use OCP\IUserSession; use OCA\TimeTracker\Controller\PageController; +use PHPUnit\Framework\TestCase; - -class PageControllerTest extends PHPUnit_Framework_TestCase { +class PageControllerTest extends TestCase { private $controller; private $userId = 'john'; - public function setUp() { - $request = $this->getMockBuilder('OCP\IRequest')->getMock(); + public function setUp(): void { + $request = $this->createMock(IRequest::class); + $user = $this->createMock(IUser::class); + $user->method('getUID')->willReturn($this->userId); + $userSession = $this->createMock(IUserSession::class); + $userSession->method('getUser')->willReturn($user); $this->controller = new PageController( - 'timetracker', $request, $this->userId + 'timetracker', $request, $userSession ); } - public function testIndex() { + public function testIndex(): void { $result = $this->controller->index(); $this->assertEquals('index', $result->getTemplateName()); - $this->assertTrue($result instanceof TemplateResponse); + $this->assertInstanceOf(TemplateResponse::class, $result); } } diff --git a/tests/bootstrap.integration.php b/tests/bootstrap.integration.php new file mode 100644 index 0000000..d09c421 --- /dev/null +++ b/tests/bootstrap.integration.php @@ -0,0 +1,15 @@ +addValidRoot(OC::$SERVERROOT . '/tests'); + +// Fix for "Autoload path not allowed: .../timetracker/tests/testcase.php" +\OC_App::loadApp('timetracker'); + +OC_Hook::clear(); diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 20a5605..85cd034 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -4,16 +4,4 @@ define('PHPUNIT_RUN', 1); } -require_once __DIR__.'/../../../lib/base.php'; - -// Fix for "Autoload path not allowed: .../tests/lib/testcase.php" -\OC::$loader->addValidRoot(OC::$SERVERROOT . '/tests'); - -// Fix for "Autoload path not allowed: .../timetracker/tests/testcase.php" -\OC_App::loadApp('timetracker'); - -if(!class_exists('PHPUnit_Framework_TestCase')) { - require_once('PHPUnit/Autoload.php'); -} - -OC_Hook::clear(); +require_once __DIR__ . '/../vendor/autoload.php'; diff --git a/tests/phpstan-bootstrap.php b/tests/phpstan-bootstrap.php new file mode 100644 index 0000000..db7c7f3 --- /dev/null +++ b/tests/phpstan-bootstrap.php @@ -0,0 +1,12 @@ + Date: Fri, 3 Jul 2026 22:42:40 +0200 Subject: [PATCH 2/5] Replace Travis with GitHub Actions CI .travis.yml was pinned to PHP 5.6-7.1 and long dead. Adds three free GitHub Actions workflows (unlimited minutes on public repos), each a simplified adaptation of Nextcloud's reusable workflow templates (nextcloud/.github): - lint-php.yml: composer validate + php -l, matrix over PHP 8.2/8.3 - static-analysis.yml: PHPStan against the baseline added in the previous commit - phpunit.yml: the unit suite only (no live server/DB needed, so no external services to boot); the server-backed integration suite is intentionally deferred to the multi-database CI follow-up from the linked issue Closes mtierltd/timetracker#257 (steps 1 and 2 only; unit tests for mappers/report queries and multi-database CI remain as follow-up). Co-Authored-By: Claude Sonnet 5 --- .github/workflows/lint-php.yml | 49 ++++++++++++++++++++ .github/workflows/phpunit.yml | 45 +++++++++++++++++++ .github/workflows/static-analysis.yml | 41 +++++++++++++++++ .travis.yml | 64 --------------------------- 4 files changed, 135 insertions(+), 64 deletions(-) create mode 100644 .github/workflows/lint-php.yml create mode 100644 .github/workflows/phpunit.yml create mode 100644 .github/workflows/static-analysis.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/lint-php.yml b/.github/workflows/lint-php.yml new file mode 100644 index 0000000..f8b2e8b --- /dev/null +++ b/.github/workflows/lint-php.yml @@ -0,0 +1,49 @@ +# Cheap, high-value check: php -l syntax linting + composer.json validation. +# Adapted from Nextcloud's reusable workflow templates (nextcloud/.github), +# simplified to a fixed PHP matrix instead of deriving one from appinfo/info.xml +# (this app's declared min-version="20" predates PHP 8, which isn't a +# realistic target — see the linked issue for the follow-up on tightening that). +name: Lint PHP + +on: + pull_request: + push: + branches: [master] + +permissions: + contents: read + +concurrency: + group: lint-php-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + php-lint: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + php-versions: ['8.2', '8.3'] + + name: php-lint (PHP ${{ matrix.php-versions }}) + + steps: + - name: Checkout + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + + - name: Set up php ${{ matrix.php-versions }} + uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 + with: + php-version: ${{ matrix.php-versions }} + coverage: none + + - name: composer validate + run: composer validate + + - name: Install dependencies + run: composer install --prefer-dist --no-progress + + - name: Lint (php -l) + run: composer run lint diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml new file mode 100644 index 0000000..c8ea17e --- /dev/null +++ b/.github/workflows/phpunit.yml @@ -0,0 +1,45 @@ +# Unit tests only, against the nextcloud/ocp stub package — no live +# Nextcloud server or database is booted, which keeps this job fast and free +# of external services. tests/Integration (real server + DB) is intentionally +# not run here; see the linked GitHub issue for the multi-database follow-up. +name: PHPUnit + +on: + pull_request: + push: + branches: [master] + +permissions: + contents: read + +concurrency: + group: phpunit-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + unit-tests: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + php-versions: ['8.2', '8.3'] + + name: unit-tests (PHP ${{ matrix.php-versions }}) + + steps: + - name: Checkout + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + + - name: Set up php ${{ matrix.php-versions }} + uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 + with: + php-version: ${{ matrix.php-versions }} + coverage: none + + - name: Install dependencies + run: composer install --prefer-dist --no-progress + + - name: PHPUnit + run: composer run test:unit diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml new file mode 100644 index 0000000..3c9f0f6 --- /dev/null +++ b/.github/workflows/static-analysis.yml @@ -0,0 +1,41 @@ +# Static analysis with PHPStan. Existing findings are frozen in +# phpstan-baseline.neon (mostly missing Doctrine DBAL type stubs and a +# runtime class_alias() static analysis can't see through) so this starts +# green; only newly introduced issues fail the build. +name: Static analysis + +on: + pull_request: + push: + branches: [master] + +permissions: + contents: read + +concurrency: + group: phpstan-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + phpstan: + runs-on: ubuntu-latest + + name: static-phpstan-analysis + + steps: + - name: Checkout + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + + - name: Set up php + uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 + with: + php-version: '8.3' + coverage: none + + - name: Install dependencies + run: composer install --prefer-dist --no-progress + + - name: PHPStan + run: composer run phpstan diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8b535dd..0000000 --- a/.travis.yml +++ /dev/null @@ -1,64 +0,0 @@ -sudo: false -dist: trusty -language: php -php: - - 5.6 - - 7 - - 7.1 -env: - global: - - CORE_BRANCH=stable14 - matrix: - - DB=pgsql - -matrix: - allow_failures: - - env: DB=pgsql CORE_BRANCH=master - include: - - php: 5.6 - env: DB=sqlite - - php: 5.6 - env: DB=mysql - - php: 5.6 - env: DB=pgsql CORE_BRANCH=master - fast_finish: true - - -before_install: - # enable a display for running JavaScript tests - - export DISPLAY=:99.0 - - sh -e /etc/init.d/xvfb start - - nvm install 8 - - npm install -g npm@latest - - make - - make appstore - # install core - - cd ../ - - git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b $CORE_BRANCH nextcloud - - mv "$TRAVIS_BUILD_DIR" nextcloud/apps/timetracker - -before_script: - - if [[ "$DB" == 'pgsql' ]]; then createuser -U travis -s oc_autotest; fi - - if [[ "$DB" == 'mysql' ]]; then mysql -u root -e 'create database oc_autotest;'; fi - - if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "CREATE USER 'oc_autotest'@'localhost' IDENTIFIED BY '';"; fi - - if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "grant all on oc_autotest.* to 'oc_autotest'@'localhost';"; fi - - cd nextcloud - - mkdir data - - ./occ maintenance:install --database-name oc_autotest --database-user oc_autotest --admin-user admin --admin-pass admin --database $DB --database-pass='' - - ./occ app:enable timetracker - - php -S localhost:8080 & - - cd apps/timetracker - -script: - - make test - -after_failure: - - cat ../../data/nextcloud.log - -addons: - firefox: 'latest' - mariadb: '10.1' - -services: - - postgresql - - mariadb From ea071f193e00847204e1c19510ccba2a8b469f80 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 12 Jul 2026 19:17:43 +0200 Subject: [PATCH 3/5] Remove FontAwesome and dead KingTable code Deletes unused js/src/kingtable.js and css/kingtable.css (~203 KB), plus the FontAwesome stylesheet and webfonts/ directory (~2.7 MB), replacing the 4 FontAwesome icon classes still in use with their native Nextcloud equivalents across 9 usage sites in templates and JS formatters. Co-Authored-By: Claude Sonnet 5 --- css/all.css | 4223 ------------------------------- css/kingtable.css | 2624 ------------------- js/src/clients.js | 2 +- js/src/goals.js | 2 +- js/src/kingtable.js | 15 - js/src/tags.js | 2 +- js/src/timelines-admin.js | 2 +- js/src/timer.js | 2 +- templates/content/dashboard.php | 4 +- templates/content/index.php | 4 +- templates/content/reports.php | 4 +- templates/content/timelines.php | 4 +- templates/index.php | 1 - webfonts/fa-brands-400.eot | Bin 134000 -> 0 bytes webfonts/fa-brands-400.svg | 1 - webfonts/fa-brands-400.ttf | Bin 133764 -> 0 bytes webfonts/fa-brands-400.woff | Bin 86736 -> 0 bytes webfonts/fa-brands-400.woff2 | Bin 73936 -> 0 bytes webfonts/fa-regular-400.eot | Bin 40308 -> 0 bytes webfonts/fa-regular-400.svg | 1 - webfonts/fa-regular-400.ttf | Bin 40080 -> 0 bytes webfonts/fa-regular-400.woff | Bin 18164 -> 0 bytes webfonts/fa-regular-400.woff2 | Bin 14868 -> 0 bytes webfonts/fa-solid-900.eot | Bin 208828 -> 0 bytes webfonts/fa-solid-900.svg | 1 - webfonts/fa-solid-900.ttf | Bin 208608 -> 0 bytes webfonts/fa-solid-900.woff | Bin 102120 -> 0 bytes webfonts/fa-solid-900.woff2 | Bin 79072 -> 0 bytes 28 files changed, 13 insertions(+), 6879 deletions(-) delete mode 100644 css/all.css delete mode 100644 css/kingtable.css delete mode 100644 js/src/kingtable.js delete mode 100644 webfonts/fa-brands-400.eot delete mode 100644 webfonts/fa-brands-400.svg delete mode 100644 webfonts/fa-brands-400.ttf delete mode 100644 webfonts/fa-brands-400.woff delete mode 100644 webfonts/fa-brands-400.woff2 delete mode 100644 webfonts/fa-regular-400.eot delete mode 100644 webfonts/fa-regular-400.svg delete mode 100644 webfonts/fa-regular-400.ttf delete mode 100644 webfonts/fa-regular-400.woff delete mode 100644 webfonts/fa-regular-400.woff2 delete mode 100644 webfonts/fa-solid-900.eot delete mode 100644 webfonts/fa-solid-900.svg delete mode 100644 webfonts/fa-solid-900.ttf delete mode 100644 webfonts/fa-solid-900.woff delete mode 100644 webfonts/fa-solid-900.woff2 diff --git a/css/all.css b/css/all.css deleted file mode 100644 index 3f65700..0000000 --- a/css/all.css +++ /dev/null @@ -1,4223 +0,0 @@ -/*! - * Font Awesome Free 5.6.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -.fa, -.fas, -.far, -.fal, -.fab { - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - line-height: 1; } - -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -.0667em; } - -.fa-xs { - font-size: .75em; } - -.fa-sm { - font-size: .875em; } - -.fa-1x { - font-size: 1em; } - -.fa-2x { - font-size: 2em; } - -.fa-3x { - font-size: 3em; } - -.fa-4x { - font-size: 4em; } - -.fa-5x { - font-size: 5em; } - -.fa-6x { - font-size: 6em; } - -.fa-7x { - font-size: 7em; } - -.fa-8x { - font-size: 8em; } - -.fa-9x { - font-size: 9em; } - -.fa-10x { - font-size: 10em; } - -.fa-fw { - text-align: center; - width: 1.25em; } - -.fa-ul { - list-style-type: none; - margin-left: 2.5em; - padding-left: 0; } - .fa-ul > li { - position: relative; } - -.fa-li { - left: -2em; - position: absolute; - text-align: center; - width: 2em; - line-height: inherit; } - -.fa-border { - border: solid 0.08em #eee; - border-radius: .1em; - padding: .2em .25em .15em; } - -.fa-pull-left { - float: left; } - -.fa-pull-right { - float: right; } - -.fa.fa-pull-left, -.fas.fa-pull-left, -.far.fa-pull-left, -.fal.fa-pull-left, -.fab.fa-pull-left { - margin-right: .3em; } - -.fa.fa-pull-right, -.fas.fa-pull-right, -.far.fa-pull-right, -.fal.fa-pull-right, -.fab.fa-pull-right { - margin-left: .3em; } - -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; } - -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); } - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - -webkit-transform: rotate(180deg); - transform: rotate(180deg); } - -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - -webkit-transform: rotate(270deg); - transform: rotate(270deg); } - -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - -webkit-transform: scale(-1, 1); - transform: scale(-1, 1); } - -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(1, -1); - transform: scale(1, -1); } - -.fa-flip-horizontal.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(-1, -1); - transform: scale(-1, -1); } - -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - -webkit-filter: none; - filter: none; } - -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; } - -.fa-stack-1x, -.fa-stack-2x { - left: 0; - position: absolute; - text-align: center; - width: 100%; } - -.fa-stack-1x { - line-height: inherit; } - -.fa-stack-2x { - font-size: 2em; } - -.fa-inverse { - color: #fff; } - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen -readers do not read off random characters that represent icons */ -.fa-500px:before { - content: "\f26e"; } - -.fa-accessible-icon:before { - content: "\f368"; } - -.fa-accusoft:before { - content: "\f369"; } - -.fa-acquisitions-incorporated:before { - content: "\f6af"; } - -.fa-ad:before { - content: "\f641"; } - -.fa-address-book:before { - content: "\f2b9"; } - -.fa-address-card:before { - content: "\f2bb"; } - -.fa-adjust:before { - content: "\f042"; } - -.fa-adn:before { - content: "\f170"; } - -.fa-adobe:before { - content: "\f778"; } - -.fa-adversal:before { - content: "\f36a"; } - -.fa-affiliatetheme:before { - content: "\f36b"; } - -.fa-air-freshener:before { - content: "\f5d0"; } - -.fa-algolia:before { - content: "\f36c"; } - -.fa-align-center:before { - content: "\f037"; } - -.fa-align-justify:before { - content: "\f039"; } - -.fa-align-left:before { - content: "\f036"; } - -.fa-align-right:before { - content: "\f038"; } - -.fa-alipay:before { - content: "\f642"; } - -.fa-allergies:before { - content: "\f461"; } - -.fa-amazon:before { - content: "\f270"; } - -.fa-amazon-pay:before { - content: "\f42c"; } - -.fa-ambulance:before { - content: "\f0f9"; } - -.fa-american-sign-language-interpreting:before { - content: "\f2a3"; } - -.fa-amilia:before { - content: "\f36d"; } - -.fa-anchor:before { - content: "\f13d"; } - -.fa-android:before { - content: "\f17b"; } - -.fa-angellist:before { - content: "\f209"; } - -.fa-angle-double-down:before { - content: "\f103"; } - -.fa-angle-double-left:before { - content: "\f100"; } - -.fa-angle-double-right:before { - content: "\f101"; } - -.fa-angle-double-up:before { - content: "\f102"; } - -.fa-angle-down:before { - content: "\f107"; } - -.fa-angle-left:before { - content: "\f104"; } - -.fa-angle-right:before { - content: "\f105"; } - -.fa-angle-up:before { - content: "\f106"; } - -.fa-angry:before { - content: "\f556"; } - -.fa-angrycreative:before { - content: "\f36e"; } - -.fa-angular:before { - content: "\f420"; } - -.fa-ankh:before { - content: "\f644"; } - -.fa-app-store:before { - content: "\f36f"; } - -.fa-app-store-ios:before { - content: "\f370"; } - -.fa-apper:before { - content: "\f371"; } - -.fa-apple:before { - content: "\f179"; } - -.fa-apple-alt:before { - content: "\f5d1"; } - -.fa-apple-pay:before { - content: "\f415"; } - -.fa-archive:before { - content: "\f187"; } - -.fa-archway:before { - content: "\f557"; } - -.fa-arrow-alt-circle-down:before { - content: "\f358"; } - -.fa-arrow-alt-circle-left:before { - content: "\f359"; } - -.fa-arrow-alt-circle-right:before { - content: "\f35a"; } - -.fa-arrow-alt-circle-up:before { - content: "\f35b"; } - -.fa-arrow-circle-down:before { - content: "\f0ab"; } - -.fa-arrow-circle-left:before { - content: "\f0a8"; } - -.fa-arrow-circle-right:before { - content: "\f0a9"; } - -.fa-arrow-circle-up:before { - content: "\f0aa"; } - -.fa-arrow-down:before { - content: "\f063"; } - -.fa-arrow-left:before { - content: "\f060"; } - -.fa-arrow-right:before { - content: "\f061"; } - -.fa-arrow-up:before { - content: "\f062"; } - -.fa-arrows-alt:before { - content: "\f0b2"; } - -.fa-arrows-alt-h:before { - content: "\f337"; } - -.fa-arrows-alt-v:before { - content: "\f338"; } - -.fa-artstation:before { - content: "\f77a"; } - -.fa-assistive-listening-systems:before { - content: "\f2a2"; } - -.fa-asterisk:before { - content: "\f069"; } - -.fa-asymmetrik:before { - content: "\f372"; } - -.fa-at:before { - content: "\f1fa"; } - -.fa-atlas:before { - content: "\f558"; } - -.fa-atlassian:before { - content: "\f77b"; } - -.fa-atom:before { - content: "\f5d2"; } - -.fa-audible:before { - content: "\f373"; } - -.fa-audio-description:before { - content: "\f29e"; } - -.fa-autoprefixer:before { - content: "\f41c"; } - -.fa-avianex:before { - content: "\f374"; } - -.fa-aviato:before { - content: "\f421"; } - -.fa-award:before { - content: "\f559"; } - -.fa-aws:before { - content: "\f375"; } - -.fa-baby:before { - content: "\f77c"; } - -.fa-baby-carriage:before { - content: "\f77d"; } - -.fa-backspace:before { - content: "\f55a"; } - -.fa-backward:before { - content: "\f04a"; } - -.fa-balance-scale:before { - content: "\f24e"; } - -.fa-ban:before { - content: "\f05e"; } - -.fa-band-aid:before { - content: "\f462"; } - -.fa-bandcamp:before { - content: "\f2d5"; } - -.fa-barcode:before { - content: "\f02a"; } - -.fa-bars:before { - content: "\f0c9"; } - -.fa-baseball-ball:before { - content: "\f433"; } - -.fa-basketball-ball:before { - content: "\f434"; } - -.fa-bath:before { - content: "\f2cd"; } - -.fa-battery-empty:before { - content: "\f244"; } - -.fa-battery-full:before { - content: "\f240"; } - -.fa-battery-half:before { - content: "\f242"; } - -.fa-battery-quarter:before { - content: "\f243"; } - -.fa-battery-three-quarters:before { - content: "\f241"; } - -.fa-bed:before { - content: "\f236"; } - -.fa-beer:before { - content: "\f0fc"; } - -.fa-behance:before { - content: "\f1b4"; } - -.fa-behance-square:before { - content: "\f1b5"; } - -.fa-bell:before { - content: "\f0f3"; } - -.fa-bell-slash:before { - content: "\f1f6"; } - -.fa-bezier-curve:before { - content: "\f55b"; } - -.fa-bible:before { - content: "\f647"; } - -.fa-bicycle:before { - content: "\f206"; } - -.fa-bimobject:before { - content: "\f378"; } - -.fa-binoculars:before { - content: "\f1e5"; } - -.fa-biohazard:before { - content: "\f780"; } - -.fa-birthday-cake:before { - content: "\f1fd"; } - -.fa-bitbucket:before { - content: "\f171"; } - -.fa-bitcoin:before { - content: "\f379"; } - -.fa-bity:before { - content: "\f37a"; } - -.fa-black-tie:before { - content: "\f27e"; } - -.fa-blackberry:before { - content: "\f37b"; } - -.fa-blender:before { - content: "\f517"; } - -.fa-blender-phone:before { - content: "\f6b6"; } - -.fa-blind:before { - content: "\f29d"; } - -.fa-blog:before { - content: "\f781"; } - -.fa-blogger:before { - content: "\f37c"; } - -.fa-blogger-b:before { - content: "\f37d"; } - -.fa-bluetooth:before { - content: "\f293"; } - -.fa-bluetooth-b:before { - content: "\f294"; } - -.fa-bold:before { - content: "\f032"; } - -.fa-bolt:before { - content: "\f0e7"; } - -.fa-bomb:before { - content: "\f1e2"; } - -.fa-bone:before { - content: "\f5d7"; } - -.fa-bong:before { - content: "\f55c"; } - -.fa-book:before { - content: "\f02d"; } - -.fa-book-dead:before { - content: "\f6b7"; } - -.fa-book-open:before { - content: "\f518"; } - -.fa-book-reader:before { - content: "\f5da"; } - -.fa-bookmark:before { - content: "\f02e"; } - -.fa-bowling-ball:before { - content: "\f436"; } - -.fa-box:before { - content: "\f466"; } - -.fa-box-open:before { - content: "\f49e"; } - -.fa-boxes:before { - content: "\f468"; } - -.fa-braille:before { - content: "\f2a1"; } - -.fa-brain:before { - content: "\f5dc"; } - -.fa-briefcase:before { - content: "\f0b1"; } - -.fa-briefcase-medical:before { - content: "\f469"; } - -.fa-broadcast-tower:before { - content: "\f519"; } - -.fa-broom:before { - content: "\f51a"; } - -.fa-brush:before { - content: "\f55d"; } - -.fa-btc:before { - content: "\f15a"; } - -.fa-bug:before { - content: "\f188"; } - -.fa-building:before { - content: "\f1ad"; } - -.fa-bullhorn:before { - content: "\f0a1"; } - -.fa-bullseye:before { - content: "\f140"; } - -.fa-burn:before { - content: "\f46a"; } - -.fa-buromobelexperte:before { - content: "\f37f"; } - -.fa-bus:before { - content: "\f207"; } - -.fa-bus-alt:before { - content: "\f55e"; } - -.fa-business-time:before { - content: "\f64a"; } - -.fa-buysellads:before { - content: "\f20d"; } - -.fa-calculator:before { - content: "\f1ec"; } - -.fa-calendar:before { - content: "\f133"; } - -.fa-calendar-alt:before { - content: "\f073"; } - -.fa-calendar-check:before { - content: "\f274"; } - -.fa-calendar-day:before { - content: "\f783"; } - -.fa-calendar-minus:before { - content: "\f272"; } - -.fa-calendar-plus:before { - content: "\f271"; } - -.fa-calendar-times:before { - content: "\f273"; } - -.fa-calendar-week:before { - content: "\f784"; } - -.fa-camera:before { - content: "\f030"; } - -.fa-camera-retro:before { - content: "\f083"; } - -.fa-campground:before { - content: "\f6bb"; } - -.fa-canadian-maple-leaf:before { - content: "\f785"; } - -.fa-candy-cane:before { - content: "\f786"; } - -.fa-cannabis:before { - content: "\f55f"; } - -.fa-capsules:before { - content: "\f46b"; } - -.fa-car:before { - content: "\f1b9"; } - -.fa-car-alt:before { - content: "\f5de"; } - -.fa-car-battery:before { - content: "\f5df"; } - -.fa-car-crash:before { - content: "\f5e1"; } - -.fa-car-side:before { - content: "\f5e4"; } - -.fa-caret-down:before { - content: "\f0d7"; } - -.fa-caret-left:before { - content: "\f0d9"; } - -.fa-caret-right:before { - content: "\f0da"; } - -.fa-caret-square-down:before { - content: "\f150"; } - -.fa-caret-square-left:before { - content: "\f191"; } - -.fa-caret-square-right:before { - content: "\f152"; } - -.fa-caret-square-up:before { - content: "\f151"; } - -.fa-caret-up:before { - content: "\f0d8"; } - -.fa-carrot:before { - content: "\f787"; } - -.fa-cart-arrow-down:before { - content: "\f218"; } - -.fa-cart-plus:before { - content: "\f217"; } - -.fa-cash-register:before { - content: "\f788"; } - -.fa-cat:before { - content: "\f6be"; } - -.fa-cc-amazon-pay:before { - content: "\f42d"; } - -.fa-cc-amex:before { - content: "\f1f3"; } - -.fa-cc-apple-pay:before { - content: "\f416"; } - -.fa-cc-diners-club:before { - content: "\f24c"; } - -.fa-cc-discover:before { - content: "\f1f2"; } - -.fa-cc-jcb:before { - content: "\f24b"; } - -.fa-cc-mastercard:before { - content: "\f1f1"; } - -.fa-cc-paypal:before { - content: "\f1f4"; } - -.fa-cc-stripe:before { - content: "\f1f5"; } - -.fa-cc-visa:before { - content: "\f1f0"; } - -.fa-centercode:before { - content: "\f380"; } - -.fa-centos:before { - content: "\f789"; } - -.fa-certificate:before { - content: "\f0a3"; } - -.fa-chair:before { - content: "\f6c0"; } - -.fa-chalkboard:before { - content: "\f51b"; } - -.fa-chalkboard-teacher:before { - content: "\f51c"; } - -.fa-charging-station:before { - content: "\f5e7"; } - -.fa-chart-area:before { - content: "\f1fe"; } - -.fa-chart-bar:before { - content: "\f080"; } - -.fa-chart-line:before { - content: "\f201"; } - -.fa-chart-pie:before { - content: "\f200"; } - -.fa-check:before { - content: "\f00c"; } - -.fa-check-circle:before { - content: "\f058"; } - -.fa-check-double:before { - content: "\f560"; } - -.fa-check-square:before { - content: "\f14a"; } - -.fa-chess:before { - content: "\f439"; } - -.fa-chess-bishop:before { - content: "\f43a"; } - -.fa-chess-board:before { - content: "\f43c"; } - -.fa-chess-king:before { - content: "\f43f"; } - -.fa-chess-knight:before { - content: "\f441"; } - -.fa-chess-pawn:before { - content: "\f443"; } - -.fa-chess-queen:before { - content: "\f445"; } - -.fa-chess-rook:before { - content: "\f447"; } - -.fa-chevron-circle-down:before { - content: "\f13a"; } - -.fa-chevron-circle-left:before { - content: "\f137"; } - -.fa-chevron-circle-right:before { - content: "\f138"; } - -.fa-chevron-circle-up:before { - content: "\f139"; } - -.fa-chevron-down:before { - content: "\f078"; } - -.fa-chevron-left:before { - content: "\f053"; } - -.fa-chevron-right:before { - content: "\f054"; } - -.fa-chevron-up:before { - content: "\f077"; } - -.fa-child:before { - content: "\f1ae"; } - -.fa-chrome:before { - content: "\f268"; } - -.fa-church:before { - content: "\f51d"; } - -.fa-circle:before { - content: "\f111"; } - -.fa-circle-notch:before { - content: "\f1ce"; } - -.fa-city:before { - content: "\f64f"; } - -.fa-clipboard:before { - content: "\f328"; } - -.fa-clipboard-check:before { - content: "\f46c"; } - -.fa-clipboard-list:before { - content: "\f46d"; } - -.fa-clock:before { - content: "\f017"; } - -.fa-clone:before { - content: "\f24d"; } - -.fa-closed-captioning:before { - content: "\f20a"; } - -.fa-cloud:before { - content: "\f0c2"; } - -.fa-cloud-download-alt:before { - content: "\f381"; } - -.fa-cloud-meatball:before { - content: "\f73b"; } - -.fa-cloud-moon:before { - content: "\f6c3"; } - -.fa-cloud-moon-rain:before { - content: "\f73c"; } - -.fa-cloud-rain:before { - content: "\f73d"; } - -.fa-cloud-showers-heavy:before { - content: "\f740"; } - -.fa-cloud-sun:before { - content: "\f6c4"; } - -.fa-cloud-sun-rain:before { - content: "\f743"; } - -.fa-cloud-upload-alt:before { - content: "\f382"; } - -.fa-cloudscale:before { - content: "\f383"; } - -.fa-cloudsmith:before { - content: "\f384"; } - -.fa-cloudversify:before { - content: "\f385"; } - -.fa-cocktail:before { - content: "\f561"; } - -.fa-code:before { - content: "\f121"; } - -.fa-code-branch:before { - content: "\f126"; } - -.fa-codepen:before { - content: "\f1cb"; } - -.fa-codiepie:before { - content: "\f284"; } - -.fa-coffee:before { - content: "\f0f4"; } - -.fa-cog:before { - content: "\f013"; } - -.fa-cogs:before { - content: "\f085"; } - -.fa-coins:before { - content: "\f51e"; } - -.fa-columns:before { - content: "\f0db"; } - -.fa-comment:before { - content: "\f075"; } - -.fa-comment-alt:before { - content: "\f27a"; } - -.fa-comment-dollar:before { - content: "\f651"; } - -.fa-comment-dots:before { - content: "\f4ad"; } - -.fa-comment-slash:before { - content: "\f4b3"; } - -.fa-comments:before { - content: "\f086"; } - -.fa-comments-dollar:before { - content: "\f653"; } - -.fa-compact-disc:before { - content: "\f51f"; } - -.fa-compass:before { - content: "\f14e"; } - -.fa-compress:before { - content: "\f066"; } - -.fa-compress-arrows-alt:before { - content: "\f78c"; } - -.fa-concierge-bell:before { - content: "\f562"; } - -.fa-confluence:before { - content: "\f78d"; } - -.fa-connectdevelop:before { - content: "\f20e"; } - -.fa-contao:before { - content: "\f26d"; } - -.fa-cookie:before { - content: "\f563"; } - -.fa-cookie-bite:before { - content: "\f564"; } - -.fa-copy:before { - content: "\f0c5"; } - -.fa-copyright:before { - content: "\f1f9"; } - -.fa-couch:before { - content: "\f4b8"; } - -.fa-cpanel:before { - content: "\f388"; } - -.fa-creative-commons:before { - content: "\f25e"; } - -.fa-creative-commons-by:before { - content: "\f4e7"; } - -.fa-creative-commons-nc:before { - content: "\f4e8"; } - -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; } - -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; } - -.fa-creative-commons-nd:before { - content: "\f4eb"; } - -.fa-creative-commons-pd:before { - content: "\f4ec"; } - -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; } - -.fa-creative-commons-remix:before { - content: "\f4ee"; } - -.fa-creative-commons-sa:before { - content: "\f4ef"; } - -.fa-creative-commons-sampling:before { - content: "\f4f0"; } - -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; } - -.fa-creative-commons-share:before { - content: "\f4f2"; } - -.fa-creative-commons-zero:before { - content: "\f4f3"; } - -.fa-credit-card:before { - content: "\f09d"; } - -.fa-critical-role:before { - content: "\f6c9"; } - -.fa-crop:before { - content: "\f125"; } - -.fa-crop-alt:before { - content: "\f565"; } - -.fa-cross:before { - content: "\f654"; } - -.fa-crosshairs:before { - content: "\f05b"; } - -.fa-crow:before { - content: "\f520"; } - -.fa-crown:before { - content: "\f521"; } - -.fa-css3:before { - content: "\f13c"; } - -.fa-css3-alt:before { - content: "\f38b"; } - -.fa-cube:before { - content: "\f1b2"; } - -.fa-cubes:before { - content: "\f1b3"; } - -.fa-cut:before { - content: "\f0c4"; } - -.fa-cuttlefish:before { - content: "\f38c"; } - -.fa-d-and-d:before { - content: "\f38d"; } - -.fa-d-and-d-beyond:before { - content: "\f6ca"; } - -.fa-dashcube:before { - content: "\f210"; } - -.fa-database:before { - content: "\f1c0"; } - -.fa-deaf:before { - content: "\f2a4"; } - -.fa-delicious:before { - content: "\f1a5"; } - -.fa-democrat:before { - content: "\f747"; } - -.fa-deploydog:before { - content: "\f38e"; } - -.fa-deskpro:before { - content: "\f38f"; } - -.fa-desktop:before { - content: "\f108"; } - -.fa-dev:before { - content: "\f6cc"; } - -.fa-deviantart:before { - content: "\f1bd"; } - -.fa-dharmachakra:before { - content: "\f655"; } - -.fa-dhl:before { - content: "\f790"; } - -.fa-diagnoses:before { - content: "\f470"; } - -.fa-diaspora:before { - content: "\f791"; } - -.fa-dice:before { - content: "\f522"; } - -.fa-dice-d20:before { - content: "\f6cf"; } - -.fa-dice-d6:before { - content: "\f6d1"; } - -.fa-dice-five:before { - content: "\f523"; } - -.fa-dice-four:before { - content: "\f524"; } - -.fa-dice-one:before { - content: "\f525"; } - -.fa-dice-six:before { - content: "\f526"; } - -.fa-dice-three:before { - content: "\f527"; } - -.fa-dice-two:before { - content: "\f528"; } - -.fa-digg:before { - content: "\f1a6"; } - -.fa-digital-ocean:before { - content: "\f391"; } - -.fa-digital-tachograph:before { - content: "\f566"; } - -.fa-directions:before { - content: "\f5eb"; } - -.fa-discord:before { - content: "\f392"; } - -.fa-discourse:before { - content: "\f393"; } - -.fa-divide:before { - content: "\f529"; } - -.fa-dizzy:before { - content: "\f567"; } - -.fa-dna:before { - content: "\f471"; } - -.fa-dochub:before { - content: "\f394"; } - -.fa-docker:before { - content: "\f395"; } - -.fa-dog:before { - content: "\f6d3"; } - -.fa-dollar-sign:before { - content: "\f155"; } - -.fa-dolly:before { - content: "\f472"; } - -.fa-dolly-flatbed:before { - content: "\f474"; } - -.fa-donate:before { - content: "\f4b9"; } - -.fa-door-closed:before { - content: "\f52a"; } - -.fa-door-open:before { - content: "\f52b"; } - -.fa-dot-circle:before { - content: "\f192"; } - -.fa-dove:before { - content: "\f4ba"; } - -.fa-download:before { - content: "\f019"; } - -.fa-draft2digital:before { - content: "\f396"; } - -.fa-drafting-compass:before { - content: "\f568"; } - -.fa-dragon:before { - content: "\f6d5"; } - -.fa-draw-polygon:before { - content: "\f5ee"; } - -.fa-dribbble:before { - content: "\f17d"; } - -.fa-dribbble-square:before { - content: "\f397"; } - -.fa-dropbox:before { - content: "\f16b"; } - -.fa-drum:before { - content: "\f569"; } - -.fa-drum-steelpan:before { - content: "\f56a"; } - -.fa-drumstick-bite:before { - content: "\f6d7"; } - -.fa-drupal:before { - content: "\f1a9"; } - -.fa-dumbbell:before { - content: "\f44b"; } - -.fa-dumpster:before { - content: "\f793"; } - -.fa-dumpster-fire:before { - content: "\f794"; } - -.fa-dungeon:before { - content: "\f6d9"; } - -.fa-dyalog:before { - content: "\f399"; } - -.fa-earlybirds:before { - content: "\f39a"; } - -.fa-ebay:before { - content: "\f4f4"; } - -.fa-edge:before { - content: "\f282"; } - -.fa-edit:before { - content: "\f044"; } - -.fa-eject:before { - content: "\f052"; } - -.fa-elementor:before { - content: "\f430"; } - -.fa-ellipsis-h:before { - content: "\f141"; } - -.fa-ellipsis-v:before { - content: "\f142"; } - -.fa-ello:before { - content: "\f5f1"; } - -.fa-ember:before { - content: "\f423"; } - -.fa-empire:before { - content: "\f1d1"; } - -.fa-envelope:before { - content: "\f0e0"; } - -.fa-envelope-open:before { - content: "\f2b6"; } - -.fa-envelope-open-text:before { - content: "\f658"; } - -.fa-envelope-square:before { - content: "\f199"; } - -.fa-envira:before { - content: "\f299"; } - -.fa-equals:before { - content: "\f52c"; } - -.fa-eraser:before { - content: "\f12d"; } - -.fa-erlang:before { - content: "\f39d"; } - -.fa-ethereum:before { - content: "\f42e"; } - -.fa-ethernet:before { - content: "\f796"; } - -.fa-etsy:before { - content: "\f2d7"; } - -.fa-euro-sign:before { - content: "\f153"; } - -.fa-exchange-alt:before { - content: "\f362"; } - -.fa-exclamation:before { - content: "\f12a"; } - -.fa-exclamation-circle:before { - content: "\f06a"; } - -.fa-exclamation-triangle:before { - content: "\f071"; } - -.fa-expand:before { - content: "\f065"; } - -.fa-expand-arrows-alt:before { - content: "\f31e"; } - -.fa-expeditedssl:before { - content: "\f23e"; } - -.fa-external-link-alt:before { - content: "\f35d"; } - -.fa-external-link-square-alt:before { - content: "\f360"; } - -.fa-eye:before { - content: "\f06e"; } - -.fa-eye-dropper:before { - content: "\f1fb"; } - -.fa-eye-slash:before { - content: "\f070"; } - -.fa-facebook:before { - content: "\f09a"; } - -.fa-facebook-f:before { - content: "\f39e"; } - -.fa-facebook-messenger:before { - content: "\f39f"; } - -.fa-facebook-square:before { - content: "\f082"; } - -.fa-fantasy-flight-games:before { - content: "\f6dc"; } - -.fa-fast-backward:before { - content: "\f049"; } - -.fa-fast-forward:before { - content: "\f050"; } - -.fa-fax:before { - content: "\f1ac"; } - -.fa-feather:before { - content: "\f52d"; } - -.fa-feather-alt:before { - content: "\f56b"; } - -.fa-fedex:before { - content: "\f797"; } - -.fa-fedora:before { - content: "\f798"; } - -.fa-female:before { - content: "\f182"; } - -.fa-fighter-jet:before { - content: "\f0fb"; } - -.fa-figma:before { - content: "\f799"; } - -.fa-file:before { - content: "\f15b"; } - -.fa-file-alt:before { - content: "\f15c"; } - -.fa-file-archive:before { - content: "\f1c6"; } - -.fa-file-audio:before { - content: "\f1c7"; } - -.fa-file-code:before { - content: "\f1c9"; } - -.fa-file-contract:before { - content: "\f56c"; } - -.fa-file-csv:before { - content: "\f6dd"; } - -.fa-file-download:before { - content: "\f56d"; } - -.fa-file-excel:before { - content: "\f1c3"; } - -.fa-file-export:before { - content: "\f56e"; } - -.fa-file-image:before { - content: "\f1c5"; } - -.fa-file-import:before { - content: "\f56f"; } - -.fa-file-invoice:before { - content: "\f570"; } - -.fa-file-invoice-dollar:before { - content: "\f571"; } - -.fa-file-medical:before { - content: "\f477"; } - -.fa-file-medical-alt:before { - content: "\f478"; } - -.fa-file-pdf:before { - content: "\f1c1"; } - -.fa-file-powerpoint:before { - content: "\f1c4"; } - -.fa-file-prescription:before { - content: "\f572"; } - -.fa-file-signature:before { - content: "\f573"; } - -.fa-file-upload:before { - content: "\f574"; } - -.fa-file-video:before { - content: "\f1c8"; } - -.fa-file-word:before { - content: "\f1c2"; } - -.fa-fill:before { - content: "\f575"; } - -.fa-fill-drip:before { - content: "\f576"; } - -.fa-film:before { - content: "\f008"; } - -.fa-filter:before { - content: "\f0b0"; } - -.fa-fingerprint:before { - content: "\f577"; } - -.fa-fire:before { - content: "\f06d"; } - -.fa-fire-extinguisher:before { - content: "\f134"; } - -.fa-firefox:before { - content: "\f269"; } - -.fa-first-aid:before { - content: "\f479"; } - -.fa-first-order:before { - content: "\f2b0"; } - -.fa-first-order-alt:before { - content: "\f50a"; } - -.fa-firstdraft:before { - content: "\f3a1"; } - -.fa-fish:before { - content: "\f578"; } - -.fa-fist-raised:before { - content: "\f6de"; } - -.fa-flag:before { - content: "\f024"; } - -.fa-flag-checkered:before { - content: "\f11e"; } - -.fa-flag-usa:before { - content: "\f74d"; } - -.fa-flask:before { - content: "\f0c3"; } - -.fa-flickr:before { - content: "\f16e"; } - -.fa-flipboard:before { - content: "\f44d"; } - -.fa-flushed:before { - content: "\f579"; } - -.fa-fly:before { - content: "\f417"; } - -.fa-folder:before { - content: "\f07b"; } - -.fa-folder-minus:before { - content: "\f65d"; } - -.fa-folder-open:before { - content: "\f07c"; } - -.fa-folder-plus:before { - content: "\f65e"; } - -.fa-font:before { - content: "\f031"; } - -.fa-font-awesome:before { - content: "\f2b4"; } - -.fa-font-awesome-alt:before { - content: "\f35c"; } - -.fa-font-awesome-flag:before { - content: "\f425"; } - -.fa-font-awesome-logo-full:before { - content: "\f4e6"; } - -.fa-fonticons:before { - content: "\f280"; } - -.fa-fonticons-fi:before { - content: "\f3a2"; } - -.fa-football-ball:before { - content: "\f44e"; } - -.fa-fort-awesome:before { - content: "\f286"; } - -.fa-fort-awesome-alt:before { - content: "\f3a3"; } - -.fa-forumbee:before { - content: "\f211"; } - -.fa-forward:before { - content: "\f04e"; } - -.fa-foursquare:before { - content: "\f180"; } - -.fa-free-code-camp:before { - content: "\f2c5"; } - -.fa-freebsd:before { - content: "\f3a4"; } - -.fa-frog:before { - content: "\f52e"; } - -.fa-frown:before { - content: "\f119"; } - -.fa-frown-open:before { - content: "\f57a"; } - -.fa-fulcrum:before { - content: "\f50b"; } - -.fa-funnel-dollar:before { - content: "\f662"; } - -.fa-futbol:before { - content: "\f1e3"; } - -.fa-galactic-republic:before { - content: "\f50c"; } - -.fa-galactic-senate:before { - content: "\f50d"; } - -.fa-gamepad:before { - content: "\f11b"; } - -.fa-gas-pump:before { - content: "\f52f"; } - -.fa-gavel:before { - content: "\f0e3"; } - -.fa-gem:before { - content: "\f3a5"; } - -.fa-genderless:before { - content: "\f22d"; } - -.fa-get-pocket:before { - content: "\f265"; } - -.fa-gg:before { - content: "\f260"; } - -.fa-gg-circle:before { - content: "\f261"; } - -.fa-ghost:before { - content: "\f6e2"; } - -.fa-gift:before { - content: "\f06b"; } - -.fa-gifts:before { - content: "\f79c"; } - -.fa-git:before { - content: "\f1d3"; } - -.fa-git-square:before { - content: "\f1d2"; } - -.fa-github:before { - content: "\f09b"; } - -.fa-github-alt:before { - content: "\f113"; } - -.fa-github-square:before { - content: "\f092"; } - -.fa-gitkraken:before { - content: "\f3a6"; } - -.fa-gitlab:before { - content: "\f296"; } - -.fa-gitter:before { - content: "\f426"; } - -.fa-glass-cheers:before { - content: "\f79f"; } - -.fa-glass-martini:before { - content: "\f000"; } - -.fa-glass-martini-alt:before { - content: "\f57b"; } - -.fa-glass-whiskey:before { - content: "\f7a0"; } - -.fa-glasses:before { - content: "\f530"; } - -.fa-glide:before { - content: "\f2a5"; } - -.fa-glide-g:before { - content: "\f2a6"; } - -.fa-globe:before { - content: "\f0ac"; } - -.fa-globe-africa:before { - content: "\f57c"; } - -.fa-globe-americas:before { - content: "\f57d"; } - -.fa-globe-asia:before { - content: "\f57e"; } - -.fa-globe-europe:before { - content: "\f7a2"; } - -.fa-gofore:before { - content: "\f3a7"; } - -.fa-golf-ball:before { - content: "\f450"; } - -.fa-goodreads:before { - content: "\f3a8"; } - -.fa-goodreads-g:before { - content: "\f3a9"; } - -.fa-google:before { - content: "\f1a0"; } - -.fa-google-drive:before { - content: "\f3aa"; } - -.fa-google-play:before { - content: "\f3ab"; } - -.fa-google-plus:before { - content: "\f2b3"; } - -.fa-google-plus-g:before { - content: "\f0d5"; } - -.fa-google-plus-square:before { - content: "\f0d4"; } - -.fa-google-wallet:before { - content: "\f1ee"; } - -.fa-gopuram:before { - content: "\f664"; } - -.fa-graduation-cap:before { - content: "\f19d"; } - -.fa-gratipay:before { - content: "\f184"; } - -.fa-grav:before { - content: "\f2d6"; } - -.fa-greater-than:before { - content: "\f531"; } - -.fa-greater-than-equal:before { - content: "\f532"; } - -.fa-grimace:before { - content: "\f57f"; } - -.fa-grin:before { - content: "\f580"; } - -.fa-grin-alt:before { - content: "\f581"; } - -.fa-grin-beam:before { - content: "\f582"; } - -.fa-grin-beam-sweat:before { - content: "\f583"; } - -.fa-grin-hearts:before { - content: "\f584"; } - -.fa-grin-squint:before { - content: "\f585"; } - -.fa-grin-squint-tears:before { - content: "\f586"; } - -.fa-grin-stars:before { - content: "\f587"; } - -.fa-grin-tears:before { - content: "\f588"; } - -.fa-grin-tongue:before { - content: "\f589"; } - -.fa-grin-tongue-squint:before { - content: "\f58a"; } - -.fa-grin-tongue-wink:before { - content: "\f58b"; } - -.fa-grin-wink:before { - content: "\f58c"; } - -.fa-grip-horizontal:before { - content: "\f58d"; } - -.fa-grip-lines:before { - content: "\f7a4"; } - -.fa-grip-lines-vertical:before { - content: "\f7a5"; } - -.fa-grip-vertical:before { - content: "\f58e"; } - -.fa-gripfire:before { - content: "\f3ac"; } - -.fa-grunt:before { - content: "\f3ad"; } - -.fa-guitar:before { - content: "\f7a6"; } - -.fa-gulp:before { - content: "\f3ae"; } - -.fa-h-square:before { - content: "\f0fd"; } - -.fa-hacker-news:before { - content: "\f1d4"; } - -.fa-hacker-news-square:before { - content: "\f3af"; } - -.fa-hackerrank:before { - content: "\f5f7"; } - -.fa-hammer:before { - content: "\f6e3"; } - -.fa-hamsa:before { - content: "\f665"; } - -.fa-hand-holding:before { - content: "\f4bd"; } - -.fa-hand-holding-heart:before { - content: "\f4be"; } - -.fa-hand-holding-usd:before { - content: "\f4c0"; } - -.fa-hand-lizard:before { - content: "\f258"; } - -.fa-hand-paper:before { - content: "\f256"; } - -.fa-hand-peace:before { - content: "\f25b"; } - -.fa-hand-point-down:before { - content: "\f0a7"; } - -.fa-hand-point-left:before { - content: "\f0a5"; } - -.fa-hand-point-right:before { - content: "\f0a4"; } - -.fa-hand-point-up:before { - content: "\f0a6"; } - -.fa-hand-pointer:before { - content: "\f25a"; } - -.fa-hand-rock:before { - content: "\f255"; } - -.fa-hand-scissors:before { - content: "\f257"; } - -.fa-hand-spock:before { - content: "\f259"; } - -.fa-hands:before { - content: "\f4c2"; } - -.fa-hands-helping:before { - content: "\f4c4"; } - -.fa-handshake:before { - content: "\f2b5"; } - -.fa-hanukiah:before { - content: "\f6e6"; } - -.fa-hashtag:before { - content: "\f292"; } - -.fa-hat-wizard:before { - content: "\f6e8"; } - -.fa-haykal:before { - content: "\f666"; } - -.fa-hdd:before { - content: "\f0a0"; } - -.fa-heading:before { - content: "\f1dc"; } - -.fa-headphones:before { - content: "\f025"; } - -.fa-headphones-alt:before { - content: "\f58f"; } - -.fa-headset:before { - content: "\f590"; } - -.fa-heart:before { - content: "\f004"; } - -.fa-heart-broken:before { - content: "\f7a9"; } - -.fa-heartbeat:before { - content: "\f21e"; } - -.fa-helicopter:before { - content: "\f533"; } - -.fa-highlighter:before { - content: "\f591"; } - -.fa-hiking:before { - content: "\f6ec"; } - -.fa-hippo:before { - content: "\f6ed"; } - -.fa-hips:before { - content: "\f452"; } - -.fa-hire-a-helper:before { - content: "\f3b0"; } - -.fa-history:before { - content: "\f1da"; } - -.fa-hockey-puck:before { - content: "\f453"; } - -.fa-holly-berry:before { - content: "\f7aa"; } - -.fa-home:before { - content: "\f015"; } - -.fa-hooli:before { - content: "\f427"; } - -.fa-hornbill:before { - content: "\f592"; } - -.fa-horse:before { - content: "\f6f0"; } - -.fa-horse-head:before { - content: "\f7ab"; } - -.fa-hospital:before { - content: "\f0f8"; } - -.fa-hospital-alt:before { - content: "\f47d"; } - -.fa-hospital-symbol:before { - content: "\f47e"; } - -.fa-hot-tub:before { - content: "\f593"; } - -.fa-hotel:before { - content: "\f594"; } - -.fa-hotjar:before { - content: "\f3b1"; } - -.fa-hourglass:before { - content: "\f254"; } - -.fa-hourglass-end:before { - content: "\f253"; } - -.fa-hourglass-half:before { - content: "\f252"; } - -.fa-hourglass-start:before { - content: "\f251"; } - -.fa-house-damage:before { - content: "\f6f1"; } - -.fa-houzz:before { - content: "\f27c"; } - -.fa-hryvnia:before { - content: "\f6f2"; } - -.fa-html5:before { - content: "\f13b"; } - -.fa-hubspot:before { - content: "\f3b2"; } - -.fa-i-cursor:before { - content: "\f246"; } - -.fa-icicles:before { - content: "\f7ad"; } - -.fa-id-badge:before { - content: "\f2c1"; } - -.fa-id-card:before { - content: "\f2c2"; } - -.fa-id-card-alt:before { - content: "\f47f"; } - -.fa-igloo:before { - content: "\f7ae"; } - -.fa-image:before { - content: "\f03e"; } - -.fa-images:before { - content: "\f302"; } - -.fa-imdb:before { - content: "\f2d8"; } - -.fa-inbox:before { - content: "\f01c"; } - -.fa-indent:before { - content: "\f03c"; } - -.fa-industry:before { - content: "\f275"; } - -.fa-infinity:before { - content: "\f534"; } - -.fa-info:before { - content: "\f129"; } - -.fa-info-circle:before { - content: "\f05a"; } - -.fa-instagram:before { - content: "\f16d"; } - -.fa-intercom:before { - content: "\f7af"; } - -.fa-internet-explorer:before { - content: "\f26b"; } - -.fa-invision:before { - content: "\f7b0"; } - -.fa-ioxhost:before { - content: "\f208"; } - -.fa-italic:before { - content: "\f033"; } - -.fa-itunes:before { - content: "\f3b4"; } - -.fa-itunes-note:before { - content: "\f3b5"; } - -.fa-java:before { - content: "\f4e4"; } - -.fa-jedi:before { - content: "\f669"; } - -.fa-jedi-order:before { - content: "\f50e"; } - -.fa-jenkins:before { - content: "\f3b6"; } - -.fa-jira:before { - content: "\f7b1"; } - -.fa-joget:before { - content: "\f3b7"; } - -.fa-joint:before { - content: "\f595"; } - -.fa-joomla:before { - content: "\f1aa"; } - -.fa-journal-whills:before { - content: "\f66a"; } - -.fa-js:before { - content: "\f3b8"; } - -.fa-js-square:before { - content: "\f3b9"; } - -.fa-jsfiddle:before { - content: "\f1cc"; } - -.fa-kaaba:before { - content: "\f66b"; } - -.fa-kaggle:before { - content: "\f5fa"; } - -.fa-key:before { - content: "\f084"; } - -.fa-keybase:before { - content: "\f4f5"; } - -.fa-keyboard:before { - content: "\f11c"; } - -.fa-keycdn:before { - content: "\f3ba"; } - -.fa-khanda:before { - content: "\f66d"; } - -.fa-kickstarter:before { - content: "\f3bb"; } - -.fa-kickstarter-k:before { - content: "\f3bc"; } - -.fa-kiss:before { - content: "\f596"; } - -.fa-kiss-beam:before { - content: "\f597"; } - -.fa-kiss-wink-heart:before { - content: "\f598"; } - -.fa-kiwi-bird:before { - content: "\f535"; } - -.fa-korvue:before { - content: "\f42f"; } - -.fa-landmark:before { - content: "\f66f"; } - -.fa-language:before { - content: "\f1ab"; } - -.fa-laptop:before { - content: "\f109"; } - -.fa-laptop-code:before { - content: "\f5fc"; } - -.fa-laravel:before { - content: "\f3bd"; } - -.fa-lastfm:before { - content: "\f202"; } - -.fa-lastfm-square:before { - content: "\f203"; } - -.fa-laugh:before { - content: "\f599"; } - -.fa-laugh-beam:before { - content: "\f59a"; } - -.fa-laugh-squint:before { - content: "\f59b"; } - -.fa-laugh-wink:before { - content: "\f59c"; } - -.fa-layer-group:before { - content: "\f5fd"; } - -.fa-leaf:before { - content: "\f06c"; } - -.fa-leanpub:before { - content: "\f212"; } - -.fa-lemon:before { - content: "\f094"; } - -.fa-less:before { - content: "\f41d"; } - -.fa-less-than:before { - content: "\f536"; } - -.fa-less-than-equal:before { - content: "\f537"; } - -.fa-level-down-alt:before { - content: "\f3be"; } - -.fa-level-up-alt:before { - content: "\f3bf"; } - -.fa-life-ring:before { - content: "\f1cd"; } - -.fa-lightbulb:before { - content: "\f0eb"; } - -.fa-line:before { - content: "\f3c0"; } - -.fa-link:before { - content: "\f0c1"; } - -.fa-linkedin:before { - content: "\f08c"; } - -.fa-linkedin-in:before { - content: "\f0e1"; } - -.fa-linode:before { - content: "\f2b8"; } - -.fa-linux:before { - content: "\f17c"; } - -.fa-lira-sign:before { - content: "\f195"; } - -.fa-list:before { - content: "\f03a"; } - -.fa-list-alt:before { - content: "\f022"; } - -.fa-list-ol:before { - content: "\f0cb"; } - -.fa-list-ul:before { - content: "\f0ca"; } - -.fa-location-arrow:before { - content: "\f124"; } - -.fa-lock:before { - content: "\f023"; } - -.fa-lock-open:before { - content: "\f3c1"; } - -.fa-long-arrow-alt-down:before { - content: "\f309"; } - -.fa-long-arrow-alt-left:before { - content: "\f30a"; } - -.fa-long-arrow-alt-right:before { - content: "\f30b"; } - -.fa-long-arrow-alt-up:before { - content: "\f30c"; } - -.fa-low-vision:before { - content: "\f2a8"; } - -.fa-luggage-cart:before { - content: "\f59d"; } - -.fa-lyft:before { - content: "\f3c3"; } - -.fa-magento:before { - content: "\f3c4"; } - -.fa-magic:before { - content: "\f0d0"; } - -.fa-magnet:before { - content: "\f076"; } - -.fa-mail-bulk:before { - content: "\f674"; } - -.fa-mailchimp:before { - content: "\f59e"; } - -.fa-male:before { - content: "\f183"; } - -.fa-mandalorian:before { - content: "\f50f"; } - -.fa-map:before { - content: "\f279"; } - -.fa-map-marked:before { - content: "\f59f"; } - -.fa-map-marked-alt:before { - content: "\f5a0"; } - -.fa-map-marker:before { - content: "\f041"; } - -.fa-map-marker-alt:before { - content: "\f3c5"; } - -.fa-map-pin:before { - content: "\f276"; } - -.fa-map-signs:before { - content: "\f277"; } - -.fa-markdown:before { - content: "\f60f"; } - -.fa-marker:before { - content: "\f5a1"; } - -.fa-mars:before { - content: "\f222"; } - -.fa-mars-double:before { - content: "\f227"; } - -.fa-mars-stroke:before { - content: "\f229"; } - -.fa-mars-stroke-h:before { - content: "\f22b"; } - -.fa-mars-stroke-v:before { - content: "\f22a"; } - -.fa-mask:before { - content: "\f6fa"; } - -.fa-mastodon:before { - content: "\f4f6"; } - -.fa-maxcdn:before { - content: "\f136"; } - -.fa-medal:before { - content: "\f5a2"; } - -.fa-medapps:before { - content: "\f3c6"; } - -.fa-medium:before { - content: "\f23a"; } - -.fa-medium-m:before { - content: "\f3c7"; } - -.fa-medkit:before { - content: "\f0fa"; } - -.fa-medrt:before { - content: "\f3c8"; } - -.fa-meetup:before { - content: "\f2e0"; } - -.fa-megaport:before { - content: "\f5a3"; } - -.fa-meh:before { - content: "\f11a"; } - -.fa-meh-blank:before { - content: "\f5a4"; } - -.fa-meh-rolling-eyes:before { - content: "\f5a5"; } - -.fa-memory:before { - content: "\f538"; } - -.fa-mendeley:before { - content: "\f7b3"; } - -.fa-menorah:before { - content: "\f676"; } - -.fa-mercury:before { - content: "\f223"; } - -.fa-meteor:before { - content: "\f753"; } - -.fa-microchip:before { - content: "\f2db"; } - -.fa-microphone:before { - content: "\f130"; } - -.fa-microphone-alt:before { - content: "\f3c9"; } - -.fa-microphone-alt-slash:before { - content: "\f539"; } - -.fa-microphone-slash:before { - content: "\f131"; } - -.fa-microscope:before { - content: "\f610"; } - -.fa-microsoft:before { - content: "\f3ca"; } - -.fa-minus:before { - content: "\f068"; } - -.fa-minus-circle:before { - content: "\f056"; } - -.fa-minus-square:before { - content: "\f146"; } - -.fa-mitten:before { - content: "\f7b5"; } - -.fa-mix:before { - content: "\f3cb"; } - -.fa-mixcloud:before { - content: "\f289"; } - -.fa-mizuni:before { - content: "\f3cc"; } - -.fa-mobile:before { - content: "\f10b"; } - -.fa-mobile-alt:before { - content: "\f3cd"; } - -.fa-modx:before { - content: "\f285"; } - -.fa-monero:before { - content: "\f3d0"; } - -.fa-money-bill:before { - content: "\f0d6"; } - -.fa-money-bill-alt:before { - content: "\f3d1"; } - -.fa-money-bill-wave:before { - content: "\f53a"; } - -.fa-money-bill-wave-alt:before { - content: "\f53b"; } - -.fa-money-check:before { - content: "\f53c"; } - -.fa-money-check-alt:before { - content: "\f53d"; } - -.fa-monument:before { - content: "\f5a6"; } - -.fa-moon:before { - content: "\f186"; } - -.fa-mortar-pestle:before { - content: "\f5a7"; } - -.fa-mosque:before { - content: "\f678"; } - -.fa-motorcycle:before { - content: "\f21c"; } - -.fa-mountain:before { - content: "\f6fc"; } - -.fa-mouse-pointer:before { - content: "\f245"; } - -.fa-mug-hot:before { - content: "\f7b6"; } - -.fa-music:before { - content: "\f001"; } - -.fa-napster:before { - content: "\f3d2"; } - -.fa-neos:before { - content: "\f612"; } - -.fa-network-wired:before { - content: "\f6ff"; } - -.fa-neuter:before { - content: "\f22c"; } - -.fa-newspaper:before { - content: "\f1ea"; } - -.fa-nimblr:before { - content: "\f5a8"; } - -.fa-nintendo-switch:before { - content: "\f418"; } - -.fa-node:before { - content: "\f419"; } - -.fa-node-js:before { - content: "\f3d3"; } - -.fa-not-equal:before { - content: "\f53e"; } - -.fa-notes-medical:before { - content: "\f481"; } - -.fa-npm:before { - content: "\f3d4"; } - -.fa-ns8:before { - content: "\f3d5"; } - -.fa-nutritionix:before { - content: "\f3d6"; } - -.fa-object-group:before { - content: "\f247"; } - -.fa-object-ungroup:before { - content: "\f248"; } - -.fa-odnoklassniki:before { - content: "\f263"; } - -.fa-odnoklassniki-square:before { - content: "\f264"; } - -.fa-oil-can:before { - content: "\f613"; } - -.fa-old-republic:before { - content: "\f510"; } - -.fa-om:before { - content: "\f679"; } - -.fa-opencart:before { - content: "\f23d"; } - -.fa-openid:before { - content: "\f19b"; } - -.fa-opera:before { - content: "\f26a"; } - -.fa-optin-monster:before { - content: "\f23c"; } - -.fa-osi:before { - content: "\f41a"; } - -.fa-otter:before { - content: "\f700"; } - -.fa-outdent:before { - content: "\f03b"; } - -.fa-page4:before { - content: "\f3d7"; } - -.fa-pagelines:before { - content: "\f18c"; } - -.fa-paint-brush:before { - content: "\f1fc"; } - -.fa-paint-roller:before { - content: "\f5aa"; } - -.fa-palette:before { - content: "\f53f"; } - -.fa-palfed:before { - content: "\f3d8"; } - -.fa-pallet:before { - content: "\f482"; } - -.fa-paper-plane:before { - content: "\f1d8"; } - -.fa-paperclip:before { - content: "\f0c6"; } - -.fa-parachute-box:before { - content: "\f4cd"; } - -.fa-paragraph:before { - content: "\f1dd"; } - -.fa-parking:before { - content: "\f540"; } - -.fa-passport:before { - content: "\f5ab"; } - -.fa-pastafarianism:before { - content: "\f67b"; } - -.fa-paste:before { - content: "\f0ea"; } - -.fa-patreon:before { - content: "\f3d9"; } - -.fa-pause:before { - content: "\f04c"; } - -.fa-pause-circle:before { - content: "\f28b"; } - -.fa-paw:before { - content: "\f1b0"; } - -.fa-paypal:before { - content: "\f1ed"; } - -.fa-peace:before { - content: "\f67c"; } - -.fa-pen:before { - content: "\f304"; } - -.fa-pen-alt:before { - content: "\f305"; } - -.fa-pen-fancy:before { - content: "\f5ac"; } - -.fa-pen-nib:before { - content: "\f5ad"; } - -.fa-pen-square:before { - content: "\f14b"; } - -.fa-pencil-alt:before { - content: "\f303"; } - -.fa-pencil-ruler:before { - content: "\f5ae"; } - -.fa-penny-arcade:before { - content: "\f704"; } - -.fa-people-carry:before { - content: "\f4ce"; } - -.fa-percent:before { - content: "\f295"; } - -.fa-percentage:before { - content: "\f541"; } - -.fa-periscope:before { - content: "\f3da"; } - -.fa-person-booth:before { - content: "\f756"; } - -.fa-phabricator:before { - content: "\f3db"; } - -.fa-phoenix-framework:before { - content: "\f3dc"; } - -.fa-phoenix-squadron:before { - content: "\f511"; } - -.fa-phone:before { - content: "\f095"; } - -.fa-phone-slash:before { - content: "\f3dd"; } - -.fa-phone-square:before { - content: "\f098"; } - -.fa-phone-volume:before { - content: "\f2a0"; } - -.fa-php:before { - content: "\f457"; } - -.fa-pied-piper:before { - content: "\f2ae"; } - -.fa-pied-piper-alt:before { - content: "\f1a8"; } - -.fa-pied-piper-hat:before { - content: "\f4e5"; } - -.fa-pied-piper-pp:before { - content: "\f1a7"; } - -.fa-piggy-bank:before { - content: "\f4d3"; } - -.fa-pills:before { - content: "\f484"; } - -.fa-pinterest:before { - content: "\f0d2"; } - -.fa-pinterest-p:before { - content: "\f231"; } - -.fa-pinterest-square:before { - content: "\f0d3"; } - -.fa-place-of-worship:before { - content: "\f67f"; } - -.fa-plane:before { - content: "\f072"; } - -.fa-plane-arrival:before { - content: "\f5af"; } - -.fa-plane-departure:before { - content: "\f5b0"; } - -.fa-play:before { - content: "\f04b"; } - -.fa-play-circle:before { - content: "\f144"; } - -.fa-playstation:before { - content: "\f3df"; } - -.fa-plug:before { - content: "\f1e6"; } - -.fa-plus:before { - content: "\f067"; } - -.fa-plus-circle:before { - content: "\f055"; } - -.fa-plus-square:before { - content: "\f0fe"; } - -.fa-podcast:before { - content: "\f2ce"; } - -.fa-poll:before { - content: "\f681"; } - -.fa-poll-h:before { - content: "\f682"; } - -.fa-poo:before { - content: "\f2fe"; } - -.fa-poo-storm:before { - content: "\f75a"; } - -.fa-poop:before { - content: "\f619"; } - -.fa-portrait:before { - content: "\f3e0"; } - -.fa-pound-sign:before { - content: "\f154"; } - -.fa-power-off:before { - content: "\f011"; } - -.fa-pray:before { - content: "\f683"; } - -.fa-praying-hands:before { - content: "\f684"; } - -.fa-prescription:before { - content: "\f5b1"; } - -.fa-prescription-bottle:before { - content: "\f485"; } - -.fa-prescription-bottle-alt:before { - content: "\f486"; } - -.fa-print:before { - content: "\f02f"; } - -.fa-procedures:before { - content: "\f487"; } - -.fa-product-hunt:before { - content: "\f288"; } - -.fa-project-diagram:before { - content: "\f542"; } - -.fa-pushed:before { - content: "\f3e1"; } - -.fa-puzzle-piece:before { - content: "\f12e"; } - -.fa-python:before { - content: "\f3e2"; } - -.fa-qq:before { - content: "\f1d6"; } - -.fa-qrcode:before { - content: "\f029"; } - -.fa-question:before { - content: "\f128"; } - -.fa-question-circle:before { - content: "\f059"; } - -.fa-quidditch:before { - content: "\f458"; } - -.fa-quinscape:before { - content: "\f459"; } - -.fa-quora:before { - content: "\f2c4"; } - -.fa-quote-left:before { - content: "\f10d"; } - -.fa-quote-right:before { - content: "\f10e"; } - -.fa-quran:before { - content: "\f687"; } - -.fa-r-project:before { - content: "\f4f7"; } - -.fa-radiation:before { - content: "\f7b9"; } - -.fa-radiation-alt:before { - content: "\f7ba"; } - -.fa-rainbow:before { - content: "\f75b"; } - -.fa-random:before { - content: "\f074"; } - -.fa-raspberry-pi:before { - content: "\f7bb"; } - -.fa-ravelry:before { - content: "\f2d9"; } - -.fa-react:before { - content: "\f41b"; } - -.fa-reacteurope:before { - content: "\f75d"; } - -.fa-readme:before { - content: "\f4d5"; } - -.fa-rebel:before { - content: "\f1d0"; } - -.fa-receipt:before { - content: "\f543"; } - -.fa-recycle:before { - content: "\f1b8"; } - -.fa-red-river:before { - content: "\f3e3"; } - -.fa-reddit:before { - content: "\f1a1"; } - -.fa-reddit-alien:before { - content: "\f281"; } - -.fa-reddit-square:before { - content: "\f1a2"; } - -.fa-redhat:before { - content: "\f7bc"; } - -.fa-redo:before { - content: "\f01e"; } - -.fa-redo-alt:before { - content: "\f2f9"; } - -.fa-registered:before { - content: "\f25d"; } - -.fa-renren:before { - content: "\f18b"; } - -.fa-reply:before { - content: "\f3e5"; } - -.fa-reply-all:before { - content: "\f122"; } - -.fa-replyd:before { - content: "\f3e6"; } - -.fa-republican:before { - content: "\f75e"; } - -.fa-researchgate:before { - content: "\f4f8"; } - -.fa-resolving:before { - content: "\f3e7"; } - -.fa-restroom:before { - content: "\f7bd"; } - -.fa-retweet:before { - content: "\f079"; } - -.fa-rev:before { - content: "\f5b2"; } - -.fa-ribbon:before { - content: "\f4d6"; } - -.fa-ring:before { - content: "\f70b"; } - -.fa-road:before { - content: "\f018"; } - -.fa-robot:before { - content: "\f544"; } - -.fa-rocket:before { - content: "\f135"; } - -.fa-rocketchat:before { - content: "\f3e8"; } - -.fa-rockrms:before { - content: "\f3e9"; } - -.fa-route:before { - content: "\f4d7"; } - -.fa-rss:before { - content: "\f09e"; } - -.fa-rss-square:before { - content: "\f143"; } - -.fa-ruble-sign:before { - content: "\f158"; } - -.fa-ruler:before { - content: "\f545"; } - -.fa-ruler-combined:before { - content: "\f546"; } - -.fa-ruler-horizontal:before { - content: "\f547"; } - -.fa-ruler-vertical:before { - content: "\f548"; } - -.fa-running:before { - content: "\f70c"; } - -.fa-rupee-sign:before { - content: "\f156"; } - -.fa-sad-cry:before { - content: "\f5b3"; } - -.fa-sad-tear:before { - content: "\f5b4"; } - -.fa-safari:before { - content: "\f267"; } - -.fa-sass:before { - content: "\f41e"; } - -.fa-satellite:before { - content: "\f7bf"; } - -.fa-satellite-dish:before { - content: "\f7c0"; } - -.fa-save:before { - content: "\f0c7"; } - -.fa-schlix:before { - content: "\f3ea"; } - -.fa-school:before { - content: "\f549"; } - -.fa-screwdriver:before { - content: "\f54a"; } - -.fa-scribd:before { - content: "\f28a"; } - -.fa-scroll:before { - content: "\f70e"; } - -.fa-sd-card:before { - content: "\f7c2"; } - -.fa-search:before { - content: "\f002"; } - -.fa-search-dollar:before { - content: "\f688"; } - -.fa-search-location:before { - content: "\f689"; } - -.fa-search-minus:before { - content: "\f010"; } - -.fa-search-plus:before { - content: "\f00e"; } - -.fa-searchengin:before { - content: "\f3eb"; } - -.fa-seedling:before { - content: "\f4d8"; } - -.fa-sellcast:before { - content: "\f2da"; } - -.fa-sellsy:before { - content: "\f213"; } - -.fa-server:before { - content: "\f233"; } - -.fa-servicestack:before { - content: "\f3ec"; } - -.fa-shapes:before { - content: "\f61f"; } - -.fa-share:before { - content: "\f064"; } - -.fa-share-alt:before { - content: "\f1e0"; } - -.fa-share-alt-square:before { - content: "\f1e1"; } - -.fa-share-square:before { - content: "\f14d"; } - -.fa-shekel-sign:before { - content: "\f20b"; } - -.fa-shield-alt:before { - content: "\f3ed"; } - -.fa-ship:before { - content: "\f21a"; } - -.fa-shipping-fast:before { - content: "\f48b"; } - -.fa-shirtsinbulk:before { - content: "\f214"; } - -.fa-shoe-prints:before { - content: "\f54b"; } - -.fa-shopping-bag:before { - content: "\f290"; } - -.fa-shopping-basket:before { - content: "\f291"; } - -.fa-shopping-cart:before { - content: "\f07a"; } - -.fa-shopware:before { - content: "\f5b5"; } - -.fa-shower:before { - content: "\f2cc"; } - -.fa-shuttle-van:before { - content: "\f5b6"; } - -.fa-sign:before { - content: "\f4d9"; } - -.fa-sign-in-alt:before { - content: "\f2f6"; } - -.fa-sign-language:before { - content: "\f2a7"; } - -.fa-sign-out-alt:before { - content: "\f2f5"; } - -.fa-signal:before { - content: "\f012"; } - -.fa-signature:before { - content: "\f5b7"; } - -.fa-sim-card:before { - content: "\f7c4"; } - -.fa-simplybuilt:before { - content: "\f215"; } - -.fa-sistrix:before { - content: "\f3ee"; } - -.fa-sitemap:before { - content: "\f0e8"; } - -.fa-sith:before { - content: "\f512"; } - -.fa-skating:before { - content: "\f7c5"; } - -.fa-sketch:before { - content: "\f7c6"; } - -.fa-skiing:before { - content: "\f7c9"; } - -.fa-skiing-nordic:before { - content: "\f7ca"; } - -.fa-skull:before { - content: "\f54c"; } - -.fa-skull-crossbones:before { - content: "\f714"; } - -.fa-skyatlas:before { - content: "\f216"; } - -.fa-skype:before { - content: "\f17e"; } - -.fa-slack:before { - content: "\f198"; } - -.fa-slack-hash:before { - content: "\f3ef"; } - -.fa-slash:before { - content: "\f715"; } - -.fa-sleigh:before { - content: "\f7cc"; } - -.fa-sliders-h:before { - content: "\f1de"; } - -.fa-slideshare:before { - content: "\f1e7"; } - -.fa-smile:before { - content: "\f118"; } - -.fa-smile-beam:before { - content: "\f5b8"; } - -.fa-smile-wink:before { - content: "\f4da"; } - -.fa-smog:before { - content: "\f75f"; } - -.fa-smoking:before { - content: "\f48d"; } - -.fa-smoking-ban:before { - content: "\f54d"; } - -.fa-sms:before { - content: "\f7cd"; } - -.fa-snapchat:before { - content: "\f2ab"; } - -.fa-snapchat-ghost:before { - content: "\f2ac"; } - -.fa-snapchat-square:before { - content: "\f2ad"; } - -.fa-snowboarding:before { - content: "\f7ce"; } - -.fa-snowflake:before { - content: "\f2dc"; } - -.fa-snowman:before { - content: "\f7d0"; } - -.fa-snowplow:before { - content: "\f7d2"; } - -.fa-socks:before { - content: "\f696"; } - -.fa-solar-panel:before { - content: "\f5ba"; } - -.fa-sort:before { - content: "\f0dc"; } - -.fa-sort-alpha-down:before { - content: "\f15d"; } - -.fa-sort-alpha-up:before { - content: "\f15e"; } - -.fa-sort-amount-down:before { - content: "\f160"; } - -.fa-sort-amount-up:before { - content: "\f161"; } - -.fa-sort-down:before { - content: "\f0dd"; } - -.fa-sort-numeric-down:before { - content: "\f162"; } - -.fa-sort-numeric-up:before { - content: "\f163"; } - -.fa-sort-up:before { - content: "\f0de"; } - -.fa-soundcloud:before { - content: "\f1be"; } - -.fa-sourcetree:before { - content: "\f7d3"; } - -.fa-spa:before { - content: "\f5bb"; } - -.fa-space-shuttle:before { - content: "\f197"; } - -.fa-speakap:before { - content: "\f3f3"; } - -.fa-spider:before { - content: "\f717"; } - -.fa-spinner:before { - content: "\f110"; } - -.fa-splotch:before { - content: "\f5bc"; } - -.fa-spotify:before { - content: "\f1bc"; } - -.fa-spray-can:before { - content: "\f5bd"; } - -.fa-square:before { - content: "\f0c8"; } - -.fa-square-full:before { - content: "\f45c"; } - -.fa-square-root-alt:before { - content: "\f698"; } - -.fa-squarespace:before { - content: "\f5be"; } - -.fa-stack-exchange:before { - content: "\f18d"; } - -.fa-stack-overflow:before { - content: "\f16c"; } - -.fa-stamp:before { - content: "\f5bf"; } - -.fa-star:before { - content: "\f005"; } - -.fa-star-and-crescent:before { - content: "\f699"; } - -.fa-star-half:before { - content: "\f089"; } - -.fa-star-half-alt:before { - content: "\f5c0"; } - -.fa-star-of-david:before { - content: "\f69a"; } - -.fa-star-of-life:before { - content: "\f621"; } - -.fa-staylinked:before { - content: "\f3f5"; } - -.fa-steam:before { - content: "\f1b6"; } - -.fa-steam-square:before { - content: "\f1b7"; } - -.fa-steam-symbol:before { - content: "\f3f6"; } - -.fa-step-backward:before { - content: "\f048"; } - -.fa-step-forward:before { - content: "\f051"; } - -.fa-stethoscope:before { - content: "\f0f1"; } - -.fa-sticker-mule:before { - content: "\f3f7"; } - -.fa-sticky-note:before { - content: "\f249"; } - -.fa-stop:before { - content: "\f04d"; } - -.fa-stop-circle:before { - content: "\f28d"; } - -.fa-stopwatch:before { - content: "\f2f2"; } - -.fa-store:before { - content: "\f54e"; } - -.fa-store-alt:before { - content: "\f54f"; } - -.fa-strava:before { - content: "\f428"; } - -.fa-stream:before { - content: "\f550"; } - -.fa-street-view:before { - content: "\f21d"; } - -.fa-strikethrough:before { - content: "\f0cc"; } - -.fa-stripe:before { - content: "\f429"; } - -.fa-stripe-s:before { - content: "\f42a"; } - -.fa-stroopwafel:before { - content: "\f551"; } - -.fa-studiovinari:before { - content: "\f3f8"; } - -.fa-stumbleupon:before { - content: "\f1a4"; } - -.fa-stumbleupon-circle:before { - content: "\f1a3"; } - -.fa-subscript:before { - content: "\f12c"; } - -.fa-subway:before { - content: "\f239"; } - -.fa-suitcase:before { - content: "\f0f2"; } - -.fa-suitcase-rolling:before { - content: "\f5c1"; } - -.fa-sun:before { - content: "\f185"; } - -.fa-superpowers:before { - content: "\f2dd"; } - -.fa-superscript:before { - content: "\f12b"; } - -.fa-supple:before { - content: "\f3f9"; } - -.fa-surprise:before { - content: "\f5c2"; } - -.fa-suse:before { - content: "\f7d6"; } - -.fa-swatchbook:before { - content: "\f5c3"; } - -.fa-swimmer:before { - content: "\f5c4"; } - -.fa-swimming-pool:before { - content: "\f5c5"; } - -.fa-synagogue:before { - content: "\f69b"; } - -.fa-sync:before { - content: "\f021"; } - -.fa-sync-alt:before { - content: "\f2f1"; } - -.fa-syringe:before { - content: "\f48e"; } - -.fa-table:before { - content: "\f0ce"; } - -.fa-table-tennis:before { - content: "\f45d"; } - -.fa-tablet:before { - content: "\f10a"; } - -.fa-tablet-alt:before { - content: "\f3fa"; } - -.fa-tablets:before { - content: "\f490"; } - -.fa-tachometer-alt:before { - content: "\f3fd"; } - -.fa-tag:before { - content: "\f02b"; } - -.fa-tags:before { - content: "\f02c"; } - -.fa-tape:before { - content: "\f4db"; } - -.fa-tasks:before { - content: "\f0ae"; } - -.fa-taxi:before { - content: "\f1ba"; } - -.fa-teamspeak:before { - content: "\f4f9"; } - -.fa-teeth:before { - content: "\f62e"; } - -.fa-teeth-open:before { - content: "\f62f"; } - -.fa-telegram:before { - content: "\f2c6"; } - -.fa-telegram-plane:before { - content: "\f3fe"; } - -.fa-temperature-high:before { - content: "\f769"; } - -.fa-temperature-low:before { - content: "\f76b"; } - -.fa-tencent-weibo:before { - content: "\f1d5"; } - -.fa-tenge:before { - content: "\f7d7"; } - -.fa-terminal:before { - content: "\f120"; } - -.fa-text-height:before { - content: "\f034"; } - -.fa-text-width:before { - content: "\f035"; } - -.fa-th:before { - content: "\f00a"; } - -.fa-th-large:before { - content: "\f009"; } - -.fa-th-list:before { - content: "\f00b"; } - -.fa-the-red-yeti:before { - content: "\f69d"; } - -.fa-theater-masks:before { - content: "\f630"; } - -.fa-themeco:before { - content: "\f5c6"; } - -.fa-themeisle:before { - content: "\f2b2"; } - -.fa-thermometer:before { - content: "\f491"; } - -.fa-thermometer-empty:before { - content: "\f2cb"; } - -.fa-thermometer-full:before { - content: "\f2c7"; } - -.fa-thermometer-half:before { - content: "\f2c9"; } - -.fa-thermometer-quarter:before { - content: "\f2ca"; } - -.fa-thermometer-three-quarters:before { - content: "\f2c8"; } - -.fa-think-peaks:before { - content: "\f731"; } - -.fa-thumbs-down:before { - content: "\f165"; } - -.fa-thumbs-up:before { - content: "\f164"; } - -.fa-thumbtack:before { - content: "\f08d"; } - -.fa-ticket-alt:before { - content: "\f3ff"; } - -.fa-times:before { - content: "\f00d"; } - -.fa-times-circle:before { - content: "\f057"; } - -.fa-tint:before { - content: "\f043"; } - -.fa-tint-slash:before { - content: "\f5c7"; } - -.fa-tired:before { - content: "\f5c8"; } - -.fa-toggle-off:before { - content: "\f204"; } - -.fa-toggle-on:before { - content: "\f205"; } - -.fa-toilet:before { - content: "\f7d8"; } - -.fa-toilet-paper:before { - content: "\f71e"; } - -.fa-toolbox:before { - content: "\f552"; } - -.fa-tools:before { - content: "\f7d9"; } - -.fa-tooth:before { - content: "\f5c9"; } - -.fa-torah:before { - content: "\f6a0"; } - -.fa-torii-gate:before { - content: "\f6a1"; } - -.fa-tractor:before { - content: "\f722"; } - -.fa-trade-federation:before { - content: "\f513"; } - -.fa-trademark:before { - content: "\f25c"; } - -.fa-traffic-light:before { - content: "\f637"; } - -.fa-train:before { - content: "\f238"; } - -.fa-tram:before { - content: "\f7da"; } - -.fa-transgender:before { - content: "\f224"; } - -.fa-transgender-alt:before { - content: "\f225"; } - -.fa-trash:before { - content: "\f1f8"; } - -.fa-trash-alt:before { - content: "\f2ed"; } - -.fa-tree:before { - content: "\f1bb"; } - -.fa-trello:before { - content: "\f181"; } - -.fa-tripadvisor:before { - content: "\f262"; } - -.fa-trophy:before { - content: "\f091"; } - -.fa-truck:before { - content: "\f0d1"; } - -.fa-truck-loading:before { - content: "\f4de"; } - -.fa-truck-monster:before { - content: "\f63b"; } - -.fa-truck-moving:before { - content: "\f4df"; } - -.fa-truck-pickup:before { - content: "\f63c"; } - -.fa-tshirt:before { - content: "\f553"; } - -.fa-tty:before { - content: "\f1e4"; } - -.fa-tumblr:before { - content: "\f173"; } - -.fa-tumblr-square:before { - content: "\f174"; } - -.fa-tv:before { - content: "\f26c"; } - -.fa-twitch:before { - content: "\f1e8"; } - -.fa-twitter:before { - content: "\f099"; } - -.fa-twitter-square:before { - content: "\f081"; } - -.fa-typo3:before { - content: "\f42b"; } - -.fa-uber:before { - content: "\f402"; } - -.fa-ubuntu:before { - content: "\f7df"; } - -.fa-uikit:before { - content: "\f403"; } - -.fa-umbrella:before { - content: "\f0e9"; } - -.fa-umbrella-beach:before { - content: "\f5ca"; } - -.fa-underline:before { - content: "\f0cd"; } - -.fa-undo:before { - content: "\f0e2"; } - -.fa-undo-alt:before { - content: "\f2ea"; } - -.fa-uniregistry:before { - content: "\f404"; } - -.fa-universal-access:before { - content: "\f29a"; } - -.fa-university:before { - content: "\f19c"; } - -.fa-unlink:before { - content: "\f127"; } - -.fa-unlock:before { - content: "\f09c"; } - -.fa-unlock-alt:before { - content: "\f13e"; } - -.fa-untappd:before { - content: "\f405"; } - -.fa-upload:before { - content: "\f093"; } - -.fa-ups:before { - content: "\f7e0"; } - -.fa-usb:before { - content: "\f287"; } - -.fa-user:before { - content: "\f007"; } - -.fa-user-alt:before { - content: "\f406"; } - -.fa-user-alt-slash:before { - content: "\f4fa"; } - -.fa-user-astronaut:before { - content: "\f4fb"; } - -.fa-user-check:before { - content: "\f4fc"; } - -.fa-user-circle:before { - content: "\f2bd"; } - -.fa-user-clock:before { - content: "\f4fd"; } - -.fa-user-cog:before { - content: "\f4fe"; } - -.fa-user-edit:before { - content: "\f4ff"; } - -.fa-user-friends:before { - content: "\f500"; } - -.fa-user-graduate:before { - content: "\f501"; } - -.fa-user-injured:before { - content: "\f728"; } - -.fa-user-lock:before { - content: "\f502"; } - -.fa-user-md:before { - content: "\f0f0"; } - -.fa-user-minus:before { - content: "\f503"; } - -.fa-user-ninja:before { - content: "\f504"; } - -.fa-user-plus:before { - content: "\f234"; } - -.fa-user-secret:before { - content: "\f21b"; } - -.fa-user-shield:before { - content: "\f505"; } - -.fa-user-slash:before { - content: "\f506"; } - -.fa-user-tag:before { - content: "\f507"; } - -.fa-user-tie:before { - content: "\f508"; } - -.fa-user-times:before { - content: "\f235"; } - -.fa-users:before { - content: "\f0c0"; } - -.fa-users-cog:before { - content: "\f509"; } - -.fa-usps:before { - content: "\f7e1"; } - -.fa-ussunnah:before { - content: "\f407"; } - -.fa-utensil-spoon:before { - content: "\f2e5"; } - -.fa-utensils:before { - content: "\f2e7"; } - -.fa-vaadin:before { - content: "\f408"; } - -.fa-vector-square:before { - content: "\f5cb"; } - -.fa-venus:before { - content: "\f221"; } - -.fa-venus-double:before { - content: "\f226"; } - -.fa-venus-mars:before { - content: "\f228"; } - -.fa-viacoin:before { - content: "\f237"; } - -.fa-viadeo:before { - content: "\f2a9"; } - -.fa-viadeo-square:before { - content: "\f2aa"; } - -.fa-vial:before { - content: "\f492"; } - -.fa-vials:before { - content: "\f493"; } - -.fa-viber:before { - content: "\f409"; } - -.fa-video:before { - content: "\f03d"; } - -.fa-video-slash:before { - content: "\f4e2"; } - -.fa-vihara:before { - content: "\f6a7"; } - -.fa-vimeo:before { - content: "\f40a"; } - -.fa-vimeo-square:before { - content: "\f194"; } - -.fa-vimeo-v:before { - content: "\f27d"; } - -.fa-vine:before { - content: "\f1ca"; } - -.fa-vk:before { - content: "\f189"; } - -.fa-vnv:before { - content: "\f40b"; } - -.fa-volleyball-ball:before { - content: "\f45f"; } - -.fa-volume-down:before { - content: "\f027"; } - -.fa-volume-mute:before { - content: "\f6a9"; } - -.fa-volume-off:before { - content: "\f026"; } - -.fa-volume-up:before { - content: "\f028"; } - -.fa-vote-yea:before { - content: "\f772"; } - -.fa-vr-cardboard:before { - content: "\f729"; } - -.fa-vuejs:before { - content: "\f41f"; } - -.fa-walking:before { - content: "\f554"; } - -.fa-wallet:before { - content: "\f555"; } - -.fa-warehouse:before { - content: "\f494"; } - -.fa-water:before { - content: "\f773"; } - -.fa-weebly:before { - content: "\f5cc"; } - -.fa-weibo:before { - content: "\f18a"; } - -.fa-weight:before { - content: "\f496"; } - -.fa-weight-hanging:before { - content: "\f5cd"; } - -.fa-weixin:before { - content: "\f1d7"; } - -.fa-whatsapp:before { - content: "\f232"; } - -.fa-whatsapp-square:before { - content: "\f40c"; } - -.fa-wheelchair:before { - content: "\f193"; } - -.fa-whmcs:before { - content: "\f40d"; } - -.fa-wifi:before { - content: "\f1eb"; } - -.fa-wikipedia-w:before { - content: "\f266"; } - -.fa-wind:before { - content: "\f72e"; } - -.fa-window-close:before { - content: "\f410"; } - -.fa-window-maximize:before { - content: "\f2d0"; } - -.fa-window-minimize:before { - content: "\f2d1"; } - -.fa-window-restore:before { - content: "\f2d2"; } - -.fa-windows:before { - content: "\f17a"; } - -.fa-wine-bottle:before { - content: "\f72f"; } - -.fa-wine-glass:before { - content: "\f4e3"; } - -.fa-wine-glass-alt:before { - content: "\f5ce"; } - -.fa-wix:before { - content: "\f5cf"; } - -.fa-wizards-of-the-coast:before { - content: "\f730"; } - -.fa-wolf-pack-battalion:before { - content: "\f514"; } - -.fa-won-sign:before { - content: "\f159"; } - -.fa-wordpress:before { - content: "\f19a"; } - -.fa-wordpress-simple:before { - content: "\f411"; } - -.fa-wpbeginner:before { - content: "\f297"; } - -.fa-wpexplorer:before { - content: "\f2de"; } - -.fa-wpforms:before { - content: "\f298"; } - -.fa-wpressr:before { - content: "\f3e4"; } - -.fa-wrench:before { - content: "\f0ad"; } - -.fa-x-ray:before { - content: "\f497"; } - -.fa-xbox:before { - content: "\f412"; } - -.fa-xing:before { - content: "\f168"; } - -.fa-xing-square:before { - content: "\f169"; } - -.fa-y-combinator:before { - content: "\f23b"; } - -.fa-yahoo:before { - content: "\f19e"; } - -.fa-yandex:before { - content: "\f413"; } - -.fa-yandex-international:before { - content: "\f414"; } - -.fa-yarn:before { - content: "\f7e3"; } - -.fa-yelp:before { - content: "\f1e9"; } - -.fa-yen-sign:before { - content: "\f157"; } - -.fa-yin-yang:before { - content: "\f6ad"; } - -.fa-yoast:before { - content: "\f2b1"; } - -.fa-youtube:before { - content: "\f167"; } - -.fa-youtube-square:before { - content: "\f431"; } - -.fa-zhihu:before { - content: "\f63f"; } - -.sr-only { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; } - -.sr-only-focusable:active, .sr-only-focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; } -@font-face { - font-family: 'Font Awesome 5 Brands'; - font-style: normal; - font-weight: normal; - src: url("../webfonts/fa-brands-400.eot"); - src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } - -.fab { - font-family: 'Font Awesome 5 Brands'; } -@font-face { - font-family: 'Font Awesome 5 Free'; - font-style: normal; - font-weight: 400; - src: url("../webfonts/fa-regular-400.eot"); - src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } - -.far { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } -@font-face { - font-family: 'Font Awesome 5 Free'; - font-style: normal; - font-weight: 900; - src: url("../webfonts/fa-solid-900.eot"); - src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } - -.fa, -.fas { - font-family: 'Font Awesome 5 Free'; - font-weight: 900; } diff --git a/css/kingtable.css b/css/kingtable.css deleted file mode 100644 index 59ba07e..0000000 --- a/css/kingtable.css +++ /dev/null @@ -1,2624 +0,0 @@ -/*! - * KingTable 2.0.0 - * https://github.com/RobertoPrevato/KingTable - * - * Copyright 2018, Roberto Prevato - * https://robertoprevato.github.io - * - * Licensed under the MIT license: - * http://www.opensource.org/licenses/MIT - */ - -.theme-bronze .king-table, .theme-clear .king-table, .theme-dark .king-table, .theme-midnight .king-table, .theme-olive .king-table, .theme-ultramarine .king-table { - border-collapse: collapse; - margin-bottom: 10px -} - -.king-table-region .pagination-bar { - position: relative; - font-size: 12px; - line-height: 17px; - white-space: nowrap; - padding: 4px 10px 0; - height: 26px -} - -.king-table-region .pagination-bar.o-icons { - padding: 0 -} - -.king-table-region .pagination-bar.o-icons .pagination-bar-buttons { - box-sizing: border-box; - background-color: #f0f8ff; - height: 26px; - display: inline-block; - padding-top: 3px -} - -.king-table-region .pagination-bar .search-field { - font-size: 11px; - line-height: 12px; - height: 16px; - position: relative; - bottom: 4px; - background-repeat: no-repeat; - background-position: 147px 3px; - padding-right: 20px!important; - width: 140px; - z-index: 9999 -} - -.king-table-region .pagination-bar .btn-filters-wizard { - top: 5px; - position: absolute; - height: 22px; - font-size: 11px; - padding: 0 10px; - margin-left: 8px -} - -.king-table-region .pagination-bar .total-page-count { - display: inline-block; - min-width: 30px -} - -.king-table-region .pagination-bar .pagination-bar-filters .btn-advanced-filters { - margin-left: 10px; - margin-top: 0; - vertical-align: top; - position: relative; - top: 1px; - margin-bottom: 10px -} - -.king-table-region .pagination-bar input, .king-table-region .pagination-bar select, .king-table-region .pagination-bar span { - font-size: 11px; - margin-right: 0; - line-height: normal -} - -.king-table-region .pagination-bar .pagination-button, .king-table-region .pagination-bar .pagination-button-disabled { - display: inline-block; - width: 22px; - height: 22px -} - -.king-table-region .pagination-bar .pagination-button-disabled.oi, .king-table-region .pagination-bar .pagination-button.oi { - background-image: none; - position: relative; - top: 0; - left: 0 -} - -.king-table-region .pagination-bar .pagination-button-disabled.oi:before, .king-table-region .pagination-bar .pagination-button.oi:before { - margin: 5px; - top: 0; - position: absolute; - left: 1px -} - -.king-table-region .pagination-bar .pagination-button-disabled.oi { - opacity: .2 -} - -.king-table-region .pagination-bar .pagination-button { - cursor: pointer -} - -.king-table-region .pagination-bar .separator { - display: inline-block; - width: 6px; - border-right: 1px solid #666; - height: 13px; - cursor: default; - margin: 0 4px 5px -} - -.king-table-region .pagination-bar-refresh { - background-position: -22px 0 -} - -.king-table-region .pagination-bar-next-item, .king-table-region .pagination-bar-next-page { - background-position: -40px -22px -} - -.king-table-region .pagination-bar-last-item, .king-table-region .pagination-bar-last-page { - background-position: -66px -22px -} - -.king-table-region .pagination-bar-prev-item, .king-table-region .pagination-bar-prev-page { - background-position: -22px -22px -} - -.king-table-region .pagination-bar-first-item, .king-table-region .pagination-bar-first-page { - background-position: 0 -22px -} - -.king-table-region .pagination-bar-first-item-disabled, .king-table-region .pagination-bar-first-page-disabled { - background-position: 0 -44px -} - -.king-table-region .pagination-bar-prev-item-disabled, .king-table-region .pagination-bar-prev-page-disabled { - background-position: -23px -43px -} - -.king-table-region .pagination-bar-last-item-disabled, .king-table-region .pagination-bar-last-page-disabled { - background-position: -66px -44px -} - -.king-table-region .pagination-bar-next-item-disabled, .king-table-region .pagination-bar-next-page-disabled { - background-position: -40px -44px -} - -.king-table-region .pagination-bar .valigned { - position: relative; - bottom: 9px -} - -.king-table-region .pagination-bar select.valigned { - bottom: 6px; - margin-left: 3px; - margin-top: 2px; - padding: 0; - width: 60px -} - -.king-table-region .pagination-bar-item-number, .king-table-region .pagination-bar-page-number { - position: relative; - bottom: 10px; - margin-top: 2px; - padding: 0; - width: 30px -} - -.king-table-region .pagination-bar-item-number-disabled, .king-table-region .pagination-bar-page-number-disabled { - position: relative; - bottom: 10px; - margin-top: 2px; - padding: 0 0 0 2px; - width: 32px; - display: inline-block; - text-align: right -} - -.king-table-region .pagination-bar img { - padding: 2px -} - -.king-table-region .pagination-bar span img { - border: none; - border: 1px solid transparent -} - -.king-table-region .pagination-bar fieldset span { - font-style: normal -} - -.king-table-region .color-chart { - text-align: center -} - -.king-table-region .color-scheme-cell { - height: 20px; - width: 90px; - margin: 5px; - border: 1px solid #222; - display: inline-block -} - -.king-table-region input[type=text].pagination-bar-page-number { - text-shadow: 0 0 #000; - font-size: 11px; - line-height: 12px; - position: relative; - bottom: 9px; - background-repeat: no-repeat; - background-position: 147px 3px; - padding-right: 20px!important; - z-index: 9999; - border-radius: 0; - height: 14px; - margin: 4px; - color: #555 -} - -.king-table-region .filters-region { - font-size: 12px; - padding-top: 2px; - border-bottom: 1px solid #ccc; - display: none -} - -.king-table-region .filters-region .buttons { - padding: 0 10px 15px 15px -} - -.king-table-region .ug-submenu, .king-table-region .ug-submenu label, .king-table-region .ug-submenu>a, .king-table-region .ug-submenu>span[tabindex] { - position: relative -} - -.king-table-region .ug-submenu label .oi, .king-table-region .ug-submenu>a .oi, .king-table-region .ug-submenu>span[tabindex] .oi { - position: absolute; - right: 6px; - top: 5px; - font-size: 9px -} - -.king-table-region .ug-submenu>.ug-menu { - top: -35%; - left: 100% -} - -.king-table-region .ug-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - font-size: 14px; - text-align: left; - list-style: none; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); - box-shadow: 0 6px 12px rgba(0, 0, 0, .175) -} - -.king-table-container, .king-table-region .ug-menu li { - position: relative -} - -.king-table-region .ug-menu .open>a, .king-table-region .ug-menu .open>label, .king-table-region .ug-menu .open>span[tabindex] { - background-color: #eee -} - -.king-table-region .ug-menu input[type=checkbox], .king-table-region .ug-menu input[type=radio] { - position: absolute; - left: 3px; - margin: 6px; - z-index: 10 -} - -.king-table-region .ug-menu-right, .king-table-region .ug-menu.pull-right { - right: 0; - left: auto -} - -.king-table-region .ug-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5 -} - -.king-table-region .ug-menu>li label, .king-table-region .ug-menu>li>a, .king-table-region .ug-menu>li>span[tabindex] { - display: block; - padding: 3px 20px; - clear: both; - font-weight: 400; - line-height: 1.42857143; - color: #333; - white-space: nowrap; - font-size: 12px -} - -.king-table-region .ug-menu>li label { - padding-left: 30px -} - -.king-table-region .ug-menu>li>a:focus, .king-table-region .ug-menu>li>a:hover, .king-table-region .ug-menu>li>label:hover, .king-table-region .ug-menu>li>span[tabindex]:focus, .king-table-region .ug-menu>li>span[tabindex]:hover { - color: #262626; - text-decoration: none; - background-color: #f5f5f5 -} - -.king-table-region .ug-menu>.active>a, .king-table-region .ug-menu>.active>a:focus, .king-table-region .ug-menu>.active>a:hover, .king-table-region .ug-menu>.active>label, .king-table-region .ug-menu>.active>span[tabindex], .king-table-region .ug-menu>.active>span[tabindex]:focus, .king-table-region .ug-menu>.active>span[tabindex]:hover { - color: #fff; - text-decoration: none; - background-color: #337ab7; - outline: 0 -} - -.king-table-region .ug-menu>.disabled>a, .king-table-region .ug-menu>.disabled>a:focus, .king-table-region .ug-menu>.disabled>a:hover, .king-table-region .ug-menu>.disabled>label, .king-table-region .ug-menu>.disabled>span[tabindex], .king-table-region .ug-menu>.disabled>span[tabindex]:focus, .king-table-region .ug-menu>.disabled>span[tabindex]:hover { - color: #777 -} - -.king-table-region .ug-menu>.disabled>a:focus, .king-table-region .ug-menu>.disabled>a:hover, .king-table-region .ug-menu>.disabled>label, .king-table-region .ug-menu>.disabled>span[tabindex]:focus, .king-table-region .ug-menu>.disabled>span[tabindex]:hover { - text-decoration: none; - cursor: not-allowed; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false) -} - -.theme-flatblack .search-field, .theme-flatwhite .search-field { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcZEC4Y+QhTXgAAAdFJREFUKM+lk7Gv0nAQx78t/aWkpeZBbEKDRAZjiAOvhITJYEcnJhcn48Tq4uhA4ixG2Ojw1PGR4AsmrvoHiLhBnEgwv+pAxbTN64/qubxnECFGvelyl/tc8v3eAf8Z0nbBsqwbAO4BsAEcAHgN4DHn/M0fAZZl3VFV9UjXdTDGIEkShBAIwxBxHB9xzu9uA1KbmzVNe2GaZuA4zqPhcPig1Wo9jaJoMp/Pr8uyXGeMTYIgmG0ClPPEMIz7hmGgXq8/6XQ6XUmSPAAgokmSJN8Gg0E3SZKHAE52ilGtVj/WajUiovx2j4gOGo3Gh0qlQts9+WciyxcA4HzzL0JJ0hchxHfGGPYCcrncuw0Xtp05jKLoqqqq3l5AqVQ6BoB0On2yCbEs67Kqqs8YYygUCi/32khEF5vN5vPFYnHT933EcTwBAEVR7Gw2C8YYwjD8ulqtGpzz97/Z2G63o9ls9nY6nQZRFOVTqdQ1Xdfzpml65XJ54Pv+FVmWDSHEbU3TXgVB8GnnJZ65cAlA5qx0CsDr9/uO67rd9XqdWS6XKyHEIed8ruxQ3APg7QAPAMB13W6xWPxs2/Zpr9f7u8chosxoNLo1Ho8dIlL+6fuIKL05/AMPJr+j+tXRAwAAAABJRU5ErkJggg==) -} - -.king-table-region .open>.ug-menu { - display: block -} - -.king-table-region .open>a, .king-table-region .open>span[tabindex] { - outline: 0 -} - -.king-table-region .ug-menu-left { - right: auto; - left: 0 -} - -.king-table-region .dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777; - white-space: nowrap -} - -.king-table-region .dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990 -} - -.king-table-region .pull-right>.ug-menu { - right: 0; - left: auto -} - -.king-table-region .dropup .caret, .king-table-region .navbar-fixed-bottom .dropdown .caret { - content: ""; - border-top: 0; - border-bottom: 4px dashed; - border-bottom: 4px solid\9 -} - -.king-table-region .dropup .ug-menu, .king-table-region .navbar-fixed-bottom .dropdown .ug-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px -} - -.king-table-region .tools-region { - float: left; - margin-right: 5px -} - -.king-table-region .tools-region .ug-expander { - display: inline-block; - cursor: pointer; - padding: 5px 7px -} - -.king-table-region .tools-region:hover .menu { - display: block -} - -.theme-flatwhite .king-table tr { - border-bottom: 1px solid #eee -} - -.theme-flatwhite .pagination-bar .oi { - color: #666 -} - -.theme-flatwhite .king-table-head { - background-color: #FFF -} - -.theme-flatwhite .king-table a { - color: #000 -} - -.theme-flatwhite .king-table-body tr:hover { - background-color: #F7F7F7 -} - -.theme-flatwhite .pagination-bar { - background-color: #FFF; - border: 0; - border-bottom: 1px solid #ccc -} - -.theme-flatwhite .pagination-bar .pagination-button, .theme-flatwhite .pagination-bar .pagination-button-disabled, .theme-flatwhite .pagination-bar .separator { - border: 1px solid transparent -} - -.theme-flatwhite .pagination-bar .separator { - border-right: 1px solid #D6D6D6 -} - -.theme-flatwhite .pagination-bar .search-field, .theme-flatwhite .pagination-bar select { - border-radius: 0 -} - -.theme-flatwhite .kt-search-highlight { - background-color: #ff0 -} - -.theme-flatwhite { - color: #000; - background-color: #FFF -} - -.theme-flatwhite hr { - border-top: 1px solid #aaa; - border-bottom: 1px solid #fff -} - -.theme-flatblack .king-table tr { - border-bottom: 1px solid #4A1111 -} - -.theme-flatblack .king-table-head { - background-color: #000 -} - -.theme-flatblack .filters-region { - border-bottom-color: #000 -} - -.theme-flatblack a { - color: #DADAD4 -} - -.theme-flatblack .king-table-body tr:hover { - background-color: #2D0303 -} - -.theme-flatblack .pagination-bar { - background-color: #000; - border: 1px solid rgba(18, 18, 18, .87); - border-top: 0 -} - -.theme-flatblack .pagination-bar .pagination-button, .theme-flatblack .pagination-bar .pagination-button-disabled, .theme-flatblack .pagination-bar .separator { - border: 1px solid transparent -} - -.theme-clear .king-table-container, .theme-flatblack hr { - border-top: 1px solid #aaa -} - -.theme-flatblack .pagination-bar .separator { - border-right: 1px solid #666 -} - -.theme-flatblack .pagination-bar .search-field, .theme-flatblack .pagination-bar select { - border-radius: 0 -} - -.theme-flatblack .kt-search-highlight { - background-color: #791919 -} - -.theme-flatblack .king-table-container .preloader-mask { - opacity: .5; - background-color: #5F0909 -} - -.theme-flatblack .king-table-region .ug-menu { - box-shadow: 0 6px 12px #691010; - background: #111; - color: #DADAD4 -} - -.theme-flatblack .king-table-region .ug-menu li { - border-bottom: 1px solid #4A1111 -} - -.theme-flatblack .king-table-region .ug-menu li a, .theme-flatblack .king-table-region .ug-menu li label, .theme-flatblack .king-table-region .ug-menu li span { - color: #DADAD4 -} - -.theme-flatblack .king-table-region .ug-menu li a:focus, .theme-flatblack .king-table-region .ug-menu li a:hover, .theme-flatblack .king-table-region .ug-menu li label:focus, .theme-flatblack .king-table-region .ug-menu li label:hover, .theme-flatblack .king-table-region .ug-menu li span:focus, .theme-flatblack .king-table-region .ug-menu li span:hover { - color: #DADAD4; - background-color: #2D0303 -} - -.theme-flatblack .king-table-region .ug-menu li.open>a, .theme-flatblack .king-table-region .ug-menu li.open>label, .theme-flatblack .king-table-region .ug-menu li.open>span { - background-color: #2D0303 -} - -.theme-flatblack { - color: #DADAD4; - background-color: #000 -} - -.theme-flatblack .camo-btn { - color: #DADAD4 -} - -.theme-flatblack hr { - border-bottom: 1px solid #fff -} - -.theme-clear .king-table-head { - background-color: #eee -} - -.theme-clear .filters-region { - background-color: #e6e6e6 -} - -.theme-clear .king-table { - background: #eee; - border: none; - font-family: Sans-Serif; - font-size: 12px; - line-height: 17px; - border-bottom: 1px solid #bbb -} - -.theme-clear .king-table-gallery { - background-color: #EEE -} - -.theme-clear .king-table-gallery li>span { - border-bottom: 1px solid #777 -} - -.theme-clear .king-table caption { - border: 1px solid #d0d0d0; - font-weight: 700; - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQI/8QAFxABAQEBAAAAAAAAAAAAAAAAABMBYf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDVlMEdegIKgA//2Q==) top left #fff -} - -.theme-clear .king-table tr td.row-number { - width: 40px; - text-align: center -} - -.theme-clear .king-table a { - color: #000 -} - -.theme-clear .king-table a:hover { - color: #C00 -} - -.theme-clear .king-table .king-table tr, .theme-clear .king-table .king-table-head tr { - width: 100%; - border-color: #ccc -} - -.theme-clear .king-table-body tr:hover:nth-child(even), .theme-clear .king-table-body tr:hover:nth-child(odd) { - background-color: #fefefe -} - -.theme-clear .king-table-body tr:hover:nth-child(even).king-table-empty, .theme-clear .king-table-body tr:hover:nth-child(even).king-table-error, .theme-clear .king-table-body tr:hover:nth-child(odd).king-table-empty, .theme-clear .king-table-body tr:hover:nth-child(odd).king-table-error { - background: #eee -} - -.theme-clear .king-table .king-table-head tr { - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQI/8QAFxABAQEBAAAAAAAAAAAAAAAAABMBYf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDVlMEdegIKgA//2Q==) top left repeat-x #d7d7d7; - height: 18px -} - -.theme-clear .king-table tr th { - text-align: left; - border: 1px solid #d0d0d0; - border-top: 1px solid #fff -} - -.theme-clear .king-table tr td { - line-height: 15px; - border-right: 1px solid #ddd; - border-bottom: 1px solid #ddd -} - -.theme-clear .king-table tr td.row-number, .theme-clear .king-table tr th.row-number { - border: 1px solid #d0d0d0; - border-top: 1px solid #fff; - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQI/8QAFxABAQEBAAAAAAAAAAAAAAAAABMBYf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDVlMEdegIKgA//2Q==) top left repeat-x #d7d7d7 -} - -.theme-clear .pagination-bar { - background-repeat: repeat-x; - background-position: top left; - background-image: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAeAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQI/8QAGRABAAIDAAAAAAAAAAAAAAAAAAETERJh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/ANV2CXcBJZ0S5kB//9k=); - border: 1px solid #ccc; - border-top: 1px solid #fff -} - -.theme-clear .pagination-bar .pagination-button, .theme-clear .pagination-bar .pagination-button-disabled, .theme-clear .pagination-bar .separator { - border: 1px solid transparent -} - -.theme-clear .pagination-bar .separator { - border-right: 1px solid #848484 -} - -.theme-clear .kt-search-highlight { - background-color: #ff0 -} - -.theme-clear .search-field { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcZEC4Y+QhTXgAAAdFJREFUKM+lk7Gv0nAQx78t/aWkpeZBbEKDRAZjiAOvhITJYEcnJhcn48Tq4uhA4ixG2Ojw1PGR4AsmrvoHiLhBnEgwv+pAxbTN64/qubxnECFGvelyl/tc8v3eAf8Z0nbBsqwbAO4BsAEcAHgN4DHn/M0fAZZl3VFV9UjXdTDGIEkShBAIwxBxHB9xzu9uA1KbmzVNe2GaZuA4zqPhcPig1Wo9jaJoMp/Pr8uyXGeMTYIgmG0ClPPEMIz7hmGgXq8/6XQ6XUmSPAAgokmSJN8Gg0E3SZKHAE52ilGtVj/WajUiovx2j4gOGo3Gh0qlQts9+WciyxcA4HzzL0JJ0hchxHfGGPYCcrncuw0Xtp05jKLoqqqq3l5AqVQ6BoB0On2yCbEs67Kqqs8YYygUCi/32khEF5vN5vPFYnHT933EcTwBAEVR7Gw2C8YYwjD8ulqtGpzz97/Z2G63o9ls9nY6nQZRFOVTqdQ1Xdfzpml65XJ54Pv+FVmWDSHEbU3TXgVB8GnnJZ65cAlA5qx0CsDr9/uO67rd9XqdWS6XKyHEIed8ruxQ3APg7QAPAMB13W6xWPxs2/Zpr9f7u8chosxoNLo1Ho8dIlL+6fuIKL05/AMPJr+j+tXRAwAAAABJRU5ErkJggg==) -} - -.theme-clear .king-table-region .ug-menu { - box-shadow: 0 6px 12px #717171; - background: #eee; - color: #000 -} - -.theme-clear .king-table-region .ug-menu li { - border-bottom: 1px solid #C1C1C1 -} - -.theme-clear .king-table-region .ug-menu li a, .theme-clear .king-table-region .ug-menu li label, .theme-clear .king-table-region .ug-menu li span { - color: #000 -} - -.theme-clear .king-table-region .ug-menu li a:focus, .theme-clear .king-table-region .ug-menu li a:hover, .theme-clear .king-table-region .ug-menu li label:focus, .theme-clear .king-table-region .ug-menu li label:hover, .theme-clear .king-table-region .ug-menu li span:focus, .theme-clear .king-table-region .ug-menu li span:hover { - color: #000; - background-color: #E0E0E0 -} - -.theme-clear .king-table-region .ug-menu li.open>a, .theme-clear .king-table-region .ug-menu li.open>label, .theme-clear .king-table-region .ug-menu li.open>span { - background-color: #E0E0E0 -} - -.theme-clear { - color: #000; - background-color: #FFF -} - -.theme-clear hr { - border-top: 1px solid #aaa; - border-bottom: 1px solid #fff -} - -.theme-dark .king-table-container { - border-top: 1px solid #222 -} - -.theme-dark .king-table-head { - background-color: #000 -} - -.theme-dark .filters-region { - border-bottom-color: #000 -} - -.theme-dark .king-table { - color: #DEDEDE; - background: #222; - border: none; - font-family: Sans-Serif; - font-size: 12px; - line-height: 17px; - border-bottom: 1px solid #666 -} - -.theme-dark .king-table-gallery { - background-color: #303435 -} - -.theme-dark .king-table caption { - border: 1px solid #d0d0d0; - font-weight: 700; - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAYF/8QAFxABAQEBAAAAAAAAAAAAAAAAABRhYv/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDMu0S9+gJa7oAH/9k=) top left #373737 -} - -.theme-dark .king-table tr td.row-number { - width: 40px; - text-align: center -} - -.theme-dark .king-table a { - color: #DEDEDE -} - -.theme-dark .king-table a:focus, .theme-dark .king-table a:hover { - color: #FFF -} - -.theme-dark .king-table .king-table tr, .theme-dark .king-table .king-table-head tr { - width: 100%; - border-color: #666 -} - -.theme-dark .king-table-body tr:hover:nth-child(even), .theme-dark .king-table-body tr:hover:nth-child(odd) { - background-color: #111 -} - -.theme-dark .king-table-body tr:hover:nth-child(even).king-table-empty, .theme-dark .king-table-body tr:hover:nth-child(even).king-table-error, .theme-dark .king-table-body tr:hover:nth-child(odd).king-table-empty, .theme-dark .king-table-body tr:hover:nth-child(odd).king-table-error { - background: #222 -} - -.theme-dark .king-table .king-table-head tr { - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAYF/8QAFxABAQEBAAAAAAAAAAAAAAAAABRhYv/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDMu0S9+gJa7oAH/9k=) top left repeat-x #373737; - height: 18px -} - -.theme-dark .king-table tr th { - text-align: left; - border: 1px solid #666; - border-top: 1px solid #d6d6d6 -} - -.theme-dark .king-table tr td { - line-height: 15px; - border-right: 1px solid #444; - border-bottom: 1px solid #444 -} - -.theme-dark .king-table tr td.row-number, .theme-dark .king-table tr th.row-number { - border: 1px solid #666; - border-top: 1px solid #d6d6d6; - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAYF/8QAFxABAQEBAAAAAAAAAAAAAAAAABRhYv/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDMu0S9+gJa7oAH/9k=) top left repeat-x #373737 -} - -.theme-dark .pagination-bar { - background-repeat: repeat-x; - background-position: top left; - background-image: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAeAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQH/8QAGBABAQADAAAAAAAAAAAAAAAAABIBE2H/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oADAMBAAIRAxEAPwDIrE19FiptglvIEv/Z) -} - -.theme-dark .pagination-bar .pagination-button, .theme-dark .pagination-bar .pagination-button-disabled, .theme-dark .pagination-bar .separator { - border: 1px solid transparent -} - -.theme-dark .pagination-bar .separator { - border-right: 1px solid #151515 -} - -.theme-dark .kt-search-highlight { - background-color: #832525 -} - -.theme-dark .search-field { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcZEC4Y+QhTXgAAAdFJREFUKM+lk7Gv0nAQx78t/aWkpeZBbEKDRAZjiAOvhITJYEcnJhcn48Tq4uhA4ixG2Ojw1PGR4AsmrvoHiLhBnEgwv+pAxbTN64/qubxnECFGvelyl/tc8v3eAf8Z0nbBsqwbAO4BsAEcAHgN4DHn/M0fAZZl3VFV9UjXdTDGIEkShBAIwxBxHB9xzu9uA1KbmzVNe2GaZuA4zqPhcPig1Wo9jaJoMp/Pr8uyXGeMTYIgmG0ClPPEMIz7hmGgXq8/6XQ6XUmSPAAgokmSJN8Gg0E3SZKHAE52ilGtVj/WajUiovx2j4gOGo3Gh0qlQts9+WciyxcA4HzzL0JJ0hchxHfGGPYCcrncuw0Xtp05jKLoqqqq3l5AqVQ6BoB0On2yCbEs67Kqqs8YYygUCi/32khEF5vN5vPFYnHT933EcTwBAEVR7Gw2C8YYwjD8ulqtGpzz97/Z2G63o9ls9nY6nQZRFOVTqdQ1Xdfzpml65XJ54Pv+FVmWDSHEbU3TXgVB8GnnJZ65cAlA5qx0CsDr9/uO67rd9XqdWS6XKyHEIed8ruxQ3APg7QAPAMB13W6xWPxs2/Zpr9f7u8chosxoNLo1Ho8dIlL+6fuIKL05/AMPJr+j+tXRAwAAAABJRU5ErkJggg==) -} - -.theme-dark .king-table-region .ug-menu { - box-shadow: 0 6px 12px #000; - background: #313131; - color: #DEDEDE -} - -.theme-dark .king-table-region .ug-menu li { - border-bottom: 1px solid grey -} - -.theme-dark .king-table-region .ug-menu li a, .theme-dark .king-table-region .ug-menu li label, .theme-dark .king-table-region .ug-menu li span { - color: #DEDEDE -} - -.theme-dark .king-table-region .ug-menu li a:focus, .theme-dark .king-table-region .ug-menu li a:hover, .theme-dark .king-table-region .ug-menu li label:focus, .theme-dark .king-table-region .ug-menu li label:hover, .theme-dark .king-table-region .ug-menu li span:focus, .theme-dark .king-table-region .ug-menu li span:hover { - color: #DEDEDE; - background-color: #222 -} - -.theme-dark .king-table-region .ug-menu li.open>a, .theme-dark .king-table-region .ug-menu li.open>label, .theme-dark .king-table-region .ug-menu li.open>span { - background-color: #222 -} - -.theme-dark { - color: #DEDEDE; - background-color: #000 -} - -.theme-dark a, .theme-dark a:focus, .theme-dark a:hover { - color: #DEDEDE -} - -.theme-dark .camo-btn { - color: #DADAD4 -} - -.theme-dark hr { - border-top: 1px solid #444; - border-bottom: 1px solid #000 -} - -.theme-dark input { - color: #000 -} - -.theme-dark [tabindex], .theme-dark [type=checkbox], .theme-dark input, .theme-dark select { - outline-color: #FFF!important -} - -.theme-dark .tooltip-inner { - opacity: 1; - background-color: #000 -} - -.theme-olive .king-table { - color: #1c2706; - background: #bebd63; - border: none; - font-family: Sans-Serif; - font-size: 12px; - line-height: 17px; - border-bottom: 1px solid #475f15 -} - -.theme-olive .filters-region { - background-color: #CBDF30 -} - -.theme-olive .king-table-gallery { - background-color: #233107; - color: #DCF043 -} - -.theme-olive .king-table-gallery li>span { - border-bottom: 1px solid #4C5D2C -} - -.theme-olive .king-table caption { - border: 1px solid #475f15; - font-weight: 700; - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFwABAAMAAAAAAAAAAAAAAAAAAAQGCP/EABwQAQACAQUAAAAAAAAAAAAAAAABFGECBFGR0f/EABcBAAMBAAAAAAAAAAAAAAAAAAEDBQf/xAAXEQEBAQEAAAAAAAAAAAAAAAAAEQIV/9oADAMBAAIRAxEAPwDSlrIr1rdcaOp9GK9vZsTq0YARIL//2Q==) top left #fff -} - -.theme-olive .king-table tr td.row-number { - width: 40px; - text-align: center; - color: #475f15 -} - -.theme-olive .king-table a { - color: #000 -} - -.theme-olive .king-table a:hover { - color: #C00 -} - -.theme-olive .king-table .king-table tr, .theme-olive .king-table .king-table-head tr { - width: 100% -} - -.theme-olive .king-table-body tr:hover:nth-child(even), .theme-olive .king-table-body tr:hover:nth-child(odd) { - background-color: #e6f0a3 -} - -.theme-olive .king-table-body tr:hover:nth-child(even).king-table-empty, .theme-olive .king-table-body tr:hover:nth-child(even).king-table-error, .theme-olive .king-table-body tr:hover:nth-child(odd).king-table-empty, .theme-olive .king-table-body tr:hover:nth-child(odd).king-table-error { - background: #bebd63 -} - -.theme-olive .king-table .king-table-head tr { - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFwABAAMAAAAAAAAAAAAAAAAAAAQGCP/EABwQAQACAQUAAAAAAAAAAAAAAAABFGECBFGR0f/EABcBAAMBAAAAAAAAAAAAAAAAAAEDBQf/xAAXEQEBAQEAAAAAAAAAAAAAAAAAEQIV/9oADAMBAAIRAxEAPwDSlrIr1rdcaOp9GK9vZsTq0YARIL//2Q==) top left repeat-x #dbf043; - height: 18px -} - -.theme-olive .king-table tr th { - text-align: left; - border: 1px solid #475f15 -} - -.theme-olive .king-table tr td { - line-height: 15px; - border-right: 1px solid #475f15; - border-bottom: 1px solid #475f15 -} - -.theme-olive .king-table tr td.row-number, .theme-olive .king-table tr th.row-number { - border: 1px solid #475f15; - border-top: 1px solid #475f15; - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAWAAEDASIAAhEBAxEB/8QAFwABAAMAAAAAAAAAAAAAAAAAAAUGCP/EABoQAQACAwEAAAAAAAAAAAAAAAACEwQUUZH/xAAXAQADAQAAAAAAAAAAAAAAAAABAwUH/8QAFxEBAAMAAAAAAAAAAAAAAAAAAAMSFf/aAAwDAQACEQMRAD8A0ptiv35PI+DE9qQ2qQogAjC//9k=) top left repeat-x #dbf043 -} - -.theme-olive .pagination-bar { - background-repeat: repeat-x; - background-position: top left; - background-image: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAeAAEDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAUECP/EAB0QAQABAwUAAAAAAAAAAAAAAAABAhNhAxQVU5H/xAAXAQADAQAAAAAAAAAAAAAAAAACAwYH/8QAGBEBAAMBAAAAAAAAAAAAAAAAABESFWH/2gAMAwEAAhEDEQA/AOlr+RE5DS7J8kY5s9Mqz7fAqW6ROQJ//9k=); - border: 1px solid #455b1b -} - -.theme-olive .pagination-bar .pagination-button, .theme-olive .pagination-bar .pagination-button-disabled, .theme-olive .pagination-bar .separator { - border: 1px solid transparent -} - -.theme-olive .pagination-bar .separator { - border-right: 1px solid #455b1b -} - -.theme-olive .kt-search-highlight { - background-color: #ff0 -} - -.theme-olive .king-table-gallery .kt-search-highlight { - background-color: #792323 -} - -.theme-olive .search-field { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcaBygLIDCvHQAAAdFJREFUKM+lk81rE1EUxc/LTCbjZGJTCZkqhZSSaMHgxEVdSTMrFUTcBJepEWkWCvoPSHEhrgSx7kQo2kWhSCsU6aIL3YgI1oqbYlOwi5aMGGw7qWnSZI4bI0Pawa+3epx37+8+zr0X+M8jOoWUoWcltm5KaGUEGG1CftkS0v1lu/rqt4CUoQ/Hg/XxmBbAAVkgIIDtXeLrdxeVhjy+9KVW8P1KytCzVkJhwdSc6ZHMXZIWSevN7Qs3CqbmnE+GmDL0i76Aof7IbD6tcvKKeYdkT1snGX196+z1fFpltk/76Au4dDy8lk+r9CZ7IddORZdzAyo73wLtiyLcgwAghCjvMUqIje1dupq8t/AvgNEded/2ojMoaUTMaq1+NBRSyr6AY4nDUwAQVxrPvZCkEUkcCjafaDLQfyQ269tGkrHRM71PS+uVc6ubLXxrBBYBICy5mUSXBE0G7Bq2VqrBoZLtfNh3DkgOzBRPDs8vfs7ZWztJAOgOK+UTffG5hdJ6rt509ZUNd7PSDGXbELGP4z0AegHoP6UdAOWFsaL18PHEmAdilmxn9Y9nnqT+7sHI5YKpOcXB6KdHV08bf704JPWlZ/dya29fWCTlf9o+kqo3+Qdpar4Yro3HOgAAAABJRU5ErkJggg==) -} - -.theme-olive .king-table-region .ug-menu { - box-shadow: 0 6px 12px #475F15; - background: #DDE979; - color: #455b1b -} - -.theme-olive .king-table-region .ug-menu li { - border-bottom: 1px solid #BEBD63 -} - -.theme-olive .king-table-region .ug-menu li a, .theme-olive .king-table-region .ug-menu li label, .theme-olive .king-table-region .ug-menu li span { - color: #455b1b -} - -.theme-olive .king-table-region .ug-menu li a:focus, .theme-olive .king-table-region .ug-menu li a:hover, .theme-olive .king-table-region .ug-menu li label:focus, .theme-olive .king-table-region .ug-menu li label:hover, .theme-olive .king-table-region .ug-menu li span:focus, .theme-olive .king-table-region .ug-menu li span:hover { - color: #455b1b; - background-color: #e6f0a3 -} - -.theme-olive .king-table-region .ug-menu li.open>a, .theme-olive .king-table-region .ug-menu li.open>label, .theme-olive .king-table-region .ug-menu li.open>span { - background-color: #e6f0a3 -} - -.theme-olive { - color: #455b1b; - background-color: #233107 -} - -.theme-olive .camo-btn { - color: #455b1b -} - -.theme-olive [tabindex], .theme-olive [type=checkbox], .theme-olive input, .theme-olive select { - outline-color: #25150a!important -} - -.theme-midnight [tabindex], .theme-midnight [type=checkbox], .theme-midnight input, .theme-midnight select, .theme-ultramarine [tabindex], .theme-ultramarine [type=checkbox], .theme-ultramarine input, .theme-ultramarine select { - outline-color: #c4feff!important -} - -.theme-olive hr { - border-top: 1px solid #afc423; - border-bottom: 1px solid #e3ee9f -} - -.theme-bronze .king-table-container { - border-top: 1px solid #533e29 -} - -.theme-bronze .filters-region { - background-color: #FFA92D; - border-bottom-color: #FFA92D -} - -.theme-bronze .king-table { - background: #DA832C; - border: none; - font-family: Sans-Serif; - font-size: 12px; - line-height: 17px; - border-bottom: 1px solid #533e29 -} - -.theme-bronze .king-table-gallery { - background-color: #3A1700; - color: #FFA53D -} - -.theme-bronze .king-table-gallery li>span { - border-bottom: 1px solid #533E29 -} - -.theme-bronze .king-table caption { - border: 1px solid #533e29; - font-weight: 700; - background: url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAYAAAA7zJfaAAAABmJLR0QA3wB5ABSzHNRVAAAACXBIWXMAAA6cAAAOnAEHlFPdAAAAB3RJTUUH3QkaFRIaz7uY6QAAAENJREFUCNdly7EJgFAQBNG5xUxswf4Tq7ICBUN3Df5pYvYYGLytURIkFobKEwIQdb2SW87cOvYT2e7NNqrU1/7iZrwPFLYoooBe/o4AAAAASUVORK5CYII=) top left #fff -} - -.theme-bronze .king-table tr td.row-number { - width: 40px; - text-align: center -} - -.theme-bronze .king-table a { - color: #000 -} - -.theme-bronze .king-table a:hover { - color: #C00 -} - -.theme-bronze .king-table .king-table tr, .theme-bronze .king-table .king-table-head tr { - width: 100%; - border-color: #483419 -} - -.theme-bronze .king-table-body tr:hover:nth-child(even), .theme-bronze .king-table-body tr:hover:nth-child(odd) { - background-color: #ffecb5 -} - -.theme-bronze .king-table-body tr:hover:nth-child(even).king-table-empty, .theme-bronze .king-table-body tr:hover:nth-child(even).king-table-error, .theme-bronze .king-table-body tr:hover:nth-child(odd).king-table-empty, .theme-bronze .king-table-body tr:hover:nth-child(odd).king-table-error { - background: #DA832C -} - -.theme-bronze .king-table .king-table-head tr { - height: 18px; - background: url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAYAAAA7zJfaAAAABmJLR0QA3wB5ABSzHNRVAAAACXBIWXMAAA6cAAAOnAEHlFPdAAAAB3RJTUUH3QkaFRIaz7uY6QAAAENJREFUCNdly7EJgFAQBNG5xUxswf4Tq7ICBUN3Df5pYvYYGLytURIkFobKEwIQdb2SW87cOvYT2e7NNqrU1/7iZrwPFLYoooBe/o4AAAAASUVORK5CYII=) top left repeat-x #E27D15; - border-bottom: 1px solid #000 -} - -.theme-bronze .king-table tr th { - text-align: left; - border-top: 1px solid #efb77c; - border-right: 1px solid #000 -} - -.theme-bronze .king-table tr td { - line-height: 15px; - border-right: 1px solid #483419; - border-bottom: 1px solid #483419 -} - -.theme-bronze .king-table tr td.row-number, .theme-bronze .king-table tr th.row-number { - background: url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAYAAAA7zJfaAAAABmJLR0QA3wB5ABSzHNRVAAAACXBIWXMAAA6cAAAOnAEHlFPdAAAAB3RJTUUH3QkaFRIaz7uY6QAAAENJREFUCNdly7EJgFAQBNG5xUxswf4Tq7ICBUN3Df5pYvYYGLytURIkFobKEwIQdb2SW87cOvYT2e7NNqrU1/7iZrwPFLYoooBe/o4AAAAASUVORK5CYII=) top left repeat-x #e27d15 -} - -.theme-bronze .pagination-bar { - background-repeat: repeat-x; - background-position: top left; - background-image: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAeAAEDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAQFBgf/xAAeEAEAAAUFAAAAAAAAAAAAAAAAAQIEE2EFFVWU0f/EABYBAQEBAAAAAAAAAAAAAAAAAAcDBP/EABkRAAIDAQAAAAAAAAAAAAAAAAASAQJREf/aAAwDAQACEQMRAD8A6Ps+kcVQ9eTwTgAPbZFZp0yV7Irrscjchfh//9k=) -} - -.theme-bronze .pagination-bar .pagination-button, .theme-bronze .pagination-bar .pagination-button-disabled, .theme-bronze .pagination-bar .separator { - border: 1px solid transparent -} - -.theme-bronze .pagination-bar .separator { - border-right: 1px solid #000 -} - -.theme-bronze .kt-search-highlight { - background-color: #ff0 -} - -.theme-bronze .king-table-gallery .kt-search-highlight { - background-color: #000 -} - -.theme-bronze .search-field { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcaBygLIDCvHQAAAdFJREFUKM+lk81rE1EUxc/LTCbjZGJTCZkqhZSSaMHgxEVdSTMrFUTcBJepEWkWCvoPSHEhrgSx7kQo2kWhSCsU6aIL3YgI1oqbYlOwi5aMGGw7qWnSZI4bI0Pawa+3epx37+8+zr0X+M8jOoWUoWcltm5KaGUEGG1CftkS0v1lu/rqt4CUoQ/Hg/XxmBbAAVkgIIDtXeLrdxeVhjy+9KVW8P1KytCzVkJhwdSc6ZHMXZIWSevN7Qs3CqbmnE+GmDL0i76Aof7IbD6tcvKKeYdkT1snGX196+z1fFpltk/76Au4dDy8lk+r9CZ7IddORZdzAyo73wLtiyLcgwAghCjvMUqIje1dupq8t/AvgNEded/2ojMoaUTMaq1+NBRSyr6AY4nDUwAQVxrPvZCkEUkcCjafaDLQfyQ269tGkrHRM71PS+uVc6ubLXxrBBYBICy5mUSXBE0G7Bq2VqrBoZLtfNh3DkgOzBRPDs8vfs7ZWztJAOgOK+UTffG5hdJ6rt509ZUNd7PSDGXbELGP4z0AegHoP6UdAOWFsaL18PHEmAdilmxn9Y9nnqT+7sHI5YKpOcXB6KdHV08bf704JPWlZ/dya29fWCTlf9o+kqo3+Qdpar4Yro3HOgAAAABJRU5ErkJggg==) -} - -.theme-bronze .king-table-region .ug-menu { - box-shadow: 0 6px 12px #691010; - background: #FFA92D; - color: #3a1700 -} - -.theme-bronze .king-table-region .ug-menu li { - border-bottom: 1px solid #4A1111 -} - -.theme-bronze .king-table-region .ug-menu li a, .theme-bronze .king-table-region .ug-menu li label, .theme-bronze .king-table-region .ug-menu li span { - color: #3a1700 -} - -.theme-bronze .king-table-region .ug-menu li a:focus, .theme-bronze .king-table-region .ug-menu li a:hover, .theme-bronze .king-table-region .ug-menu li label:focus, .theme-bronze .king-table-region .ug-menu li label:hover, .theme-bronze .king-table-region .ug-menu li span:focus, .theme-bronze .king-table-region .ug-menu li span:hover { - color: #3a1700; - background-color: #ffecb5 -} - -.theme-bronze .king-table-region .ug-menu li.open>a, .theme-bronze .king-table-region .ug-menu li.open>label, .theme-bronze .king-table-region .ug-menu li.open>span { - background-color: #ffecb5 -} - -.theme-bronze { - color: #000; - background-color: #3a1700 -} - -.theme-bronze hr { - border-top: 1px solid #a82d00; - border-bottom: 1px solid #ffab25 -} - -.theme-ultramarine .king-table-container { - border-top: 1px solid #071436 -} - -.theme-ultramarine .filters-region { - background-color: #275E8E; - border-bottom: 1px solid #275E8E -} - -.theme-ultramarine .king-table { - background: #0b2258; - border: none; - font-family: Sans-Serif; - font-size: 12px; - line-height: 17px; - border-bottom: 1px solid #071436 -} - -.theme-ultramarine .king-table tr { - color: #BEE0FF -} - -.theme-ultramarine .king-table-gallery { - background-color: #05385A; - color: #7DB3EF -} - -.theme-ultramarine .king-table-gallery li>span { - border-bottom: 1px solid #000 -} - -.theme-ultramarine .king-table caption { - border: 1px solid #071436; - font-weight: 700; - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAYB/8QAGRABAQEAAwAAAAAAAAAAAAAAAAEUUVKh/8QAFgEBAQEAAAAAAAAAAAAAAAAABwED/8QAFhEBAQEAAAAAAAAAAAAAAAAAABES/9oADAMBAAIRAxEAPwDNt59ExuvaBBH2kxvoCMa//9k=) top left #fff -} - -.theme-ultramarine .king-table tr td.row-number { - width: 40px; - text-align: center; - color: #071436 -} - -.theme-ultramarine .king-table a, .theme-ultramarine .king-table a:focus, .theme-ultramarine .king-table a:hover { - color: #BEE0FF -} - -.theme-ultramarine .king-table a:hover { - color: #C00 -} - -.theme-ultramarine .king-table .king-table tr, .theme-ultramarine .king-table .king-table-head tr { - width: 100%; - border-color: #483419 -} - -.theme-ultramarine .king-table .king-table tr { - color: #5498d2 -} - -.theme-ultramarine .king-table-body tr:hover:nth-child(even), .theme-ultramarine .king-table-body tr:hover:nth-child(odd) { - background-color: #071436 -} - -.theme-ultramarine .king-table-body tr:hover:nth-child(even).king-table-empty, .theme-ultramarine .king-table-body tr:hover:nth-child(even).king-table-error, .theme-ultramarine .king-table-body tr:hover:nth-child(odd).king-table-empty, .theme-ultramarine .king-table-body tr:hover:nth-child(odd).king-table-error { - background: #0b2258 -} - -.theme-ultramarine .king-table .king-table-head tr, .theme-ultramarine .king-table tr td.row-number, .theme-ultramarine .king-table tr th.row-number { - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAYB/8QAGRABAQEAAwAAAAAAAAAAAAAAAAEUUVKh/8QAFgEBAQEAAAAAAAAAAAAAAAAABwED/8QAFhEBAQEAAAAAAAAAAAAAAAAAABES/9oADAMBAAIRAxEAPwDNt59ExuvaBBH2kxvoCMa//9k=) top left repeat-x #07578c -} - -.theme-ultramarine .king-table .king-table-head tr { - height: 18px -} - -.theme-ultramarine .king-table tr th { - text-align: left; - border: 1px solid #09165a; - border-top: 1px solid #6080bd -} - -.theme-ultramarine .king-table tr td { - line-height: 15px; - border-right: 1px solid #09165a; - border-bottom: 1px solid #09165a -} - -.theme-ultramarine .pagination-bar { - background-repeat: repeat-x; - background-position: top left; - background-image: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAeAAEDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAcEAEAAQQDAAAAAAAAAAAAAAAAAgEUFWFRYqH/xAAWAQEBAQAAAAAAAAAAAAAAAAAGAAT/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEv/aAAwDAQACEQMRAD8AscjHkSmR7eh+D2kL+uxKXs9iZbf/2Q==); - border: 1px solid #1e2d9e -} - -.theme-ultramarine .pagination-bar .pagination-button, .theme-ultramarine .pagination-bar .pagination-button-disabled, .theme-ultramarine .pagination-bar .separator { - border: 1px solid transparent -} - -.theme-ultramarine .pagination-bar .separator { - border-right: 1px solid #071436 -} - -.theme-ultramarine .kt-search-highlight { - background-color: #630404 -} - -.theme-ultramarine .search-field { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcaByk3FkTi2wAAAcdJREFUKM+lkzFoE2EUx//fd/FyXi8lV47LlQSqklinJu7S3KQVUZfgmBgQOyjoqouTdBKEunUpbQfBQYUiDoK6iItVcak2BStUUjHGeg1eSu7+DhoJbQ+1vunj/3g/3vt/7wH/GWKrYJi5YhAql4NQKZAiGVM6TxQZ3NxoLj39I8Awc5V2aE9L1YKQewFIMGwh3PyMGBrT39cXq5GtGGauqJou9XTVK4zdnSDpknRPnnt+SU9Xvbh1goaZOx0JSNij85pTZv7o7eskna5OMnms8uyi5pSpW8U3kYC+wTOrmlNmb3EvJLn/wpJml7g1J7uPEGo/AAgh6tuMEuIrg1YIqSMSkOhPvex6sW08M5tv+xsHVTVejwQMZobvAMAm7fu9kMRAdqiDgRlIHVbqwHzkN5K0MiPXZhufamOBvwLJ5qufo/UVFG0IkDrQWfu2J1ge9Zq11zvuAclDh4/fq7x/+6jkt9ayAKBqZt1Ojzz8+GGhFHbaRugvr8dlo9iFiB0cdwBkABi/JB9Affzqgjs3c2vyN0Rp5L0vtZW/3nmSxvkrL87q6aqX3Df+7sipqdQ/Hw5J48bUYunB41WXZGxX10dS6y3+AfpUvSB00xFiAAAAAElFTkSuQmCC) -} - -.theme-ultramarine .king-table-region .ug-menu { - box-shadow: 0 6px 12px #081125; - background: #619CD6; - color: #000 -} - -.theme-ultramarine .king-table-region .ug-menu li { - border-bottom: 1px solid #2873AC -} - -.theme-ultramarine .king-table-region .ug-menu li a, .theme-ultramarine .king-table-region .ug-menu li label, .theme-ultramarine .king-table-region .ug-menu li span { - color: #455b1b -} - -.theme-ultramarine .king-table-region .ug-menu li a:focus, .theme-ultramarine .king-table-region .ug-menu li a:hover, .theme-ultramarine .king-table-region .ug-menu li label:focus, .theme-ultramarine .king-table-region .ug-menu li label:hover, .theme-ultramarine .king-table-region .ug-menu li span:focus, .theme-ultramarine .king-table-region .ug-menu li span:hover { - color: #455b1b; - background-color: #7DB3EF -} - -.theme-ultramarine .king-table-region .ug-menu li.open>a, .theme-ultramarine .king-table-region .ug-menu li.open>label, .theme-ultramarine .king-table-region .ug-menu li.open>span { - background-color: #7DB3EF -} - -.theme-ultramarine { - color: #071436; - background-color: #010004 -} - -.theme-ultramarine .camo-btn { - color: #071436 -} - -.theme-ultramarine hr { - border-top: 1px solid #09165a; - border-bottom: 1px solid #5252b3 -} - -.theme-midnight .king-table-container { - border-top: 1px solid #222 -} - -.theme-midnight .filters-region { - border-bottom-color: #000 -} - -.theme-midnight .king-table { - color: #c4feff; - background: #000; - border: none; - font-family: Sans-Serif; - font-size: 12px; - line-height: 17px; - border-bottom: 1px solid #666 -} - -.theme-midnight .king-table caption { - border: 1px solid #d0d0d0; - font-weight: 700; - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAYAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAcF/8QAHhABAAAFBQAAAAAAAAAAAAAAAAEDFBUXUVVipOL/xAAVAQEBAAAAAAAAAAAAAAAAAAABA//EABYRAQEBAAAAAAAAAAAAAAAAAAASAf/aAAwDAQACEQMRAD8A27xyEHylM2ns+Q0lOpVUQ1ACr//Z) top left repeat-x #000 -} - -.theme-midnight .king-table tr td.row-number { - width: 40px; - text-align: center -} - -.theme-midnight .king-table a { - color: #00becf -} - -.theme-midnight .king-table a:hover { - color: #FFF -} - -.theme-midnight .king-table .king-table tr, .theme-midnight .king-table .king-table-head tr { - width: 100%; - border-color: #333 -} - -.theme-midnight .king-table-body tr:hover:nth-child(even), .theme-midnight .king-table-body tr:hover:nth-child(odd) { - background-color: #06002a -} - -.theme-midnight .king-table-body tr:hover:nth-child(even).king-table-empty, .theme-midnight .king-table-body tr:hover:nth-child(even).king-table-error, .theme-midnight .king-table-body tr:hover:nth-child(odd).king-table-empty, .theme-midnight .king-table-body tr:hover:nth-child(odd).king-table-error { - background: #000 -} - -.theme-midnight .king-table .king-table-head tr { - background-color: #000; - border-bottom: 1px solid #222; - height: 18px -} - -.theme-midnight .king-table tr th { - text-align: left; - border-top: 1px solid #222 -} - -.theme-midnight .king-table tr td { - line-height: 15px; - border-right: 1px solid #222; - border-bottom: 1px solid #222 -} - -.theme-midnight .king-table tr td.row-number, .theme-midnight .king-table tr th.row-number { - border-top: 1px solid #222; - background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAXwBfAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAWAAEDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAYH/8QAGBABAAMBAAAAAAAAAAAAAAAAAAIUYmH/xAAUAQEAAAAAAAAAAAAAAAAAAAAC/8QAFREBAQAAAAAAAAAAAAAAAAAAABH/2gAMAwEAAhEDEQA/AMTv6Erf0HRiWuT6ABP/2Q==) top left repeat-x #000 -} - -.theme-midnight .pagination-bar { - background-repeat: repeat-x; - background-position: top left; - background-image: url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAYAAADtlXTHAAAABmJLR0QAigA6AAVbg4eFAAAACXBIWXMAAA6cAAAOnAEHlFPdAAAAB3RJTUUH3QcKDRQh1fbNfQAAAElJREFUCNdVikEKwDAMwxRD2fP3gLGPxinZYWWsFyEbcV53q6pQpZGdC+ncP6Ny8sZretmchnGMFoCC4LUfAhQdiGhEg/i62OIHIVwwSHkNyBEAAAAASUVORK5CYII=) -} - -.theme-midnight .pagination-bar .pagination-button, .theme-midnight .pagination-bar .pagination-button-disabled, .theme-midnight .pagination-bar .separator { - border: 1px solid transparent -} - -.theme-midnight .pagination-bar .separator { - border-right: 1px solid #1C3131 -} - -.theme-midnight .kt-search-highlight { - background-color: #3a3ae4 -} - -.theme-midnight .search-field { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAYAAAAmL5yKAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcZEDE7ljUssgAAAeNJREFUKM+lk81PE1EUxc+b99op40SKfHQIJkZDAU0DmGg1fsFCie5YdEnSEP8BWGgM6A5M40LUrlFUdm4gcWHAhZgIbtS6IsRGQ0LjzCSUEZqinY/rQoY0xUaNd3Vz8u7v5p13HvCfxSqFvtSdHrWlZUgOh7t5MBgumuarQi53b+7G9YU/Aq5M3E9GTp6YQlAGBP8lOi5Q+gHrU3ZqZjA5WAng5Zubz56Z8UKhAj9Qd/fhsaO3+pu1x4tCZArb2+dq6hviWnt7Jjs/t1IOEH5T2xa9BkWBUGoeTB45nGaM6QBARJlhItcyjHRdLDYGYLYcIPlNSNOOA8BkNLo7DACMMWtCi0w7tp2Vm5pilVfYBbBAYP/OgL7HKMYs2LYHzlEV4HreB9+LykOXxm93CVlucx1HrwoQsvwMACLx+Gw55OLY+KH6zs4n4BwEPK/6jETUMPDu/dOAJF1GsYiiYWYAQGls7MY+BeAc7lZhU3+9cGF+dOTjb3NARB1XP39JlvL5hJCkVgBwiXQWlF/ALiUkxlRnw/pmvF3q8SF7kkhEGoCDANQd6TsAPWWavctrubQP0ZcWu17eHF1lf5t5IlJTpplYXsulPcf5GiA6/+j0KeOfPg4RqdPr+cSbza1eIhIA8BOAQ7mCZoIs4QAAAABJRU5ErkJggg==) -} - -.theme-midnight .king-table-container .preloader-mask { - opacity: .5; - background-color: #091431 -} - -.theme-midnight .king-table-region .ug-menu { - box-shadow: 0 6px 12px #4347B3; - background: #111; - color: #c4feff -} - -.theme-midnight .king-table-region .ug-menu li { - border-bottom: 1px solid #000 -} - -.theme-midnight .king-table-region .ug-menu li a, .theme-midnight .king-table-region .ug-menu li label, .theme-midnight .king-table-region .ug-menu li span { - color: #c4feff -} - -.theme-midnight .king-table-region .ug-menu li a:focus, .theme-midnight .king-table-region .ug-menu li a:hover, .theme-midnight .king-table-region .ug-menu li label:focus, .theme-midnight .king-table-region .ug-menu li label:hover, .theme-midnight .king-table-region .ug-menu li span:focus, .theme-midnight .king-table-region .ug-menu li span:hover { - color: #c4feff; - background-color: #000; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAAWCAYAAAASPXQbAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcMEw8zvKqmCQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAkklEQVRo3u3aQRLCIAxA0R/Bo3s2D1U6uMEpIsXu3Pw3wzQNIU33BMDjWTOQgNxWauve5fv9vubIBYn6sT8/F2Tqsu8qvnqun3+szcBt+L9Z7wLs7XkW97n3+06wUZf1v3rN+37n5nFQ2ve3of/YoxDsJ7PO5pAkSZIkSZIkSZIkSZIkSZL0RwFeAsdL4Jcvgb8Adb+Yn8Y8eNcAAAAASUVORK5CYII=); - background-repeat: no-repeat; - background-position: center -} - -.theme-midnight .king-table-region .ug-menu li.open>a, .theme-midnight .king-table-region .ug-menu li.open>label, .theme-midnight .king-table-region .ug-menu li.open>span { - background-color: #000; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAAWCAYAAAASPXQbAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcMEw8zvKqmCQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAkklEQVRo3u3aQRLCIAxA0R/Bo3s2D1U6uMEpIsXu3Pw3wzQNIU33BMDjWTOQgNxWauve5fv9vubIBYn6sT8/F2Tqsu8qvnqun3+szcBt+L9Z7wLs7XkW97n3+06wUZf1v3rN+37n5nFQ2ve3of/YoxDsJ7PO5pAkSZIkSZIkSZIkSZIkSZL0RwFeAsdL4Jcvgb8Adb+Yn8Y8eNcAAAAASUVORK5CYII=); - background-repeat: no-repeat; - background-position: center -} - -.theme-midnight { - color: #c4feff; - background-color: #000 -} - -.theme-midnight .camo-btn { - color: #c4feff -} - -.theme-midnight input, .theme-midnight select, .theme-midnight textarea { - background-color: #000; - border-color: #333; - color: #c4feff -} - -.theme-midnight hr { - border-top: 1px solid #02232a; - border-bottom: 1px solid #106274 -} - -.king-table-container .preloader-mask { - height: 100%; - width: 100%; - min-height: 300px; - position: absolute; - top: 0; - opacity: .5; - background-color: #fff -} - -.king-table-container .preloader-mask .preloader-icon { - position: absolute; - background-repeat: no-repeat; - background-position: 50% 50%; - height: 100%; - width: 100% -} - -.king-table-region *, .king-table-region :after, .king-table-region :before { - box-sizing: content-box; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box -} - -.king-table-region .btn { - font-size: 12px -} - -.king-table-region .camo-btn { - background: 0 0; - border: none; - padding: 3px 10px; - font-style: italic; - cursor: pointer -} - -.king-table-region .camo-btn:focus, .king-table-region .camo-btn:hover { - text-decoration: underline -} - -.king-table-region .uneditable-input, .king-table-region input[type=text], .king-table-region input[type=week], .king-table-region input[type=number], .king-table-region input[type=email], .king-table-region input[type=url], .king-table-region input[type=search], .king-table-region input[type=tel], .king-table-region input[type=color], .king-table-region input[type=password], .king-table-region input[type=datetime], .king-table-region input[type=datetime-local], .king-table-region input[type=date], .king-table-region input[type=month], .king-table-region input[type=time], .king-table-region select, .king-table-region textarea { - margin-bottom: 10px; - background-color: #fff; - border: 1px solid #ccc; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border linear .2s, box-shadow linear .2s; - -moz-transition: border linear .2s, box-shadow linear .2s; - -o-transition: border linear .2s, box-shadow linear .2s; - transition: border linear .2s, box-shadow linear .2s; - display: inline-block; - padding: 2px 4px; - color: #555; - vertical-align: middle; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - font-size: 11px -} - -.king-table-region .king-table-caption, .king-table-region caption { - text-align: left; - padding: 5px; - font-weight: 400; - font-size: 12px; - border-bottom: 1px solid #ccc; - line-height: 20px; - border-top: 1px solid #ccc -} - -.king-table-head { - height: 19px; - white-space: nowrap -} - -.king-table-body { - padding: 0; - margin: 0 -} - -.king-table-gallery { - list-style-type: none; - padding: 0; - margin: 0; - font-size: 12px -} - -.king-table-gallery>ul>li { - float: left; - padding: 10px 20px; - list-style: none; - margin: 0 -} - -.king-table-gallery>ul>li>span { - display: block; - padding: 3px 0; - border-bottom: 1px solid #E0E0E0; - cursor: default -} - -.king-table-gallery>ul>li .item-number { - font-weight: 700 -} - -.king-table-gallery .break { - clear: both -} - -.king-table-empty, .king-table-error { - padding: 5px 6px; - font-size: 12px -} - -.king-table { - width: 100%; - cursor: default; - font-size: 12px; - border-collapse: collapse -} - -.king-table .loading-info { - vertical-align: middle; - padding: 5px 6px -} - -.king-table .loading-text { - display: inline-block; - vertical-align: top; - margin-top: 2px -} - -.king-table .mini-loader { - background-image: url(../img/tiny-loader.gif); - background-repeat: no-repeat; - background-position: top; - background-size: 16px 16px; - display: inline-block; - width: 20px; - height: 20px; - margin: 4px -} - -.king-table tr td, .king-table tr th { - font-size: 12px; - padding-left: 5px -} - -.king-table tr td.detail-link a, .king-table tr th.detail-link a { - padding: 4px -} - -.king-table tr th { - text-align: left; - font-family: Verdana, Tahoma, Helvetica, Geneva -} - -.king-table tr td { - padding: 5px 10px 5px 5px -} - -.king-table.special-order .order-asc, .king-table.special-order .order-desc { - display: none -} - -.king-table .king-table-head tr .order-desc { - background-repeat: no-repeat; - background-position: -60px 0; - visibility: hidden -} - -.king-table .king-table-go-to-cell { - width: 30px -} - -.king-table .king-table-head tr .order-asc { - background-repeat: no-repeat; - background-position: 5px 0; - visibility: hidden -} - -.king-table .king-table-head th.current-sort .order-asc, .king-table .king-table-head th.current-sort .order-desc { - visibility: visible -} - -.king-table.row-number-no-bgimg .row-number { - background-image: none!important -} - -.king-table-head th-container { - position: relative; - padding-left: 4px -} - -.king-table-head th .smart-column-options { - background-repeat: no-repeat; - background-position: -194px -112px; - position: absolute; - right: 0; - top: 0 -} - -.king-table-head th { - position: relative -} - -.king-table-head th .resize-handler { - cursor: col-resize; - position: absolute; - right: -1px; - top: -1px; - width: 7px; - height: 18px -} - -.king-table-head th-container.tools-cell { - text-align: center; - padding-left: 0; - cursor: pointer -} - -.kt-search-active.kt-search-active .kt-sort-glyph { - display: none!important -} - -.kt-filters { - padding: 0 15px -} - -.kt-filters.kt-expandable { - display: none -} - -.kt-filters.kt-expandable.kt-open { - display: block -} - -@font-face { - font-family: Icons; - src: url(fonts/open-iconic.eot); - src: url(fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'), url(fonts/open-iconic.woff) format('woff'), url(fonts/open-iconic.ttf) format('truetype'), url(fonts/open-iconic.otf) format('opentype'), url(fonts/open-iconic.svg#iconic-sm) format('svg'); - font-weight: 400; - font-style: normal -} - -.oi[data-glyph].oi-text-replace { - font-size: 0; - line-height: 0 -} - -.oi[data-glyph].oi-text-replace:before { - width: 1em; - text-align: center -} - -.oi[data-glyph]:before { - position: relative; - top: 1px; - font-family: Icons; - display: inline-block; - speak: none; - line-height: 1; - vertical-align: baseline; - font-weight: 400; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale -} - -.oi[data-glyph]:empty:before { - width: 1em; - text-align: center; - box-sizing: content-box -} - -.oi[data-glyph].oi-align-left:before { - text-align: left -} - -.oi[data-glyph].oi-align-right:before { - text-align: right -} - -.oi[data-glyph].oi-align-center:before { - text-align: center -} - -.oi[data-glyph].oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1) -} - -.oi[data-glyph].oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1) -} - -.oi[data-glyph].oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1) -} - -.oi[data-glyph=account-login]:before { - content: '\e000' -} - -.oi[data-glyph=account-logout]:before { - content: '\e001' -} - -.oi[data-glyph=action-redo]:before { - content: '\e002' -} - -.oi[data-glyph=action-undo]:before { - content: '\e003' -} - -.oi[data-glyph=align-center]:before { - content: '\e004' -} - -.oi[data-glyph=align-left]:before { - content: '\e005' -} - -.oi[data-glyph=align-right]:before { - content: '\e006' -} - -.oi[data-glyph=aperture]:before { - content: '\e007' -} - -.oi[data-glyph=arrow-bottom]:before { - content: '\e008' -} - -.oi[data-glyph=arrow-circle-bottom]:before { - content: '\e009' -} - -.oi[data-glyph=arrow-circle-left]:before { - content: '\e00a' -} - -.oi[data-glyph=arrow-circle-right]:before { - content: '\e00b' -} - -.oi[data-glyph=arrow-circle-top]:before { - content: '\e00c' -} - -.oi[data-glyph=arrow-left]:before { - content: '\e00d' -} - -.oi[data-glyph=arrow-right]:before { - content: '\e00e' -} - -.oi[data-glyph=arrow-thick-bottom]:before { - content: '\e00f' -} - -.oi[data-glyph=arrow-thick-left]:before { - content: '\e010' -} - -.oi[data-glyph=arrow-thick-right]:before { - content: '\e011' -} - -.oi[data-glyph=arrow-thick-top]:before { - content: '\e012' -} - -.oi[data-glyph=arrow-top]:before { - content: '\e013' -} - -.oi[data-glyph=audio-spectrum]:before { - content: '\e014' -} - -.oi[data-glyph=audio]:before { - content: '\e015' -} - -.oi[data-glyph=badge]:before { - content: '\e016' -} - -.oi[data-glyph=ban]:before { - content: '\e017' -} - -.oi[data-glyph=bar-chart]:before { - content: '\e018' -} - -.oi[data-glyph=basket]:before { - content: '\e019' -} - -.oi[data-glyph=battery-empty]:before { - content: '\e01a' -} - -.oi[data-glyph=battery-full]:before { - content: '\e01b' -} - -.oi[data-glyph=beaker]:before { - content: '\e01c' -} - -.oi[data-glyph=bell]:before { - content: '\e01d' -} - -.oi[data-glyph=bluetooth]:before { - content: '\e01e' -} - -.oi[data-glyph=bold]:before { - content: '\e01f' -} - -.oi[data-glyph=bolt]:before { - content: '\e020' -} - -.oi[data-glyph=book]:before { - content: '\e021' -} - -.oi[data-glyph=bookmark]:before { - content: '\e022' -} - -.oi[data-glyph=box]:before { - content: '\e023' -} - -.oi[data-glyph=briefcase]:before { - content: '\e024' -} - -.oi[data-glyph=british-pound]:before { - content: '\e025' -} - -.oi[data-glyph=browser]:before { - content: '\e026' -} - -.oi[data-glyph=brush]:before { - content: '\e027' -} - -.oi[data-glyph=bug]:before { - content: '\e028' -} - -.oi[data-glyph=bullhorn]:before { - content: '\e029' -} - -.oi[data-glyph=calculator]:before { - content: '\e02a' -} - -.oi[data-glyph=calendar]:before { - content: '\e02b' -} - -.oi[data-glyph=camera-slr]:before { - content: '\e02c' -} - -.oi[data-glyph=caret-bottom]:before { - content: '\e02d' -} - -.oi[data-glyph=caret-left]:before { - content: '\e02e' -} - -.oi[data-glyph=caret-right]:before { - content: '\e02f' -} - -.oi[data-glyph=caret-top]:before { - content: '\e030' -} - -.oi[data-glyph=cart]:before { - content: '\e031' -} - -.oi[data-glyph=chat]:before { - content: '\e032' -} - -.oi[data-glyph=check]:before { - content: '\e033' -} - -.oi[data-glyph=chevron-bottom]:before { - content: '\e034' -} - -.oi[data-glyph=chevron-left]:before { - content: '\e035' -} - -.oi[data-glyph=chevron-right]:before { - content: '\e036' -} - -.oi[data-glyph=chevron-top]:before { - content: '\e037' -} - -.oi[data-glyph=circle-check]:before { - content: '\e038' -} - -.oi[data-glyph=circle-x]:before { - content: '\e039' -} - -.oi[data-glyph=clipboard]:before { - content: '\e03a' -} - -.oi[data-glyph=clock]:before { - content: '\e03b' -} - -.oi[data-glyph=cloud-download]:before { - content: '\e03c' -} - -.oi[data-glyph=cloud-upload]:before { - content: '\e03d' -} - -.oi[data-glyph=cloud]:before { - content: '\e03e' -} - -.oi[data-glyph=cloudy]:before { - content: '\e03f' -} - -.oi[data-glyph=code]:before { - content: '\e040' -} - -.oi[data-glyph=cog]:before { - content: '\e041' -} - -.oi[data-glyph=collapse-down]:before { - content: '\e042' -} - -.oi[data-glyph=collapse-left]:before { - content: '\e043' -} - -.oi[data-glyph=collapse-right]:before { - content: '\e044' -} - -.oi[data-glyph=collapse-up]:before { - content: '\e045' -} - -.oi[data-glyph=command]:before { - content: '\e046' -} - -.oi[data-glyph=comment-square]:before { - content: '\e047' -} - -.oi[data-glyph=compass]:before { - content: '\e048' -} - -.oi[data-glyph=contrast]:before { - content: '\e049' -} - -.oi[data-glyph=copywriting]:before { - content: '\e04a' -} - -.oi[data-glyph=credit-card]:before { - content: '\e04b' -} - -.oi[data-glyph=crop]:before { - content: '\e04c' -} - -.oi[data-glyph=dashboard]:before { - content: '\e04d' -} - -.oi[data-glyph=data-transfer-download]:before { - content: '\e04e' -} - -.oi[data-glyph=data-transfer-upload]:before { - content: '\e04f' -} - -.oi[data-glyph=delete]:before { - content: '\e050' -} - -.oi[data-glyph=dial]:before { - content: '\e051' -} - -.oi[data-glyph=document]:before { - content: '\e052' -} - -.oi[data-glyph=dollar]:before { - content: '\e053' -} - -.oi[data-glyph=double-quote-sans-left]:before { - content: '\e054' -} - -.oi[data-glyph=double-quote-sans-right]:before { - content: '\e055' -} - -.oi[data-glyph=double-quote-serif-left]:before { - content: '\e056' -} - -.oi[data-glyph=double-quote-serif-right]:before { - content: '\e057' -} - -.oi[data-glyph=droplet]:before { - content: '\e058' -} - -.oi[data-glyph=eject]:before { - content: '\e059' -} - -.oi[data-glyph=elevator]:before { - content: '\e05a' -} - -.oi[data-glyph=ellipses]:before { - content: '\e05b' -} - -.oi[data-glyph=envelope-closed]:before { - content: '\e05c' -} - -.oi[data-glyph=envelope-open]:before { - content: '\e05d' -} - -.oi[data-glyph=euro]:before { - content: '\e05e' -} - -.oi[data-glyph=excerpt]:before { - content: '\e05f' -} - -.oi[data-glyph=expand-down]:before { - content: '\e060' -} - -.oi[data-glyph=expand-left]:before { - content: '\e061' -} - -.oi[data-glyph=expand-right]:before { - content: '\e062' -} - -.oi[data-glyph=expand-up]:before { - content: '\e063' -} - -.oi[data-glyph=external-link]:before { - content: '\e064' -} - -.oi[data-glyph=eye]:before { - content: '\e065' -} - -.oi[data-glyph=eyedropper]:before { - content: '\e066' -} - -.oi[data-glyph=file]:before { - content: '\e067' -} - -.oi[data-glyph=fire]:before { - content: '\e068' -} - -.oi[data-glyph=flag]:before { - content: '\e069' -} - -.oi[data-glyph=flash]:before { - content: '\e06a' -} - -.oi[data-glyph=folder]:before { - content: '\e06b' -} - -.oi[data-glyph=fork]:before { - content: '\e06c' -} - -.oi[data-glyph=fullscreen-enter]:before { - content: '\e06d' -} - -.oi[data-glyph=fullscreen-exit]:before { - content: '\e06e' -} - -.oi[data-glyph=globe]:before { - content: '\e06f' -} - -.oi[data-glyph=graph]:before { - content: '\e070' -} - -.oi[data-glyph=grid-four-up]:before { - content: '\e071' -} - -.oi[data-glyph=grid-three-up]:before { - content: '\e072' -} - -.oi[data-glyph=grid-two-up]:before { - content: '\e073' -} - -.oi[data-glyph=hard-drive]:before { - content: '\e074' -} - -.oi[data-glyph=header]:before { - content: '\e075' -} - -.oi[data-glyph=headphones]:before { - content: '\e076' -} - -.oi[data-glyph=heart]:before { - content: '\e077' -} - -.oi[data-glyph=home]:before { - content: '\e078' -} - -.oi[data-glyph=image]:before { - content: '\e079' -} - -.oi[data-glyph=inbox]:before { - content: '\e07a' -} - -.oi[data-glyph=infinity]:before { - content: '\e07b' -} - -.oi[data-glyph=info]:before { - content: '\e07c' -} - -.oi[data-glyph=italic]:before { - content: '\e07d' -} - -.oi[data-glyph=justify-center]:before { - content: '\e07e' -} - -.oi[data-glyph=justify-left]:before { - content: '\e07f' -} - -.oi[data-glyph=justify-right]:before { - content: '\e080' -} - -.oi[data-glyph=key]:before { - content: '\e081' -} - -.oi[data-glyph=laptop]:before { - content: '\e082' -} - -.oi[data-glyph=layers]:before { - content: '\e083' -} - -.oi[data-glyph=lightbulb]:before { - content: '\e084' -} - -.oi[data-glyph=link-broken]:before { - content: '\e085' -} - -.oi[data-glyph=link-intact]:before { - content: '\e086' -} - -.oi[data-glyph=list-rich]:before { - content: '\e087' -} - -.oi[data-glyph=list]:before { - content: '\e088' -} - -.oi[data-glyph=location]:before { - content: '\e089' -} - -.oi[data-glyph=lock-locked]:before { - content: '\e08a' -} - -.oi[data-glyph=lock-unlocked]:before { - content: '\e08b' -} - -.oi[data-glyph=loop-circular]:before { - content: '\e08c' -} - -.oi[data-glyph=loop-square]:before { - content: '\e08d' -} - -.oi[data-glyph=loop]:before { - content: '\e08e' -} - -.oi[data-glyph=magnifying-glass]:before { - content: '\e08f' -} - -.oi[data-glyph=map-marker]:before { - content: '\e090' -} - -.oi[data-glyph=map]:before { - content: '\e091' -} - -.oi[data-glyph=media-pause]:before { - content: '\e092' -} - -.oi[data-glyph=media-play]:before { - content: '\e093' -} - -.oi[data-glyph=media-record]:before { - content: '\e094' -} - -.oi[data-glyph=media-skip-backward]:before { - content: '\e095' -} - -.oi[data-glyph=media-skip-forward]:before { - content: '\e096' -} - -.oi[data-glyph=media-step-backward]:before { - content: '\e097' -} - -.oi[data-glyph=media-step-forward]:before { - content: '\e098' -} - -.oi[data-glyph=media-stop]:before { - content: '\e099' -} - -.oi[data-glyph=medical-cross]:before { - content: '\e09a' -} - -.oi[data-glyph=menu]:before { - content: '\e09b' -} - -.oi[data-glyph=microphone]:before { - content: '\e09c' -} - -.oi[data-glyph=minus]:before { - content: '\e09d' -} - -.oi[data-glyph=monitor]:before { - content: '\e09e' -} - -.oi[data-glyph=moon]:before { - content: '\e09f' -} - -.oi[data-glyph=move]:before { - content: '\e0a0' -} - -.oi[data-glyph=musical-note]:before { - content: '\e0a1' -} - -.oi[data-glyph=paperclip]:before { - content: '\e0a2' -} - -.oi[data-glyph=pencil]:before { - content: '\e0a3' -} - -.oi[data-glyph=people]:before { - content: '\e0a4' -} - -.oi[data-glyph=person]:before { - content: '\e0a5' -} - -.oi[data-glyph=phone]:before { - content: '\e0a6' -} - -.oi[data-glyph=pie-chart]:before { - content: '\e0a7' -} - -.oi[data-glyph=pin]:before { - content: '\e0a8' -} - -.oi[data-glyph=play-circle]:before { - content: '\e0a9' -} - -.oi[data-glyph=plus]:before { - content: '\e0aa' -} - -.oi[data-glyph=power-standby]:before { - content: '\e0ab' -} - -.oi[data-glyph=print]:before { - content: '\e0ac' -} - -.oi[data-glyph=project]:before { - content: '\e0ad' -} - -.oi[data-glyph=pulse]:before { - content: '\e0ae' -} - -.oi[data-glyph=puzzle-piece]:before { - content: '\e0af' -} - -.oi[data-glyph=question-mark]:before { - content: '\e0b0' -} - -.oi[data-glyph=rain]:before { - content: '\e0b1' -} - -.oi[data-glyph=random]:before { - content: '\e0b2' -} - -.oi[data-glyph=reload]:before { - content: '\e0b3' -} - -.oi[data-glyph=resize-both]:before { - content: '\e0b4' -} - -.oi[data-glyph=resize-height]:before { - content: '\e0b5' -} - -.oi[data-glyph=resize-width]:before { - content: '\e0b6' -} - -.oi[data-glyph=rss-alt]:before { - content: '\e0b7' -} - -.oi[data-glyph=rss]:before { - content: '\e0b8' -} - -.oi[data-glyph=script]:before { - content: '\e0b9' -} - -.oi[data-glyph=share-boxed]:before { - content: '\e0ba' -} - -.oi[data-glyph=share]:before { - content: '\e0bb' -} - -.oi[data-glyph=shield]:before { - content: '\e0bc' -} - -.oi[data-glyph=signal]:before { - content: '\e0bd' -} - -.oi[data-glyph=signpost]:before { - content: '\e0be' -} - -.oi[data-glyph=sort-ascending]:before { - content: '\e0bf' -} - -.oi[data-glyph=sort-descending]:before { - content: '\e0c0' -} - -.oi[data-glyph=spreadsheet]:before { - content: '\e0c1' -} - -.oi[data-glyph=star]:before { - content: '\e0c2' -} - -.oi[data-glyph=sun]:before { - content: '\e0c3' -} - -.oi[data-glyph=tablet]:before { - content: '\e0c4' -} - -.oi[data-glyph=tag]:before { - content: '\e0c5' -} - -.oi[data-glyph=tags]:before { - content: '\e0c6' -} - -.oi[data-glyph=target]:before { - content: '\e0c7' -} - -.oi[data-glyph=task]:before { - content: '\e0c8' -} - -.oi[data-glyph=terminal]:before { - content: '\e0c9' -} - -.oi[data-glyph=text]:before { - content: '\e0ca' -} - -.oi[data-glyph=thumb-down]:before { - content: '\e0cb' -} - -.oi[data-glyph=thumb-up]:before { - content: '\e0cc' -} - -.oi[data-glyph=timer]:before { - content: '\e0cd' -} - -.oi[data-glyph=transfer]:before { - content: '\e0ce' -} - -.oi[data-glyph=trash]:before { - content: '\e0cf' -} - -.oi[data-glyph=underline]:before { - content: '\e0d0' -} - -.oi[data-glyph=vertical-align-bottom]:before { - content: '\e0d1' -} - -.oi[data-glyph=vertical-align-center]:before { - content: '\e0d2' -} - -.oi[data-glyph=vertical-align-top]:before { - content: '\e0d3' -} - -.oi[data-glyph=video]:before { - content: '\e0d4' -} - -.oi[data-glyph=volume-high]:before { - content: '\e0d5' -} - -.oi[data-glyph=volume-low]:before { - content: '\e0d6' -} - -.oi[data-glyph=volume-off]:before { - content: '\e0d7' -} - -.oi[data-glyph=warning]:before { - content: '\e0d8' -} - -.oi[data-glyph=wifi]:before { - content: '\e0d9' -} - -.oi[data-glyph=wrench]:before { - content: '\e0da' -} - -.oi[data-glyph=x]:before { - content: '\e0db' -} - -.oi[data-glyph=yen]:before { - content: '\e0dc' -} - -.oi[data-glyph=zoom-in]:before { - content: '\e0dd' -} - -.oi[data-glyph=zoom-out]:before { - content: '\e0de' -} \ No newline at end of file diff --git a/js/src/clients.js b/js/src/clients.js index cfc9ddf..ae681f5 100644 --- a/js/src/clients.js +++ b/js/src/clients.js @@ -101,7 +101,7 @@ require('../../css/style.css'); var baseUrl = OC.generateUrl('/apps/timetracker/ajax/clients'); var editIcon = function(cell, formatterParams){ //plain text value - return ""; + return ""; }; diff --git a/js/src/goals.js b/js/src/goals.js index 8c6d210..cc9d196 100644 --- a/js/src/goals.js +++ b/js/src/goals.js @@ -95,7 +95,7 @@ require('../../css/style.css'); var baseUrl = OC.generateUrl('/apps/timetracker/ajax/goals'); var editIcon = function(cell, formatterParams){ //plain text value - return ""; + return ""; }; diff --git a/js/src/kingtable.js b/js/src/kingtable.js deleted file mode 100644 index 811b198..0000000 --- a/js/src/kingtable.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * KingTable 2.0.0 - * https://github.com/RobertoPrevato/KingTable - * - * Copyright 2018, Roberto Prevato - * https://robertoprevato.github.io - * - * Licensed under the MIT license: - * http://www.opensource.org/licenses/MIT - */ -!function e(t,n,r){function i(s,o){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var f=n[s]={exports:{}};t[s][0].call(f.exports,function(e){var n=t[s][1][e];return i(n||e)},f,f.exports,e,t,n,r)}return n[s].exports}for(var a="function"==typeof require&&require,s=0;s6)return!1;return a(t[0])}return!1}Object.defineProperty(n,"__esModule",{value:!0});var o=e("../../scripts/utils"),u=r(o),l=e("../../scripts/components/string"),f=r(l),c=e("../../scripts/components/regex"),d=r(c),p=e("../../scripts/components/reflection"),h=r(p),m=e("../../scripts/exceptions"),g={autoParseNumbers:!0,ci:!0};n.default={normalizeOrder:i,lookSortableAsNumber:s,options:g,parseSortBy:function(e){if(e){var t=e.split(/\s*,\s*/g);return u.default.map(t,function(e){var t=e.split(/\s/),n=t[0],r=t[1]||"asc";return[n,f.default.startsWith(r,"asc",!0)?1:-1]})}},humanSortBy:function(e,t){return e&&e.length?u.default.map(e,function(e){var n=e[0];return 1===e[1]?t?n+" asc":n:n+" desc"}).join(", "):""},getSortCriteria:function(e){var t,n=this,r=e.length;if(1==e.length){var i=e[0];if(u.default.isString(i)&&i.search(/,|\s/)>-1)return this.parseSortBy(i)}if(r>1){var a=u.default.toArray(e);t=u.default.map(a,function(e){return n.normalizeSortByValue(e,!0)})}else t=this.normalizeSortByValue(e[0]);return t},normalizeSortByValue:function(e,t){var n=this;if(u.default.isString(e))return t?[e,"asc"]:[[e,"asc"]];if(u.default.isArray(e))return u.default.isArray(e[0])?e:u.default.map(e,function(e){return n.normalizeSortByValue(e,!0)});if(u.default.isPlainObject(e)){var r,i=[];for(r in e)i.push([r,e[r]]);return i}(0,m.TypeException)("sort","string | [] | {}")},compareStrings:function(e,t,n){if(this.options.autoParseNumbers){var r=s(e),i=s(t);if(!1!==r||!1!==i){if(r===i)return 0;if(!1!==r&&!1===t)return n;if(!1===r&&!1!==t)return-n;if(ri)return n}}return f.default.compare(e,t,n,this.options)},sortBy:function(e){u.default.isArray(e)||(0,m.TypeException)("ar","array");var t=arguments.length,n=u.default.toArray(arguments).slice(1,t),r=this.getSortCriteria(n);r=i(r);var a=r.length,s=u.default.isString,o=this.compareStrings.bind(this),l=void 0,f=null;return e.sort(function(e,t){if(e===t)return 0;if(e!==l&&t===l)return-1;if(e===l&&t!==l)return 1;if(e!==f&&t===f)return-1;if(e===f&&t!==f)return 1;for(var n=0;np)return c}}return 0}),e},sortByProperty:function(e,t,n){u.default.isArray(e)||(0,m.TypeException)("arr","array"),u.default.isString(t)||(0,m.TypeException)("property","string"),u.default.isUnd(n)||(n="asc"),n=u.default.isNumber(n)?n:/^asc/i.test(n)?1:-1;var r={};return r[t]=n,this.sortBy(e,r)},searchByStringProperty:function(e){return u.default.require(e,["pattern","collection","property"]),this.searchByStringProperties(u.default.extend(e,{properties:[e.property]}))},search:function(e){if(!e||!e.length)return e;var t=arguments.length;if(t<2)return e;for(var n,r,i=u.default.toArray(arguments).slice(1,t),a=[],s=u.default.isString,o=0,t=e.length;ot[R])return-M;if(e[R]f)return M;if(i[L][I](l)o[L][I](f))return M;var c=e[y],d=t[y];if(c[N](i[H])&&d[N](o[H])){if(c[i[H]][D]()[F]()d[o[H]][D]()[F]())return M}if(i[A]>o[A])return-M;if(i[A]t.length;)n=n.substr(1,n.length);return n}},month:{rx:/M{1,4}/,fn:function(e,t,n,i){var a=(e.getMonth()+1).toString();switch(t.length){case 1:return a;case 2:return r(a,2);case 3:return a=e.getMonth(),i.monthShort[a];case 4:return a=e.getMonth(),i.month[a]}}},day:{rx:/D{1,4}/,fn:function(e,t,n,i){var a=e.getDate().toString();switch(t.length){case 1:return a;case 2:return r(a.toString(),2);case 3:return a=e.getDay(),i.weekShort[a];case 4:return a=e.getDay(),i.week[a]}}},hour:{rx:/h{1,2}/i,fn:function(e,t,n){var r=e.getHours(),i=/t{1,2}/i.test(n);for(i&&r>12&&(r%=12),r=r.toString();r.lengthn?r.substr(0,n):r}},hoursoffset:{rx:/z{1,3}/i,fn:function(e,t,n){var i=-e.getTimezoneOffset()/60,a=i>0?"+":"";switch(t.length){case 1:return a+i;case 2:return a+r(i,2);case 3:return a+r(i,2)+":00"}}},ampm:{rx:/t{1,2}/i,fn:function(e,t){var n,r=e.getHours(),i=/T{1,2}/.test(t);switch(t.length){case 1:n=r>12?"p":"a";break;case 2:n=r>12?"pm":"am"}return i?n.toUpperCase():n}},weekday:{rx:/w{1,2}/i,fn:function(e,t,n,r){var i=e.getDay(),a=t.length>1?"week":"weekShort",s=r[a];return s&&void 0!==s[i]?s[i]:i}}},u=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+Z?$|^\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}:\d{2}(?:\sUTC)?$/,l=/^(\d{4})\D(\d{1,2})\D(\d{1,2})(?:\s(\d{1,2})(?:\D(\d{1,2}))?(?:\D(\d{1,2}))?)?$/;n.default={looksLikeDate:function(e){return!!e&&(e instanceof Date||"string"==typeof e&&(!!l.exec(e)||!!u.exec(e)))},defaults:{format:{short:"DD.MM.YYYY",long:"DD.MM.YYYY HH:mm:ss"},week:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},parse:function(e){a.default.isString(e)||(0,s.TypeException)("s","string");var t=l.exec(e);if(t){var n=t[4];if(n){return new Date(parseInt(t[1]),parseInt(t[2])-1,parseInt(t[3]),parseInt(n),parseInt(t[5]||0),parseInt(t[6]||0))}return new Date(t[1],t[2]-1,t[3])}if(u.exec(e))return/Z$/.test(e)||-1!=e.indexOf("UTC")||(e+="Z"),new Date(e)},format:function(e,t,n){t||(t=this.defaults.format.short),n||(n=this.defaults);var r=t;for(var i in o){var a=o[i],s=t.match(a.rx);s&&(r=r.replace(a.rx,a.fn(e,s[0],t,n)))}return r},formatWithTime:function(e,t){return this.format(e,this.defaults.format.long,t)},isValid:function(e){return e instanceof Date&&isFinite(e)},sameDay:function(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()},isToday:function(e){return this.sameDay(e,new Date)},hasTime:function(e){var t=e.getHours(),n=e.getMinutes(),r=e.getSeconds();return!!(t||n||r)},toIso8601:function(e){return this.format(e,"YYYY-MM-DD")+"T"+this.format(e,"hh:mm:ss")+"."+this.format(e,"fff")+"Z"},toExcelDateValue:function(e){return(25569+(e.getTime()-60*e.getTimezoneOffset()*1e3)/864e5).toString().substr(0,5)}}},{"../../scripts/exceptions":20,"../../scripts/utils.js":34}],3:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;na));s++)e=this.replaceAt(e,i.i-n,i.v);return e},snakeCase:function(e){return e?this.removeMultipleSpaces(e.trim())[c](/[^a-zA-Z0-9]/g,"_")[c](/([a-z])[\s\-]?([A-Z])/g,function(e,t,n){return t+"_"+i(n)})[c](/([A-Z]+)/g,function(e,t){return i(t)})[c](/_{2,}/g,"_"):e},kebabCase:function(e){return e?this.removeMultipleSpaces(e.trim())[c](/[^a-zA-Z0-9]/g,"-")[c](/([a-z])[\s\-]?([A-Z])/g,function(e,t,n){return t+"-"+i(n)})[c](/([A-Z]+)/g,function(e,t){return i(t)})[c](/-{2,}/g,"-"):""},camelCase:function(e){return e?this.removeMultipleSpaces(e.trim())[c](/[^a-zA-Z0-9]+([a-zA-Z])?/g,function(e,t){return a(t)})[c](/([a-z])[\s\-]?([A-Z])/g,function(e,t,n){return t+a(n)})[c](/^([A-Z]+)/g,function(e,t){return i(t)}):e},format:function(e){var t=Array.prototype.slice.call(arguments,1);return e[c](/{(\d+)}/g,function(e,n){return void 0!==t[n]?t[n]:e})},getString:function(e){return"string"==typeof e?e:e.toString?e.toString():""},compare:function(e,t,n,r){n=u.default.isNumber(n)?n:/^asc/i.test(n)?1:-1;var i=u.default.extend({ci:!0},r);return e&&!t?n:!e&&t?-n:e||t?e==t?0:(u.default.isString(e)||(e=e.toString()),u.default.isString(t)||(t=t.toString()),i.ci&&(e=e.toLowerCase(),t=t.toLowerCase()),(0,f.default)(e)<(0,f.default)(t)?-n:n):0},ofLength:function(e,t){return new Array(t+1).join(e)},center:function(e,t,n){if(t<=0)throw new Error("length must be > 0");if(n||(n=" "),!e)return this.ofLength(n,t);if(1!=n.length)throw new Error(d);for(var r=Math.floor((t-e.length)/2),i=this.ofLength(n,r),a=!1,s=i+e+i;s.length 0");if(n||(n=" "),!e)return this.ofLength(n,t);if(1!=n.length)throw new Error(d);for(;e.length 0");if(n||(n=" "),!e)return this.ofLength(n,t);if(1!=n.length)throw new Error(d);for(;e.length-1&&e!=l?l:e}Object.defineProperty(n,"__esModule",{value:!0});var a=e("../../scripts/utils"),s=r(a),o=e("../../scripts/data/json"),u=r(o),l="application/json",f={type:"POST",headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":l},json:{parseDates:!0}};n.default={defaults:f,requestBeforeSend:function(e,t,n){},setup:function(e){if(!s.default.isPlainObject(e))throw new Error("Invalid options for AJAX setup.");return s.default.extend(this.defaults,e),this},converters:{"application/json":function(e,t,n){return u.default.parse(e,n.json)}},createQs:function(e){if(!e)return"";var t,n,r=[];for(t in e)n=e[t],s.default.isNullOrEmptyString(n)||r.push([t,n]);return r.sort(function(e,t){return e>t?1:e-1))throw"application/x-www-form-urlencoded; charset=UTF-8"==g?"Not implemented":"invalid or not implemented content type: "+g;m=u.default.compose(m),r.requestBeforeSend(d,t,e),d.send(m)}else r.requestBeforeSend(d,t,e),d.send()})},get:function(e,t){return t=t||{},t.url=e,t.type="GET",this.shot(t)},post:function(e,t){return t=t||{},t.url=e,t.type="POST",this.shot(t)}}},{"../../scripts/data/json":13,"../../scripts/utils":34}],10:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("../../scripts/utils"),i=function(e){return e&&e.__esModule?e:{default:e}}(r),a={allStrings:1,keepType:2};n.default={default:{addBom:!0,separator:",",addSeparatorLine:!1,typeHandling:a.keepType},serialize:function(e,t){for(var n=i.default.extend({},this.default,t),r=[],s=n.separator,o=n.typeHandling,u=n.addBom?"\ufeff":"",l=0,f=e.length;l-1)&&(m='"'+m+'"'),c.push(m)}r.push(c.join(s))}return n.addSeparatorLine&&r.push("\t"+s),u+r.join("\n")}}},{"../../scripts/utils":34}],11:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default={supportsCsExport:function(){return navigator.msSaveBlob||function(){return void 0!==document.createElement("a").download}()},exportfile:function(e,t,n){var r=new Blob([t],{type:n});if(navigator.msSaveBlob)navigator.msSaveBlob(r,e);else{var i=document.createElement("a");if(void 0!==i.download){var a=URL.createObjectURL(r);i.setAttribute("href",a),i.setAttribute("download",e);var s={visibility:"hidden",position:"absolute",left:"-9999px"};for(var o in s)i.style[o]=s[o];document.body.appendChild(i),i.click(),document.body.removeChild(i)}}}}},{}],12:[function(e,t,n){"use strict";function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e){return"number"==typeof e}function o(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}Object.defineProperty(n,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n0?new Array(e*n+1).join(t||" "):"",f="<"+o;for(r in u)void 0!==u[r]&&(c.indexOf(r)>-1?f+=" "+r:f+=" "+r+'="'+u[r]+'"');if(a)return f+=" />",e>0&&(f=l+f+"\n"),f;f+=">";var d=i.children;e>0&&d.length&&(f+="\n");for(var p=0,h=d.length;p":f+="",e>0&&(f=l+f+"\n"),f}},{key:"tagName",get:function(){return this._tagName},set:function(e){if("string"!=typeof e)throw new Error("tagName must be a string");if(!e.trim())throw new Error("tagName must have a length");if(e.indexOf(" ")>-1)throw new Error("tagName cannot contain spaces");this._tagName=e}}]),e}(),f="area base basefont br col frame hr img input isindex link meta param".split(" "),c="checked selected disabled readonly multiple ismap isMap defer noresize noResize nowrap noWrap noshade noShade compact".split(" "),d=function(e){function t(e,n,i){a(this,t);var s=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i));return s.empty=f.indexOf(e.toLowerCase())>-1,s}return i(t,e),u(t,[{key:"id",get:function(){return this.attributes.id},set:function(e){this.attributes.id=e}}]),t}(l),p=function(){function e(t){a(this,e),this.text=t}return u(e,[{key:"toString",value:function(e,t,n){var e=s(e)?e:0,n=s(n)?n:0,r=e>0?new Array(e*n+1).join(t||" "):"";return r+this.text+(r?"\n":"")}},{key:"text",get:function(){return this._text},set:function(e){e||(e=""),"string"!=typeof e&&(e=e.toString()),this._text=o(e)}}]),e}(),h=function(){function e(t){a(this,e),this.html=t}return u(e,[{key:"toString",value:function(e,t,n){var e=s(e)?e:0,n=s(n)?n:0,r=e>0?new Array(e*n+1).join(t||" "):"";return r+this.html+(r?"\n":"")}}]),e}(),m=function(){function e(t){a(this,e),this.text=t}return u(e,[{key:"toString",value:function(e,t,n){var e=s(e)?e:0,n=s(n)?n:0,r=e>0?new Array(e*n+1).join(t||" "):"";return r+"\x3c!--"+this.text+"--\x3e"+(r?"\n":"")}},{key:"text",get:function(){return this._text},set:function(e){e||(e=""),"string"!=typeof e&&(e=e.toString()),e=e.replace(//g,""),this._text=e}}]),e}(),g=function(){function e(t){a(this,e),this.children=t,this.hidden=!1}return u(e,[{key:"toString",value:function(e,t,n){var r="",i=this.children;if(!i||this.hidden)return r;for(var a=0,s=i.length;a0&&(new Date).getTime()>m?c.push(p):t(h)&&(f=r?p:h)}}return c.length&&this.remove(e,function(e){return c.indexOf(e)>-1}),f}},remove:function(e,t,n){var r=i(n);if(!t)return void r.removeItem(e);var a,s=r.getItem(e);if(s){try{s=u.default.parse(s)}catch(t){return void r.removeItem(e)}var o=s.length,l=[];for(a=0;a0?l+r:-1,c={ts:l,expiration:f,data:t},d=o.getItem(e);if(d){try{d=u.default.parse(d)}catch(r){return o.removeItem(e),this.set(e,t,n)}d.length>=n&&d.shift(),d.push(c)}else d=[{ts:l,expiration:f,data:t}];return o.setItem(e,u.default.compose(d))}}},{"../../scripts/data/json":13,"../../scripts/exceptions":20,"../../scripts/utils":34}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={};n.default={items:function(){return r},length:function(){var e,t=0;for(e in r)t++;return t},getItem:function(e){return r[e]},setItem:function(e,t){r[e]=t},removeItem:function(e){delete r[e]},clear:function(){var e;for(e in r)delete r[e]}}},{}],16:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n/g,">").replace(/"/g,""").replace(/'/g,"'")}},{key:"escape",value:function(e){return e?this.escapeHtml(e):""}}]),e}();n.default=o},{"../../scripts/utils":34}],18:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("../../scripts/utils");!function(e){e&&e.__esModule}(r);n.default={normal:function(e){return''+e.replace(/\sxmlns="http:\/\/www\.w3\.org\/\d+\/xhtml"/,"")},pretty:function(e,t){e=this.normal(e),"number"!=typeof t&&(t=2);var n=/(>)(<)(\/*)/g,r=[];e=e.replace(n,"$1\r\n$2$3");for(var i=0,a=e.split("\r\n"),s=a.length,o=0;o]*>$/)?l=0:u.match(/^<\/\w/)?0!=i&&(i-=1):l=u.match(/^<\w[^>]*[^\/]>.*$/)?1:0;var f=new Array(i*t).join(" ");r.push(f+u+"\r\n"),i+=l}return r.join("")}}},{"../../scripts/utils":34}],19:[function(e,t,n){"use strict";function r(e,t,n){if(t.search(/\s/)>-1){t=t.split(/\s/g);for(var i=0,a=t[F];i-1){e.substr(0,t);return[e.substr(0,t),e.substr(t+1)]}return[e,""]}Object.defineProperty(n,"__esModule",{value:!0});var C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},O=e("../scripts/utils.js"),V=function(e){return e&&e.__esModule?e:{default:e}}(O),j="object",M="string",F="length",D=V.default.any,H=V.default.each,I=".",N=[];n.default={splitNamespace:_,empty:function(e){for(;e.hasChildNodes();)this.off(e.lastChild),e.removeChild(e.lastChild)},remove:function(e){if(e){this.off(e);var t=e.parentElement||e.parentNode;t&&t.removeChild(e)}},closest:function(e,t,n){if(e&&t){if(!n&&t(e))return e;for(var r=e;r=r.parentElement;)if(t(r))return r}},closestWithTag:function(e,t,n){if(t)return t=t.toUpperCase(),this.closest(e,function(e){return e.tagName==t},n)},closestWithClass:function(e,t,n){if(t)return this.closest(e,function(e){return s(e,t)},n)},contains:function(e,t){if(!e||!t)return!1;if(!e.hasChildNodes())return!1;for(var n=e.childNodes,r=n.length,i=0;i="+t),r(n)&&(i=" <="+n)):i=" to be positive.",new Error(i)}Object.defineProperty(n,"__esModule",{value:!0});var l="???";n.ArgumentException=a,n.ArgumentNullException=i,n.TypeException=s,n.OutOfRangeException=u,n.OperationException=o},{}],21:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;nt.totalPageCount||e===t.page)}},{key:"onPageChange",value:function(){}},{key:"getPageCount",value:function(e,t){return i(e,t),e===1/0?1/0:e===-1/0?0:e<1?0:e>t?e%t==0?e/t:Math.ceil(e/t):1}},{key:"dispose",value:function(){delete this.onPageChange}},{key:"resultsPerPage",get:function(){return this._resultsPerPage},set:function(e){e||(e=0),i(e);var t=this,n=t.totalItemsCount;if(n){var r=t.getPageCount(n,e);t.totalPageCount=r,r<=t._page&&(t.page=r)}t._resultsPerPage=e,t.updateItemsNumber()}},{key:"page",get:function(){return this._page},set:function(e){i(e),e!=this.page&&(this._page=e,this.updateItemsNumber(),this.onPageChange())}}]),e}();n.default=l},{"../../scripts/utils":34}],23:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.TextSlider=void 0;var i=function(){function e(e,t){for(var n=0;n'+(0,d.escapeHtml)(u)+""}return f"+i+""}})}return r}},{key:"getFields",value:function(){var e=this.table,t=h.default.clone(e.columns),n=this.options,r=n.itemCount,i=this.getGeneratedFields(),a=r?{name:"ε_row",displayName:"#"}:null;a&&t.unshift(a);var s=n.fields;return s?(h.default.isFunction(s)&&(s=s.call(this,t)),t=i.concat(s.concat(t))):t=i.concat(t),t}},{key:"build",value:function(){var e=this,t=e.table,n=t.getData({format:!0,hide:!1});if(!n||!n.length)return e.display(e.emptyView());var r=e.getFields(),i=e.buildCaption(),a=e.buildView(r,n),s=e.buildRoot(i,a);e.display(s)}},{key:"buildRoot",value:function(e,t){var n=this.table,r={class:"king-table-region"};return n.id&&(r.id=n.id),new u.VHtmlElement("div",r,[e,t])}},{key:"buildView",value:function(e,t){this.table;return new u.VHtmlElement("table",{class:"king-table"},[this.buildHead(e),this.buildBody(e,t)])}},{key:"buildHead",value:function(e){var t=(this.table,new u.VHtmlElement("tr",{},h.default.map(h.default.values(e),function(e){if(!e.hidden&&!e.secret)return new u.VHtmlElement("th",{class:e.css},new u.VTextElement(e.displayName))})));return new u.VHtmlElement("thead",{class:"king-table-head"},t)}},{key:"buildBody",value:function(e,t){var n=this,r=this.table,i=r.builder,a=r.options.formattedSuffix,s=r.searchText?r.filters.getRuleByKey("search").value:null,o=r.options.autoHighlightSearchProperties,l=-1,f=h.default.map(t,function(t){l+=1,t.__ix__=l;for(var r,f,c=[],p=0,m=e.length;p0&&(c+=" "+n.of+" "+i),f(a)&&f(s)&&s>0&&(c+=" - "+n.results+" "+a+" - "+s,f(o)&&(c+=" "+n.of+" - "+o))),l&&e.options.showAnchorTimestamp&&(c+=" - "+n.anchorTime+" "+l),new u.VHtmlElement("span",{class:"pagination-info"},new u.VTextElement(c))}},{key:"emptyView",value:function(e){var t=this.getReg(),n=new u.VHtmlElement("div",{class:"king-table-empty"},new u.VHtmlElement("span",0,new u.VTextElement(t.noData)));return e?n:this.singleLine(this.table,n)}},{key:"errorView",value:function(e){return e||(e=this.getReg().errorFetchingData),this.singleLine(this.table,new u.VHtmlFragment('
\n \n '+e+'\n \n \n
'))}},{key:"loadingView",value:function(){var e=(this.table,this.getReg()),t=this.buildCaption();return t.children.push(new u.VHtmlElement("div",{class:"loading-info"},[new u.VHtmlElement("span",{class:"loading-text"},new u.VTextElement(e.loading)),new u.VHtmlElement("span",{class:"mini-loader"})])),this.buildRoot([t])}},{key:"display",value:function(e){var t=this.table;h.default.isString(e)||(e=e.toString());var n=t.element;if(n){for(n.classList.add("king-table"),t.emit("empty:element",n);n.hasChildNodes();)n.removeChild(n.lastChild);n.innerHTML=e}}},{key:"singleLine",value:function(e){var t=(this.table,this.buildCaption());return t.children.push(new u.VHtmlElement("br"),new u.VHtmlElement("div",{class:"loading-info"},h.default.isString(e)?new u.VTextElement(e):e)),this.buildRoot([t])}},{key:"loadingHandler",value:function(){var e=this,n=e.table;e.unsetLoadingHandler();var r=n.hasData()?t.options.loadInfoDelay:0;e.showLoadingTimeout=setTimeout(function(){if(!n.loading)return e.unsetLoadingHandler();e.display(e.loadingView())},r)}},{key:"unsetLoadingHandler",value:function(){return clearTimeout(this.showLoadingTimeout),this.showLoadingTimeout=null,this}},{key:"dispose", -value:function(){var e=this.table,t=e.element;t&&g.default.empty(t),this.stopListening(this.table),this.table=null,delete this.options}}],[{key:"options",get:function(){return{handleLoadingInfo:!0,loadInfoDelay:500,paginationInfo:!0}}}]),t}(f.default);n.default=v},{"../../scripts/data/html":12,"../../scripts/dom":19,"../../scripts/raise":26,"../../scripts/tables/kingtable.html.base.builder":28,"../../scripts/utils":34}],30:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;nn[r]?1:t[r]0?x.default.debounce(e,t,this):e,this}},{key:"getViewResolver",value:function(){var e=this.options,t=e.view,n=e.views;x.default.isString(t)||(0,w.default)(21,"Missing view configuration for Rich HTML builder");var r=x.default.find(n,function(e){return e.name==t});r||(0,w.default)(22,"Missing view resolver for view: "+t);var i=r.resolver;return!0===i?this:(i||(0,w.default)(33,"Missing resolver in view configuration '"+t+"'"),x.default.isPlainObject(i)||(i=new i),x.default.quacks(i,["buildView"])||(0,w.default)(23,"Invalid resolver for view: "+t),i)}},{key:"buildCaption",value:function(){var e=this.table,t=e.options.caption;return t?new c.VHtmlElement("div",{class:"king-table-caption"},new c.VHtmlElement("span",{},new c.VTextElement(t))):null}},{key:"build",value:function(){var e=this;return e.table.element?e.ensureLayout().update():e}},{key:"ensureLayout",value:function(){var e=this;if(e.rootElement)return e;var t=e.table,n=e.options,r=t.element,i=e.buildView(null,null,new c.VHtmlFragment(" ")),a=e.buildCaption(),s=e.buildRoot(a,i);return t.emit("empty:element",r),S.default.empty(r),S.default.addClass(r,"king-table"),r.innerHTML=s.toString(),e.rootElement=S.default.findFirstByClass(r,"king-table-region"),e.bindEvents(),x.default.ifcall(n.onLayoutRender,e,[r]),n.filtersView&&x.default.ifcall(n.onFiltersRender,e,[S.default.findFirstByClass(r,"kt-filters")]),e}},{key:"update",value:function(){this.updatePagination().updateView()}},{key:"updatePagination",value:function(){var e=this.table,t=e.pagination,n=this.rootElement;n||(0,w.default)(26,"missing root element");var r=this.getReg(),t=(e.options,e.pagination),i=t.page,a=t.totalPageCount,s=t.resultsPerPage,o=t.firstObjectNumber,u=t.lastObjectNumber,l=t.totalItemsCount,f=e.getFormattedAnchorTime(),c=x.default.isNumber,d=S.default.findFirstByClass,p=S.default.addClass,h=S.default.removeClass;d(n,"pagination-bar-page-number").value=i,d(n,"pagination-bar-results-select").value=s;var m="pagination-button",g="pagination-button-disabled";x.default.each(["pagination-bar-first-page","pagination-bar-prev-page"],function(e){var t=d(n,e);i>1?(p(t,m),h(t,g)):(p(t,g),h(t,m))}),x.default.each(["pagination-bar-last-page","pagination-bar-next-page"],function(e){var t=d(n,e);i0&&(v+=r.results+" "+o+" - "+u,c(l)&&(v+=" "+r.of+" - "+l));var y="";f&&e.options.showAnchorTimestamp&&(y=r.anchorTime+" "+f);var b,k={"results-info":v,"anchor-timestamp-info":y,"total-page-count":r.of+" "+a};for(b in k){var E=d(n,b);E&&(E.innerHTML=k[b])}var P=e.searchText||"",T=d(n,"search-field");return T&&T.value!=P&&0==S.default.isFocused(T)&&(T.value=P),this}},{key:"updateView",value:function(){var e=this,t=e.options,n=e.table,r=n.pagination,i=e.rootElement;i||(0,w.default)(26,"missing root element"),x.default.each({"kt-search-active":n.searchText,"kt-search-sorting":n.options.searchSortingRules},function(e,t){S.default.modClass(i,t,e)});var r=n.getData({format:!0,hide:!1}),a=S.default.findFirstByClass(i,"king-table-view");if(!r||!r.length)return a.innerHTML=e.emptyView().toString(),e;var s=e.getFields();if(e._must_build_tools){document.getElementById(e.toolsRegionId).innerHTML=e.buildToolsInner(!0),delete e._must_build_tools}e.currentItems=r;var o=e.buildView(s,r);return a.innerHTML=o.children[0].toString(),x.default.ifcall(t.onViewUpdate,e,[a]),e}},{key:"display",value:function(e){var t=(this.table,this.options);x.default.isString(e)||(e=e.toString()),this.ensureLayout();var n=this.rootElement,r=S.default.findFirstByClass(n,"king-table-view");r.innerHTML=e,x.default.ifcall(t.onViewUpdate,this,[r])}},{key:"buildRoot",value:function(e,t){var n=this.table,r={class:"king-table-region"};return n.id&&(r.id=n.id),new c.VHtmlElement("div",r,[e,this.buildPaginationBar(),this.buildFiltersView(),t])}},{key:"buildPaginationBar",value:function(){var e=this.table,t=this.getReg(),n=this.options,r=e.pagination,i=(r.page,r.totalPageCount,r.resultsPerPage,r.firstObjectNumber),a=r.lastObjectNumber,s=r.totalItemsCount,o=n.filtersView,u=o&&n.filtersViewExpandable,l=u&&n.filtersViewOpen,f=e.getFormattedAnchorTime(),d=x.default.isNumber,p="";d(i)&&d(a)&&a>0&&(p+=t.results+" "+i+" - "+a,d(s)&&(p+=" "+t.of+" - "+s));var h;f&&e.options.showAnchorTimestamp&&(h=t.anchorTime+" "+f);var m=t.advancedFilters,g=n.allowSearch?new c.VHtmlElement("span",{class:"pagination-bar-filters"},new c.VHtmlElement("input",{type:"text",class:"search-field",value:e.searchText||""})):null,v="span",y=new c.VHtmlElement(v,{class:"separator"});return new c.VHtmlElement("div",{class:"pagination-bar"},[this.buildTools(),new c.VHtmlElement(v,{class:"pagination-bar-buttons"},[new c.VHtmlElement(v,{tabindex:"0",class:"pagination-button pagination-bar-first-page oi","data-glyph":"media-step-backward",title:t.firstPage}),new c.VHtmlElement(v,{tabindex:"0",class:"pagination-button pagination-bar-prev-page oi","data-glyph":"caret-left",title:t.prevPage}),y,new c.VHtmlElement(v,{class:"valigned"},new c.VTextElement(t.page)),new c.VHtmlElement("input",{type:"text",name:"page-number",class:"must-integer pagination-bar-page-number",value:r.page}),new c.VHtmlElement("span",{class:"valigned total-page-count",value:r.page},new c.VTextElement(t.of+" "+r.totalPageCount)),y,new c.VHtmlElement(v,{tabindex:"0",class:"pagination-button pagination-bar-refresh oi","data-glyph":"reload",title:t.refresh}),y,new c.VHtmlElement(v,{tabindex:"0",class:"pagination-button pagination-bar-next-page oi","data-glyph":"caret-right",title:t.nextPage}),new c.VHtmlElement(v,{tabindex:"0",class:"pagination-button pagination-bar-last-page oi","data-glyph":"media-step-forward",title:t.lastPage}),y,new c.VHtmlElement(v,{class:"valigned"},new c.VTextElement(t.resultsPerPage)),new c.VHtmlElement("select",{name:"pageresults",class:"pagination-bar-results-select valigned"},x.default.map(n.resultsPerPageSelect,function(e){var t=new c.VHtmlElement("option",{value:e},new c.VTextElement(e.toString()));return e===n.resultsPerPage&&(t.attributes.selected=!0),t})),y,p?new c.VHtmlElement(v,{class:"valigned results-info"},new c.VTextElement(p)):null,p?y:null,h?new c.VHtmlElement(v,{class:"valigned anchor-timestamp-info"},new c.VTextElement(h)):null,g?y:null,g,u?y:null,u?new c.VHtmlElement("button",{class:"btn valigned camo-btn kt-advanced-filters"+(l?" kt-open":"")},new c.VTextElement(m)):null])])}},{key:"buildHead",value:function(e){var t=this.table,n=t.builder,r=t.sortCriteria,i=n.getReg(),a=new c.VHtmlElement("tr",{},x.default.map(x.default.values(e),function(e){if(!e.hidden&&!e.secret){var t,n=!1,a=[e.css];if(e.sortable){a.push("sortable");var s=x.default.find(r,function(t){return t[0]===e.name});s&&(n=!0,t=s[1])}var o=e.displayName;return new c.VHtmlElement("th",{class:a.join(" "),"data-prop":e.name},new c.VHtmlElement("div",{},[new c.VHtmlElement("span",{},new c.VTextElement(o)),n?new c.VHtmlElement("span",{class:"oi kt-sort-glyph","data-glyph":1==t?"sort-ascending":"sort-descending","aria-hidden":!0,title:x.default.format(1==t?i.sortAscendingBy:i.sortDescendingBy,{name:o})}):null]))}}));return new c.VHtmlElement("thead",{class:"king-table-head"},a)}},{key:"buildView",value:function(e,t,n){var r,i=this.table;if(n)r=n;else if(t&&t.length){var r,a=this.getViewResolver();a===this?r=new c.VHtmlElement("table",{class:"king-table"},[this.buildHead(e),this.buildBody(e,t)]):(a.table=this.table,a.options=i.options,r=a.buildView(i,e,t),delete a.table,delete a.options)}else r=new c.VHtmlElement("div",{class:"king-table-view"},this.emptyView());return new c.VHtmlElement("div",{class:"king-table-view"},r)}},{key:"getTemplate",value:function(e,t){if(x.default.isFunction(e))return e.call(this);x.default.isString(e)||(0,w.default)(38,"Cannot obtain HTML from given parameter "+t+", must be a function or a string.");var n=document.getElementById(e);if(null!=n){if(/script/i.test(n.tagName))return n.innerText;(0,w.default)(38,"Cannot obtain HTML from parameter "+t+". Element is not