From ad09488bc291e6006f79110f903be962ab0d0a39 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Fri, 6 May 2016 17:20:25 -0400 Subject: [PATCH 001/499] Initial commit --- README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..623b6dc5 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# ara +ara - Ansible Run Analysis From 1eb171a732fe19e61e012bd26000ca316da2373f Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Sun, 8 May 2016 00:15:06 -0400 Subject: [PATCH 002/499] First commit --- .gitignore | 12 ++ LICENSE | 202 +++++++++++++++++ README.md | 2 - README.rst | 65 ++++++ ara/__init__.py | 31 +++ ara/callback/ara.py | 131 +++++++++++ ara/models.py | 59 +++++ ara/run.py | 21 ++ ara/static/css/bootstrap-theme.min.css | 6 + ara/static/css/bootstrap.min.css | 6 + ara/static/js/bootstrap.min.js | 7 + ara/templates/home.html | 21 ++ ara/templates/host.html | 47 ++++ ara/templates/layout.html | 124 +++++++++++ ara/templates/play.html | 47 ++++ ara/templates/playbook.html | 81 +++++++ ara/templates/task.html | 47 ++++ ara/utils.py | 77 +++++++ ara/views.py | 63 ++++++ docs/Makefile | 192 +++++++++++++++++ docs/conf.py | 287 +++++++++++++++++++++++++ docs/images/preview.png | Bin 0 -> 90547 bytes docs/index.rst | 18 ++ docs/installing.rst | 50 +++++ docs/tldr.rst | 15 ++ requirements.txt | 3 + setup.cfg | 39 ++++ setup.py | 19 ++ test-requirements.txt | 3 + tox.ini | 22 ++ 30 files changed, 1695 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 LICENSE delete mode 100644 README.md create mode 100644 README.rst create mode 100644 ara/__init__.py create mode 100644 ara/callback/ara.py create mode 100644 ara/models.py create mode 100644 ara/run.py create mode 100644 ara/static/css/bootstrap-theme.min.css create mode 100644 ara/static/css/bootstrap.min.css create mode 100644 ara/static/js/bootstrap.min.js create mode 100644 ara/templates/home.html create mode 100644 ara/templates/host.html create mode 100644 ara/templates/layout.html create mode 100644 ara/templates/play.html create mode 100644 ara/templates/playbook.html create mode 100644 ara/templates/task.html create mode 100644 ara/utils.py create mode 100644 ara/views.py create mode 100644 docs/Makefile create mode 100644 docs/conf.py create mode 100644 docs/images/preview.png create mode 100644 docs/index.rst create mode 100644 docs/installing.rst create mode 100644 docs/tldr.rst create mode 100644 requirements.txt create mode 100644 setup.cfg create mode 100644 setup.py create mode 100644 test-requirements.txt create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..2338c5c5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +**ansible.sqlite +*.pyc +__pycache__/ +_build/ +build/ +*.egg +*.eggs +*.egg-info +dist +build +eggs +.tox/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md deleted file mode 100644 index 623b6dc5..00000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# ara -ara - Ansible Run Analysis diff --git a/README.rst b/README.rst new file mode 100644 index 00000000..a2fd1796 --- /dev/null +++ b/README.rst @@ -0,0 +1,65 @@ +ARA: Ansible Run Analysis +========================= +Important note +-------------- +ARA is in very early development ! +The documentation is definitely not thorough. + +Please feel free to ask questions, provide feedback, comments, bugs, ideas, +suggestions or contributions ! + +tl;dr +----- +ARA_ is an attempt to make Ansible_ runs easier to visualize, understand and +troubleshoot. + +It provides an Ansible callback to record playbook run data in a database and +a web interface built with Flask_ to browse that data. + +.. _ARA: https://github.com/dmsimard/ara +.. _Ansible: https://www.ansible.com/ +.. _Flask: http://flask.pocoo.org/ + +What it looks like +------------------ +.. image:: docs/images/preview.png + +Documentation +------------- +There is (limited) documentation available on `readthedocs.io`_. + +.. _readthedocs.io: http://ara.readthedocs.io/en/latest/ + +Installing and Using ARA +------------------------ +See the documentation_. + +.. _documentation: http://ara.readthedocs.io/en/latest/installing.html + +Author +====== +David Moreau Simard + +Contributors and special thanks +=============================== +See contributors on GitHub_. + +Special thanks to those who provided early feedback on the project. + +.. _GitHub: https://github.com/dmsimard/ara/graphs/contributors + +Copyright +========= +Copyright 2016 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/ara/__init__.py b/ara/__init__.py new file mode 100644 index 00000000..c39c14bc --- /dev/null +++ b/ara/__init__.py @@ -0,0 +1,31 @@ +# Copyright 2016 Red Hat, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import os +from flask import Flask +from flask_sqlalchemy import SQLAlchemy + +DATABASE = os.path.expanduser('~/.ara/ansible.sqlite') + +# TODO (dmsimard): Figure out the best place and way to initialize the +# database if it hasn't been created yet. +if not os.path.exists(os.path.dirname(DATABASE)): + os.makedirs(os.path.dirname(DATABASE)) + +app = Flask(__name__) +app.config['DATABASE'] = DATABASE +app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///{0}".format(DATABASE) +db = SQLAlchemy(app) + +from ara import views, models diff --git a/ara/callback/ara.py b/ara/callback/ara.py new file mode 100644 index 00000000..bcaa0190 --- /dev/null +++ b/ara/callback/ara.py @@ -0,0 +1,131 @@ +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from __future__ import (absolute_import, division, print_function) + +import os +import datetime +import uuid + +from ara import app, db, models +from ansible.plugins.callback import CallbackBase +try: + import simplejson as json +except ImportError: + import json + +__metaclass__ = type + + +class CallbackModule(CallbackBase): + """ + Saves data from an Ansible run into an sqlite database + """ + CALLBACK_VERSION = 2.0 + CALLBACK_TYPE = 'notification' + CALLBACK_NAME = 'ara' + + DATABASE = app.config['DATABASE'] + + def __init__(self): + super(CallbackModule, self).__init__() + + # TODO (dmsimard): Figure out the best place and way to initialize the + # database if it hasn't been created yet. + if not os.path.exists(os.path.dirname(self.DATABASE)): + os.makedirs(os.path.dirname(self.DATABASE)) + db.create_all() + + self.task = None + self.play = None + self.playbook = None + self.playbook_uuid = None + self.playbook_start = None + self.playbook_end = None + self.stats = None + self.task_start = None + + def log_task(self, result): + duration = (result.task_end - result.task_start).total_seconds() + data = models.Tasks(**{ + 'playbook_uuid': self.playbook_uuid, + 'host': result._host.name, + 'play': self.play.name, + 'task': self.task.name, + 'start': str(result.task_start), + 'end': str(result.task_end), + 'duration': duration, + 'result': json.dumps(result._result), + 'changed': result._result['changed'], + 'skipped': result._result['skipped'], + 'failed': result._result['failed'] + }) + db.session.add(data) + + def log_stats(self, stats): + hosts = sorted(stats.processed.keys()) + for host in hosts: + host_stats = stats.summarize(host) + data = models.Stats(**{ + 'playbook_uuid': self.playbook_uuid, + 'host': host, + 'changed': host_stats['changed'], + 'failures': host_stats['failures'], + 'ok': host_stats['ok'], + 'skipped': host_stats['skipped'] + }) + db.session.add(data) + + def log_playbook(self): + duration = (self.playbook_end - self.playbook_start).total_seconds() + data = models.Playbooks(**{ + 'id': self.playbook_uuid, + 'playbook': os.path.basename(self.playbook._file_name), + 'start': str(self.playbook_start), + 'end': str(self.playbook_end), + 'duration': duration + }) + db.session.add(data) + + def v2_runner_on_ok(self, result, **kwargs): + self.task = result._task + result.task_start = self.task_start + result.task_end = datetime.datetime.now() + + status_keys = ['changed', 'failed', 'skipped'] + for status in status_keys: + if status not in result._result: + result._result[status] = False + + self.log_task(result) + + v2_runner_on_unreachable = v2_runner_on_ok + v2_runner_on_failed = v2_runner_on_ok + v2_runner_on_skipped = v2_runner_on_ok + + def v2_playbook_on_task_start(self, task, is_conditional): + self.task_start = datetime.datetime.now() + + def v2_playbook_on_start(self, playbook): + self.playbook = playbook + self.playbook_uuid = str(uuid.uuid4()) + self.playbook_start = datetime.datetime.now() + + def v2_playbook_on_play_start(self, play): + self.play = play + + def v2_playbook_on_stats(self, stats): + self.playbook_end = datetime.datetime.now() + self.log_stats(stats) + self.log_playbook() + db.session.commit() diff --git a/ara/models.py b/ara/models.py new file mode 100644 index 00000000..9ff6a80f --- /dev/null +++ b/ara/models.py @@ -0,0 +1,59 @@ +# Copyright 2016 Red Hat, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from ara import db + + +class Playbooks(db.Model): + id = db.Column('id', db.String, primary_key=True, nullable=False) + playbook = db.Column('playbook', db.String) + start = db.Column('start', db.String) + end = db.Column('end', db.String) + duration = db.Column('duration', db.String) + + def __repr__(self): + return '' % self.playbook + + +class Tasks(db.Model): + id = db.Column('id', db.Integer, primary_key=True, nullable=False, + autoincrement=True) + playbook_uuid = db.Column('playbook_uuid', db.String) + host = db.Column('host', db.String) + play = db.Column('play', db.String) + task = db.Column('task', db.String) + start = db.Column('start', db.String) + end = db.Column('end', db.String) + duration = db.Column('duration', db.String) + result = db.Column('result', db.Text) + changed = db.Column('changed', db.Integer) + skipped = db.Column('skipped', db.Integer) + failed = db.Column('failed', db.Integer) + + def __repr__(self): + return '' % self.task + + +class Stats(db.Model): + id = db.Column('id', db.Integer, primary_key=True, nullable=False, + autoincrement=True) + playbook_uuid = db.Column('playbook_uuid', db.String) + host = db.Column('host', db.String) + changed = db.Column('changed', db.Integer) + failures = db.Column('failures', db.Integer) + ok = db.Column('ok', db.Integer) + skipped = db.Column('skipped', db.Integer) + + def __repr__(self): + return '' % self.host diff --git a/ara/run.py b/ara/run.py new file mode 100644 index 00000000..e5ee576e --- /dev/null +++ b/ara/run.py @@ -0,0 +1,21 @@ +# Copyright 2016 Red Hat, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from ara import app, db + +# TODO (dmsimard): Figure out the best place and way to initialize the +# database if it hasn't been created yet. +db.create_all() + +app.run() diff --git a/ara/static/css/bootstrap-theme.min.css b/ara/static/css/bootstrap-theme.min.css new file mode 100644 index 00000000..dc95d8e4 --- /dev/null +++ b/ara/static/css/bootstrap-theme.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} +/*# sourceMappingURL=bootstrap-theme.min.css.map */ \ No newline at end of file diff --git a/ara/static/css/bootstrap.min.css b/ara/static/css/bootstrap.min.css new file mode 100644 index 00000000..4cf729e4 --- /dev/null +++ b/ara/static/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-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-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-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)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/ara/static/js/bootstrap.min.js b/ara/static/js/bootstrap.min.js new file mode 100644 index 00000000..e79c0651 --- /dev/null +++ b/ara/static/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/ara/templates/home.html b/ara/templates/home.html new file mode 100644 index 00000000..517a5c5e --- /dev/null +++ b/ara/templates/home.html @@ -0,0 +1,21 @@ +{% extends "layout.html" %} +{% block content %} +
+
+ ARA is meant to make it easy to browse Ansible playbook runs. +
+ How to use: +
    +
  • Browse hosts, tasks, plays and playbooks with the top menu
  • +
  • When browsing details:
  • +
      +
    • Click on timestamps to generate a link to this specific event
    • +
    • Click on a host in the table to go to this host's events
    • +
    • Click on a task in the table to see all events for this task
    • +
    • Click on a play in the table to see all events for this play
    • +
    • Click on a playbook in the table to see all events for this playbook
    • +
    +
+
+
+{% endblock %} diff --git a/ara/templates/host.html b/ara/templates/host.html new file mode 100644 index 00000000..d553e49d --- /dev/null +++ b/ara/templates/host.html @@ -0,0 +1,47 @@ +{% extends "layout.html" %} +{% block content %} +
+
+

Playbook run for host: "{{ host }}"

+
+
+
+
+ + + + + + + + + + + {% for row in data %} + + + + + + + + + + {% endfor %} + +
TimestampStatusHostPlaybook
+ {{ row.end |datetime }} + +
+ {{ row.duration |truncate(5) }}s +
{{ row.host }} + +
+
+
+{% endblock %} diff --git a/ara/templates/layout.html b/ara/templates/layout.html new file mode 100644 index 00000000..8333ec56 --- /dev/null +++ b/ara/templates/layout.html @@ -0,0 +1,124 @@ + + + + + + + ARA - Ansible run analysis + + + + + + + +
+ + {% block content %} + {% endblock %} +
+
+
+
+ ARA - Ansible run analysis is an open source project available on Github. +
+ + + + + diff --git a/ara/templates/play.html b/ara/templates/play.html new file mode 100644 index 00000000..7358138d --- /dev/null +++ b/ara/templates/play.html @@ -0,0 +1,47 @@ +{% extends "layout.html" %} +{% block content %} +
+
+

Playbook run for play: "{{ play }}"

+
+
+
+
+ + + + + + + + + + + {% for row in data %} + + + + + + + + + + {% endfor %} + +
TimestampStatusHostPlaybook
+ {{ row.end |datetime }} + +
+ {{ row.duration |truncate(5) }}s +
{{ row.host }} + +
+
+
+{% endblock %} diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html new file mode 100644 index 00000000..b288ac36 --- /dev/null +++ b/ara/templates/playbook.html @@ -0,0 +1,81 @@ +{% extends "layout.html" %} +{% block content %} +
+
+

Playbook run for playbook: "{{ playbook }}"

+
+
+
+
+
+

Stats

+
+
+ + + + + + + + + + + + {% for row in stats_data %} + + + + + + + + {% endfor %} + +
HostOkChangedSkippedFailed
{{ row.host }}{{ row.ok }}{{ row.changed }}{{ row.skipped }}{{ row.failures }}
+
+
+
+
+

Run information

+ Click on a row to expand verbose output +
+
+
+ + + + + + + + + + + {% for row in task_data %} + + + + + + + + + + {% endfor %} + +
TimestampStatusHostPlaybook
+ {{ row.end |datetime }} + +
+ {{ row.duration |truncate(5) }}s +
{{ row.host }} + +
+
+{% endblock %} \ No newline at end of file diff --git a/ara/templates/task.html b/ara/templates/task.html new file mode 100644 index 00000000..86e3a15e --- /dev/null +++ b/ara/templates/task.html @@ -0,0 +1,47 @@ +{% extends "layout.html" %} +{% block content %} +
+
+

Playbook run for task: "{{ task }}"

+
+
+
+
+ + + + + + + + + + + {% for row in data %} + + + + + + + + + + {% endfor %} + +
TimestampStatusHostPlaybook
+ {{ row.end |datetime }} + +
+ {{ row.duration |truncate(5) }}s +
{{ row.host }} + +
+
+
+{% endblock %} diff --git a/ara/utils.py b/ara/utils.py new file mode 100644 index 00000000..18db5985 --- /dev/null +++ b/ara/utils.py @@ -0,0 +1,77 @@ +# Copyright 2016 Red Hat, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import datetime +import json + +from ara import app, models + + +# Jinja filters +@app.template_filter('datetime') +def jinja_date_formatter(timestamp, format='%Y-%m-%d-%H:%M:%S.%f'): + """ Reformats a datetime timestamp from str(datetime.datetime)""" + datetime_format = "%Y-%m-%d %H:%M:%S.%f" + timestamp = datetime.datetime.strptime(timestamp, datetime_format) + return timestamp.strftime(format)[:-3] + + +@app.template_filter('truncate') +def jinja_truncate_string(string, length=40): + """ Truncates a string to max length """ + return string[:length] + + +@app.template_filter('to_nice_json') +def jinja_to_nice_json(result): + """ Formats a result """ + result = json.loads(result) + return json.dumps(result, indent=4, sort_keys=True) + + +@app.template_filter('pick_status') +def jinja_pick_status(row): + """ Returns the status of a row """ + if row.changed: + return 'changed' + if row.skipped: + return 'skipped' + if row.failed: + return 'failed' + return 'ok' + + +def default_data(): + data = { + 'hosts': [], + 'tasks': [], + 'plays': [], + 'playbooks': [] + } + + task_data = models.Tasks.query.all() + for row in task_data: + if row.host not in data['hosts']: + data['hosts'].append(row.host) + if row.task not in data['tasks']: + data['tasks'].append(row.task) + if row.play not in data['plays']: + data['plays'].append(row.play) + + playbook_data = models.Playbooks.query.all() + for row in playbook_data: + if row.playbook not in data['playbooks']: + data['playbooks'].append(row.playbook) + + return data diff --git a/ara/views.py b/ara/views.py new file mode 100644 index 00000000..4e4886ac --- /dev/null +++ b/ara/views.py @@ -0,0 +1,63 @@ +# Copyright 2016 Red Hat, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + + +from flask import render_template +from ara import app, models, utils + + +# Routes +@app.route('/') +def main(): + """ Returns the home page """ + default_data = utils.default_data() + return render_template('home.html', **default_data) + + +@app.route('/host/') +def host(host): + default_data = utils.default_data() + data = models.Tasks.query.filter_by(host=host) + + return render_template('host.html', host=host, data=data, **default_data) + + +@app.route('/task/') +def task(task): + default_data = utils.default_data() + data = models.Tasks.query.filter_by(task=task) + + return render_template('task.html', task=task, data=data, **default_data) + + +@app.route('/play/') +def play(play): + default_data = utils.default_data() + data = models.Tasks.query.filter_by(play=play) + + return render_template('play.html', play=play, data=data, **default_data) + + +@app.route('/playbook/') +def playbook(playbook): + default_data = utils.default_data() + playbook_data = models.Playbooks.query.filter_by(playbook=playbook).first() + playbook_uuid = playbook_data.id + + task_data = models.Tasks.query.filter_by(playbook_uuid=playbook_uuid) + stats_data = models.Stats.query.filter_by(playbook_uuid=playbook_uuid) + + return render_template('playbook.html', playbook=playbook, + playbook_data=playbook_data, task_data=task_data, + stats_data=stats_data, **default_data) diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 00000000..c5dfeb6f --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,192 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" + +clean: + rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/rpm-versiontracker.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/rpm-versiontracker.qhc" + +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/rpm-versiontracker" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/rpm-versiontracker" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 00000000..584b9045 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,287 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# ara documentation build configuration file +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os +import shlex +import sphinx_rtd_theme + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = 'ara' +copyright = '2016, Red Hat Inc' +author = 'David Moreau Simard' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '0.1' +# The full version, including alpha/beta/rc tags. +release = '0.1' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr' +#html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# Now only 'ja' uses this config value +#html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +#html_search_scorer = 'scorer.js' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'ara' + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', + +# Latex figure (float) alignment +#'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'ara.tex', 'ARA Documentation', + 'David Moreau Simard', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'ara', 'ARA Documentation', + [author], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'ara', 'ARA Documentation', + author, 'ARA', 'ARA - Ansible Run Analysis', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False diff --git a/docs/images/preview.png b/docs/images/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..93f5284722c6019ab6aa57b37a3b6d9cae46bf05 GIT binary patch literal 90547 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 literal 0 HcmV?d00001 diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 00000000..b42fa997 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,18 @@ +Welcome to the ARA documentation! +================================= +Important note +-------------- +ARA is in very early development ! +The documentation is definitely not thorough. + +Please feel free to ask questions, provide feedback, comments, bugs, ideas, +suggestions or contributions ! + +Table of Contents +================= + +.. toctree:: + :maxdepth: 2 + + What is ARA: tl;dr + Installing and using ARA diff --git a/docs/installing.rst b/docs/installing.rst new file mode 100644 index 00000000..e3096189 --- /dev/null +++ b/docs/installing.rst @@ -0,0 +1,50 @@ +Installing and using ARA +======================== +Clone the source and install it +------------------------------- +:: + + git clone https://github.com/dmsimard/ara + cd ara + pip install . + +*ARA is on `PyPi`_ but is not currently kept up-to-date with the fast paced early development.* + +.. _PyPi: https://pypi.python.org/pypi/ara + +Set up the callback +------------------- +To use ARA, you'll first need to set up Ansible to use the ARA callback_. + +The callback is provided when installing ARA but you need to let Ansible know +where to look for. +Set up your `ansible.cfg`_ file to seek that callback in the appropriate +directory, for example:: + + [defaults] + callback_plugins = /usr/lib/python2.7/site-packages/ara/callback:$VIRTUAL_ENV/lib/python2.7/site-packages/ara/callback + +.. _callback: https://github.com/dmsimard/ara/blob/master/callback.py +.. _ansible.cfg: http://docs.ansible.com/ansible/intro_configuration.html#configuration-file + +*That's it!* + +The next time you run Ansible, ARA will generate a sqlite database at the +default path in ``~/.ara/ansible.sqlite``. + +This is the database that the web application will use. + +To modify the path at which the database is stored and read, modify the +configuration in ``site-packages/ara/__init__.py``. + +**Note**: *The configuration of the database path will be made less awkward eventually.* + +Set up the web application +-------------------------- +Set this up like `any other Flask application`_, it's nothing special (yet). +To run the development webserver, you can run:: + + python ara/run.py + * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) + +.. _any other Flask application: http://flask.pocoo.org/docs/0.10/deploying/uwsgi/ diff --git a/docs/tldr.rst b/docs/tldr.rst new file mode 100644 index 00000000..424d8d53 --- /dev/null +++ b/docs/tldr.rst @@ -0,0 +1,15 @@ +tl;dr +===== +ARA_ is an attempt to make Ansible_ runs easier to visualize, understand and +troubleshoot. + +It provides an Ansible callback to record playbook run data in a database and +a web interface built with Flask_ to browse that data. + +.. _ARA: https://github.com/dmsimard/ara +.. _Ansible: https://www.ansible.com/ +.. _Flask: http://flask.pocoo.org/ + +What it looks like +------------------ +.. image:: images/preview.png diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..74891fdf --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +Flask +Flask-SQLAlchemy +pbr>=1.6 \ No newline at end of file diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 00000000..0fa03667 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,39 @@ +[metadata] +name = ara +summary = ARA - Ansible run analysis +description-file = + README.rst +author = David Moreau Simard +author-email = dms@redhat.com +home-page = https://github.com/dmsimard/ara +classifier = + License :: OSI Approved :: Apache Software License + Development Status :: 3 - Alpha + Intended Audience :: Developers + Intended Audience :: System Administrators + Intended Audience :: Information Technology + Programming Language :: Python :: 2.7 + Topic :: Utilities + +[global] +setup-hooks = + pbr.hooks.setup_hook + +[files] +packages = + ara + +[build_sphinx] +source-dir = docs +build-dir = docs/build +all_files = 1 + +[upload_sphinx] +upload-dir = docs/html + +[wheel] +universal = 1 + +[pbr] +skip_authors = True +skip_changelog = True diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..be0fbcdd --- /dev/null +++ b/setup.py @@ -0,0 +1,19 @@ +# Copyright 2016 Red Hat, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import setuptools + +setuptools.setup( + setup_requires=['pbr'], + pbr=True) diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 00000000..04e6dd0e --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,3 @@ +sphinx +sphinx-rtd-theme +flake8 \ No newline at end of file diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..408c6199 --- /dev/null +++ b/tox.ini @@ -0,0 +1,22 @@ +[tox] +minversion = 1.6 +envlist = py27,pep8 +skipdist = True + +[testenv] +sitepackages=True +usedevelop = True +install_command = pip install -U {opts} {packages} +setenv = VIRTUAL_ENV={envdir} +deps = -r{toxinidir}/test-requirements.txt + +[testenv:docs] +commands = python setup.py build_sphinx + +[testenv:pep8] +commands = flake8 ara + +[flake8] +ignore = E402,F401 +show-source = True +exclude = .venv,.tox,docs,*egg,*settings.py From 594b6631c29dc372a1701e86a6df036492e32624 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 07:00:37 -0400 Subject: [PATCH 003/499] Improve display when no names are provided for a task or a play --- ara/templates/host.html | 12 ++++++++++-- ara/templates/play.html | 12 ++++++++++-- ara/templates/playbook.html | 12 ++++++++++-- ara/templates/task.html | 12 ++++++++++-- 4 files changed, 40 insertions(+), 8 deletions(-) diff --git a/ara/templates/host.html b/ara/templates/host.html index d553e49d..ba0de565 100644 --- a/ara/templates/host.html +++ b/ara/templates/host.html @@ -29,9 +29,17 @@

Playbook run for host: "{{ host }}" {{ row.host }} diff --git a/ara/templates/play.html b/ara/templates/play.html index 7358138d..c19d1a4c 100644 --- a/ara/templates/play.html +++ b/ara/templates/play.html @@ -29,9 +29,17 @@

Playbook run for play: "{{ play }}" {{ row.host }} diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html index b288ac36..f8c3d344 100644 --- a/ara/templates/playbook.html +++ b/ara/templates/playbook.html @@ -64,9 +64,17 @@

Run information

{{ row.host }} diff --git a/ara/templates/task.html b/ara/templates/task.html index 86e3a15e..d5ef2571 100644 --- a/ara/templates/task.html +++ b/ara/templates/task.html @@ -29,9 +29,17 @@

Playbook run for task: "{{ task }}" {{ row.host }} From 11b52359af9a2fc6d9787aa6bb00a465a0fc0525 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 07:14:14 -0400 Subject: [PATCH 004/499] Add support for recording and showing which module is used --- ara/callback/ara.py | 1 + ara/models.py | 1 + ara/templates/host.html | 3 +++ ara/templates/play.html | 3 +++ ara/templates/playbook.html | 3 +++ ara/templates/task.html | 3 +++ 6 files changed, 14 insertions(+) diff --git a/ara/callback/ara.py b/ara/callback/ara.py index bcaa0190..36aba83b 100644 --- a/ara/callback/ara.py +++ b/ara/callback/ara.py @@ -62,6 +62,7 @@ def log_task(self, result): 'host': result._host.name, 'play': self.play.name, 'task': self.task.name, + 'module': self.task.action, 'start': str(result.task_start), 'end': str(result.task_end), 'duration': duration, diff --git a/ara/models.py b/ara/models.py index 9ff6a80f..12563777 100644 --- a/ara/models.py +++ b/ara/models.py @@ -33,6 +33,7 @@ class Tasks(db.Model): host = db.Column('host', db.String) play = db.Column('play', db.String) task = db.Column('task', db.String) + module = db.Column('module', db.String) start = db.Column('start', db.String) end = db.Column('end', db.String) duration = db.Column('duration', db.String) diff --git a/ara/templates/host.html b/ara/templates/host.html index ba0de565..46c97ff6 100644 --- a/ara/templates/host.html +++ b/ara/templates/host.html @@ -40,6 +40,9 @@

Playbook run for host: "{{ host }}" {% else %}
  • Task: No name provided
  • {% endif %} +
      +
    • Module: {{ row.module }}
    • +
    diff --git a/ara/templates/play.html b/ara/templates/play.html index c19d1a4c..d2073d60 100644 --- a/ara/templates/play.html +++ b/ara/templates/play.html @@ -40,6 +40,9 @@

    Playbook run for play: "{{ play }}" {% else %}
  • Task: No name provided
  • {% endif %} +
      +
    • Module: {{ row.module }}
    • +
    diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html index f8c3d344..b9f97d6d 100644 --- a/ara/templates/playbook.html +++ b/ara/templates/playbook.html @@ -75,6 +75,9 @@

    Run information

    {% else %}
  • Task: No name provided
  • {% endif %} +
      +
    • Module: {{ row.module }}
    • +
    diff --git a/ara/templates/task.html b/ara/templates/task.html index d5ef2571..599d9154 100644 --- a/ara/templates/task.html +++ b/ara/templates/task.html @@ -40,6 +40,9 @@

    Playbook run for task: "{{ task }}" {% else %}
  • Task: No name provided
  • {% endif %} +
      +
    • Module: {{ row.module }}
    • +
    From 0e1389eb7b4ca9c3d4406c79dbc6f01c9e779599 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 07:16:48 -0400 Subject: [PATCH 005/499] Rename header for play information --- ara/templates/host.html | 2 +- ara/templates/play.html | 2 +- ara/templates/playbook.html | 2 +- ara/templates/task.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ara/templates/host.html b/ara/templates/host.html index 46c97ff6..aa9ec355 100644 --- a/ara/templates/host.html +++ b/ara/templates/host.html @@ -13,7 +13,7 @@

    Playbook run for host: "{{ host }}" Timestamp Status Host - Playbook + Play > Task > Module diff --git a/ara/templates/play.html b/ara/templates/play.html index d2073d60..635aa8b3 100644 --- a/ara/templates/play.html +++ b/ara/templates/play.html @@ -13,7 +13,7 @@

    Playbook run for play: "{{ play }}" Timestamp Status Host - Playbook + Play > Task > Module diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html index b9f97d6d..a9fb823c 100644 --- a/ara/templates/playbook.html +++ b/ara/templates/playbook.html @@ -48,7 +48,7 @@

    Run information

    Timestamp Status Host - Playbook + Play > Task > Module diff --git a/ara/templates/task.html b/ara/templates/task.html index 599d9154..5ad534a7 100644 --- a/ara/templates/task.html +++ b/ara/templates/task.html @@ -13,7 +13,7 @@

    Playbook run for task: "{{ task }}" Timestamp Status Host - Playbook + Play > Task > Module From 951268eedabcd3bb0ce9c84de4331f90a03e23d7 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 07:18:16 -0400 Subject: [PATCH 006/499] Uniformize templates for header and hint for verbose output --- ara/templates/host.html | 6 ++++++ ara/templates/play.html | 6 ++++++ ara/templates/task.html | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/ara/templates/host.html b/ara/templates/host.html index aa9ec355..ebd7a04c 100644 --- a/ara/templates/host.html +++ b/ara/templates/host.html @@ -5,6 +5,12 @@

    Playbook run for host: "{{ host }}"

    +
    +
    +

    Run information

    + Click on a row to expand verbose output +
    +
    diff --git a/ara/templates/play.html b/ara/templates/play.html index 635aa8b3..da1fc27c 100644 --- a/ara/templates/play.html +++ b/ara/templates/play.html @@ -5,6 +5,12 @@

    Playbook run for play: "{{ play }}"

    +
    +
    +

    Run information

    + Click on a row to expand verbose output +
    +
    diff --git a/ara/templates/task.html b/ara/templates/task.html index 5ad534a7..de825a3a 100644 --- a/ara/templates/task.html +++ b/ara/templates/task.html @@ -5,6 +5,12 @@

    Playbook run for task: "{{ task }}"

    +
    +
    +

    Run information

    + Click on a row to expand verbose output +
    +
    From 9b02759c6af0113d4249aeddc9cb1e0d8737acd6 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 08:02:08 -0400 Subject: [PATCH 007/499] General HTML improvements --- ara/templates/home.html | 36 +++++++++++---- ara/templates/host.html | 89 +++++++++++++++++-------------------- ara/templates/layout.html | 9 ++-- ara/templates/play.html | 89 +++++++++++++++++-------------------- ara/templates/playbook.html | 7 +-- ara/templates/task.html | 89 +++++++++++++++++-------------------- 6 files changed, 158 insertions(+), 161 deletions(-) diff --git a/ara/templates/home.html b/ara/templates/home.html index 517a5c5e..7b6d79c5 100644 --- a/ara/templates/home.html +++ b/ara/templates/home.html @@ -1,19 +1,39 @@ {% extends "layout.html" %} {% block content %} +
    +

    + ARA is + an attempt to make Ansible runs easier to visualize, understand and + troubleshoot.
    +
    +

    +

    + It provides an + Ansible callback + to record playbook run data in a database and a web interface built + with Flask + to browse that data. +

    +
    +
    +
    +
    +

    Documentation

    + Documentation is available on readthedocs.io. +
    +
    -
    - ARA is meant to make it easy to browse Ansible playbook runs. -
    - How to use: +
    +

    Browsing tips

    +
    +
    • Browse hosts, tasks, plays and playbooks with the top menu
    • When browsing details:
      • Click on timestamps to generate a link to this specific event
      • -
      • Click on a host in the table to go to this host's events
      • -
      • Click on a task in the table to see all events for this task
      • -
      • Click on a play in the table to see all events for this play
      • -
      • Click on a playbook in the table to see all events for this playbook
      • +
      • Click anywhere on a row to expand verbose output
      • +
      • Click on a host, play or task to see events specific to them
    diff --git a/ara/templates/host.html b/ara/templates/host.html index ebd7a04c..fd5c13b2 100644 --- a/ara/templates/host.html +++ b/ara/templates/host.html @@ -5,60 +5,53 @@

    Playbook run for host: "{{ host }}"

    -
    -
    -

    Run information

    - Click on a row to expand verbose output -
    -
    -
    -
    - - - - - - - - - - {% for row in data %} - - - - - + + + + + {% endfor %} + +
    TimestampStatusHostPlay > Task > Module
    - {{ row.end |datetime }} - -
    - {{ row.duration |truncate(5) }}s -
    {{ row.host }} +

    Run information

    + + + + + + + + + + + {% for row in data %} + + + + + - - - - - {% endfor %} - -
    TimestampStatusHostPlay > Task > Module
    + {{ row.end |datetime }} + +
    + {{ row.duration |truncate(5) }}s +
    {{ row.host }} +
      + {% if row.play %} +
    • Play: {{ row.play }}
    • + {% else %} +
    • Play: No name provided
    • + {% endif %}
        - {% if row.play %} -
      • Play: {{ row.play }}
      • + {% if row.task %} +
      • Task: {{ row.task }}
      • {% else %} -
      • Play: No name provided
      • +
      • Task: No name provided
      • {% endif %}
          - {% if row.task %} -
        • Task: {{ row.task }}
        • - {% else %} -
        • Task: No name provided
        • - {% endif %} -
            -
          • Module: {{ row.module }}
          • -
          +
        • Module: {{ row.module }}
      -
    - + +
    {% endblock %} diff --git a/ara/templates/layout.html b/ara/templates/layout.html index 8333ec56..6e0c14ca 100644 --- a/ara/templates/layout.html +++ b/ara/templates/layout.html @@ -37,7 +37,7 @@
    @@ -102,7 +105,7 @@

    - ARA - Ansible run analysis is an open source project available on Github. + ARA - Ansible Run Analysis is an open source project available on Github.
    diff --git a/ara/templates/play.html b/ara/templates/play.html index da1fc27c..713649ad 100644 --- a/ara/templates/play.html +++ b/ara/templates/play.html @@ -5,60 +5,53 @@

    Playbook run for play: "{{ play }}"

    -
    -
    -

    Run information

    - Click on a row to expand verbose output -
    -
    -
    - - - - - - - - - - - {% for row in data %} - - - - - + + + + + {% endfor %} + +
    TimestampStatusHostPlay > Task > Module
    - {{ row.end |datetime }} - -
    - {{ row.duration |truncate(5) }}s -
    {{ row.host }} +

    Run information

    + + + + + + + + + + + {% for row in data %} + + + + + - - - - - {% endfor %} - -
    TimestampStatusHostPlay > Task > Module
    + {{ row.end |datetime }} + +
    + {{ row.duration |truncate(5) }}s +
    {{ row.host }} +
      + {% if row.play %} +
    • Play: {{ row.play }}
    • + {% else %} +
    • Play: No name provided
    • + {% endif %}
        - {% if row.play %} -
      • Play: {{ row.play }}
      • + {% if row.task %} +
      • Task: {{ row.task }}
      • {% else %} -
      • Play: No name provided
      • +
      • Task: No name provided
      • {% endif %}
          - {% if row.task %} -
        • Task: {{ row.task }}
        • - {% else %} -
        • Task: No name provided
        • - {% endif %} -
            -
          • Module: {{ row.module }}
          • -
          +
        • Module: {{ row.module }}
      -
    - + +
    {% endblock %} diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html index a9fb823c..8c4ae45f 100644 --- a/ara/templates/playbook.html +++ b/ara/templates/playbook.html @@ -33,15 +33,10 @@

    Stats

    {% endfor %} -
    - -
    -
    -

    Run information

    - Click on a row to expand verbose output
    +

    Run information

    diff --git a/ara/templates/task.html b/ara/templates/task.html index de825a3a..fd0097b3 100644 --- a/ara/templates/task.html +++ b/ara/templates/task.html @@ -5,60 +5,53 @@

    Playbook run for task: "{{ task }}"

    -
    -
    -

    Run information

    - Click on a row to expand verbose output -
    -
    -
    -
    - - - - - - - - - - {% for row in data %} - - - - - + + + + + {% endfor %} + +
    TimestampStatusHostPlay > Task > Module
    - {{ row.end |datetime }} - -
    - {{ row.duration |truncate(5) }}s -
    {{ row.host }} +

    Run information

    + + + + + + + + + + + {% for row in data %} + + + + + - - - - - {% endfor %} - -
    TimestampStatusHostPlay > Task > Module
    + {{ row.end |datetime }} + +
    + {{ row.duration |truncate(5) }}s +
    {{ row.host }} +
      + {% if row.play %} +
    • Play: {{ row.play }}
    • + {% else %} +
    • Play: No name provided
    • + {% endif %}
        - {% if row.play %} -
      • Play: {{ row.play }}
      • + {% if row.task %} +
      • Task: {{ row.task }}
      • {% else %} -
      • Play: No name provided
      • +
      • Task: No name provided
      • {% endif %}
          - {% if row.task %} -
        • Task: {{ row.task }}
        • - {% else %} -
        • Task: No name provided
        • - {% endif %} -
            -
          • Module: {{ row.module }}
          • -
          +
        • Module: {{ row.module }}
      -
    - + +
    {% endblock %} From 84a6621681c69bc60c0a82e21a12191064d9a3dd Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 08:03:31 -0400 Subject: [PATCH 008/499] Fix class name so clicking on results will effectively hide them --- ara/templates/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ara/templates/layout.html b/ara/templates/layout.html index 6e0c14ca..6fdc8df2 100644 --- a/ara/templates/layout.html +++ b/ara/templates/layout.html @@ -118,7 +118,7 @@ else ele.css('display', 'none'); }); - $(".result").click(function(){ + $(".results").click(function(){ $(this).css('display', 'none'); }); }); From 159b041e873c00f696a9951209f949bdbff21e68 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 08:10:06 -0400 Subject: [PATCH 009/499] Grow the labels a little bit --- ara/templates/layout.html | 8 ++++++++ ara/templates/playbook.html | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ara/templates/layout.html b/ara/templates/layout.html index 6fdc8df2..076b5a6e 100644 --- a/ara/templates/layout.html +++ b/ara/templates/layout.html @@ -32,6 +32,14 @@ word-wrap: break-word; word-break: break-word; } + + th { + font-size: 120%; + } + + .label { + font-size: 90%; + } diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html index 8c4ae45f..c7f3513f 100644 --- a/ara/templates/playbook.html +++ b/ara/templates/playbook.html @@ -15,10 +15,10 @@

    Stats

    Host - Ok - Changed - Skipped - Failed + + + + From 34d4efc91d55977791a651e6d31bd1c8042c8bd9 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 08:12:38 -0400 Subject: [PATCH 010/499] Put the label classes and the text in the same case To make things simpler.. --- ara/templates/layout.html | 10 +++++----- ara/templates/playbook.html | 8 ++++---- ara/utils.py | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/ara/templates/layout.html b/ara/templates/layout.html index 076b5a6e..17d8eff5 100644 --- a/ara/templates/layout.html +++ b/ara/templates/layout.html @@ -10,19 +10,19 @@ diff --git a/ara/templates/play.html b/ara/templates/play.html index 713649ad..a74a3ca9 100644 --- a/ara/templates/play.html +++ b/ara/templates/play.html @@ -5,8 +5,21 @@

    Playbook run for play: "{{ play }}"

    +
    +
    +

    Run information

    +
    +
    +

    Filter by status

    + + + + + +
    +
    +
    -

    Run information

    @@ -23,7 +36,10 @@

    Run information

    {{ row.end |datetime }} diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html index d421cff4..b10a6ab1 100644 --- a/ara/templates/playbook.html +++ b/ara/templates/playbook.html @@ -15,10 +15,10 @@

    Stats

    - - - - + + + + @@ -35,8 +35,24 @@

    Stats

    -
    +
    + {% if row.failed and row.ignore_errors %} +
    + {% endif %} {{ row.duration |truncate(5) }}s
    {{ row.host }}
    Host
    +
    +
    +
    +
    +
    +

    Run information

    +
    +
    +

    Filter by status

    + + + + + +
    +
    +
    -

    Run information

    @@ -53,9 +69,9 @@

    Run information

    {{ row.end |datetime }} diff --git a/ara/templates/task.html b/ara/templates/task.html index fd0097b3..79ac518d 100644 --- a/ara/templates/task.html +++ b/ara/templates/task.html @@ -5,8 +5,21 @@

    Playbook run for task: "{{ task }}"

    +
    +
    +

    Run information

    +
    +
    +

    Filter by status

    + + + + + +
    +
    +
    -

    Run information

    -
    +
    {% if row.failed and row.ignore_errors %} -
    +
    {% endif %} {{ row.duration |truncate(5) }}s
    @@ -23,7 +36,10 @@

    Run information

    {{ row.end |datetime }} diff --git a/ara/utils.py b/ara/utils.py index 20e133cd..dad69626 100644 --- a/ara/utils.py +++ b/ara/utils.py @@ -53,6 +53,9 @@ def jinja_pick_status(row): def default_data(): + """ + Fetches a default set of data (mostly for displaying the top nav bar) + """ data = { 'hosts': [], 'tasks': [], @@ -75,3 +78,25 @@ def default_data(): data['playbooks'].append(row.playbook) return data + +def status_to_query(status=None): + """ + Returns a dict based on status + """ + if status is not None: + return { + 'ok': { + 'changed': 0, + 'failed': 0, + 'skipped': 0 + }, + 'changed': {'changed': 1}, + 'ignored': { + 'failed': 1, + 'ignore_errors': 1 + }, + 'failed': {'failed': 1}, + 'skipped': {'skipped': 1}, + }[status] + else: + return None diff --git a/ara/views.py b/ara/views.py index 4e4886ac..8bddcf60 100644 --- a/ara/views.py +++ b/ara/views.py @@ -26,36 +26,60 @@ def main(): @app.route('/host/') -def host(host): +@app.route('/host//') +def host(host, status=None): default_data = utils.default_data() - data = models.Tasks.query.filter_by(host=host) + + if status is not None: + status_query = utils.status_to_query(status) + data = models.Tasks.query.filter_by(host=host, **status_query) + else: + data = models.Tasks.query.filter_by(host=host) return render_template('host.html', host=host, data=data, **default_data) @app.route('/task/') -def task(task): +@app.route('/task//') +def task(task, status=None): default_data = utils.default_data() - data = models.Tasks.query.filter_by(task=task) + + if status is not None: + status_query = utils.status_to_query(status) + data = models.Tasks.query.filter_by(task=task, **status_query) + else: + data = models.Tasks.query.filter_by(task=task) return render_template('task.html', task=task, data=data, **default_data) @app.route('/play/') -def play(play): +@app.route('/play//') +def play(play, status=None): default_data = utils.default_data() - data = models.Tasks.query.filter_by(play=play) + + if status is not None: + status_query = utils.status_to_query(status) + data = models.Tasks.query.filter_by(play=play, **status_query) + else: + data = models.Tasks.query.filter_by(play=play) return render_template('play.html', play=play, data=data, **default_data) @app.route('/playbook/') -def playbook(playbook): +@app.route('/playbook//') +def playbook(playbook, status=None): default_data = utils.default_data() playbook_data = models.Playbooks.query.filter_by(playbook=playbook).first() playbook_uuid = playbook_data.id - task_data = models.Tasks.query.filter_by(playbook_uuid=playbook_uuid) + if status is not None: + status_query = utils.status_to_query(status) + task_data = models.Tasks.query.filter_by(playbook_uuid=playbook_uuid, + **status_query) + else: + task_data = models.Tasks.query.filter_by(playbook_uuid=playbook_uuid) stats_data = models.Stats.query.filter_by(playbook_uuid=playbook_uuid) return render_template('playbook.html', playbook=playbook, diff --git a/docs/images/preview.png b/docs/images/preview.png index 3be5e6dfa26cde186c85d275a256564c25a91bd2..5fc79fcee967175b2d27d555e3a9829fc79cc1ec 100644 GIT binary patch literal 128731 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 literal 111289 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

    o`i;XU#kWQ?qq~z+#$%t{d;n%lxkY|1Q*P&r9 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 N^QSUTaz$Uf{a<+SI2r%| From e49afdb17b9bc64b5bbce7171df4e65dd8f07561 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 14:29:59 -0400 Subject: [PATCH 018/499] Add support for showing specific runs by UUID --- ara/templates/run.html | 107 +++++++++++++++++++++++++++++++++++++++++ ara/views.py | 20 ++++++++ 2 files changed, 127 insertions(+) create mode 100644 ara/templates/run.html diff --git a/ara/templates/run.html b/ara/templates/run.html new file mode 100644 index 00000000..0c8fefed --- /dev/null +++ b/ara/templates/run.html @@ -0,0 +1,107 @@ +{% extends "layout.html" %} +{% block content %} +

    +
    +

    Specific run for playbook: "{{ playbook }}"

    + UUID: {{ id }} +
    +
    +
    +
    +
    +

    Stats

    +
    +
    +
    -
    +
    + {% if row.failed and row.ignore_errors %} +
    + {% endif %} {{ row.duration |truncate(5) }}s
    {{ row.host }}
    + + + + + + + + + + + {% for row in stats_data %} + + + + + + + + {% endfor %} + +
    Host
    {{ row.host }}{{ row.ok }}{{ row.changed }}{{ row.skipped }}{{ row.failures }}
    +
    + +
    +
    +
    +
    +
    +

    Run information

    +
    +
    +

    Filter by status

    + + + + + +
    +
    +
    +
    + + + + + + + + + + + {% for row in task_data %} + + + + + + + + + + {% endfor %} + +
    TimestampStatusHostPlay > Task > Module
    + {{ row.end |datetime }} + +
    + {% if row.failed and row.ignore_errors %} +
    + {% endif %} + {{ row.duration |truncate(5) }}s +
    {{ row.host }} +
      + {% if row.play %} +
    • Play: {{ row.play }}
    • + {% else %} +
    • Play: No name provided
    • + {% endif %} +
        + {% if row.task %} +
      • Task: {{ row.task }}
      • + {% else %} +
      • Task: No name provided
      • + {% endif %} +
          +
        • Module: {{ row.module }}
        • +
        +
      +
    +
    +
    +{% endblock %} \ No newline at end of file diff --git a/ara/views.py b/ara/views.py index 8bddcf60..35fb8aa5 100644 --- a/ara/views.py +++ b/ara/views.py @@ -85,3 +85,23 @@ def playbook(playbook, status=None): return render_template('playbook.html', playbook=playbook, playbook_data=playbook_data, task_data=task_data, stats_data=stats_data, **default_data) + + +@app.route('/run/') +@app.route('/run//') +def run(id, status=None): + default_data = utils.default_data() + playbook_data = models.Playbooks.query.filter_by(id=id).first() + playbook = playbook_data.playbook + + if status is not None: + status_query = utils.status_to_query(status) + task_data = models.Tasks.query.filter_by(playbook_uuid=id, + **status_query) + else: + task_data = models.Tasks.query.filter_by(playbook_uuid=id) + stats_data = models.Stats.query.filter_by(playbook_uuid=id) + + return render_template('run.html', playbook=playbook, id=id, + playbook_data=playbook_data, task_data=task_data, + stats_data=stats_data, **default_data) From 40e2a470cea025419e046837e49ed9e1a867d993 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 14:32:59 -0400 Subject: [PATCH 019/499] Add a link to clear filters --- ara/templates/host.html | 1 + ara/templates/play.html | 1 + ara/templates/playbook.html | 1 + ara/templates/run.html | 1 + ara/templates/task.html | 1 + 5 files changed, 5 insertions(+) diff --git a/ara/templates/host.html b/ara/templates/host.html index ff2d0166..80f55ad6 100644 --- a/ara/templates/host.html +++ b/ara/templates/host.html @@ -16,6 +16,7 @@

    Filter by status

    +
    diff --git a/ara/templates/play.html b/ara/templates/play.html index a74a3ca9..8b3c91a7 100644 --- a/ara/templates/play.html +++ b/ara/templates/play.html @@ -16,6 +16,7 @@

    Filter by status

    +
    diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html index b10a6ab1..025a21c6 100644 --- a/ara/templates/playbook.html +++ b/ara/templates/playbook.html @@ -49,6 +49,7 @@

    Filter by status

    +
    diff --git a/ara/templates/run.html b/ara/templates/run.html index 0c8fefed..3b8627a1 100644 --- a/ara/templates/run.html +++ b/ara/templates/run.html @@ -50,6 +50,7 @@

    Filter by status

    +
    diff --git a/ara/templates/task.html b/ara/templates/task.html index 79ac518d..0b708433 100644 --- a/ara/templates/task.html +++ b/ara/templates/task.html @@ -16,6 +16,7 @@

    Filter by status

    +
    From a86605dbf204196867f41b79251d5e204fc92ca2 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 15:23:59 -0400 Subject: [PATCH 020/499] Move tasks and stats to uuid to avoid primary key collision This will allow us to merge databases --- ara/callback/ara.py | 34 ++++++++++++++++++---------------- ara/models.py | 6 ++---- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ara/callback/ara.py b/ara/callback/ara.py index d6cb035b..fef2c74f 100644 --- a/ara/callback/ara.py +++ b/ara/callback/ara.py @@ -58,18 +58,19 @@ def __init__(self): def log_task(self, result): duration = (result.task_end - result.task_start).total_seconds() data = models.Tasks(**{ + 'id': str(uuid.uuid4()), 'playbook_uuid': self.playbook_uuid, - 'host': result._host.name, - 'play': self.play.name, - 'task': self.task.name, - 'module': self.task.action, - 'start': str(result.task_start), - 'end': str(result.task_end), - 'duration': duration, - 'result': json.dumps(result._result), - 'changed': result._result['changed'], - 'skipped': result._result['skipped'], - 'failed': result._result['failed'], + 'host': result._host.name, + 'play': self.play.name, + 'task': self.task.name, + 'module': self.task.action, + 'start': str(result.task_start), + 'end': str(result.task_end), + 'duration': duration, + 'result': json.dumps(result._result), + 'changed': result._result['changed'], + 'skipped': result._result['skipped'], + 'failed': result._result['failed'], 'ignore_errors': self.task.ignore_errors or False }) db.session.add(data) @@ -79,12 +80,13 @@ def log_stats(self, stats): for host in hosts: host_stats = stats.summarize(host) data = models.Stats(**{ + 'id': str(uuid.uuid4()), 'playbook_uuid': self.playbook_uuid, - 'host': host, - 'changed': host_stats['changed'], - 'failures': host_stats['failures'], - 'ok': host_stats['ok'], - 'skipped': host_stats['skipped'] + 'host': host, + 'changed': host_stats['changed'], + 'failures': host_stats['failures'], + 'ok': host_stats['ok'], + 'skipped': host_stats['skipped'] }) db.session.add(data) diff --git a/ara/models.py b/ara/models.py index c9c90e64..1289dcd0 100644 --- a/ara/models.py +++ b/ara/models.py @@ -27,8 +27,7 @@ def __repr__(self): class Tasks(db.Model): - id = db.Column('id', db.Integer, primary_key=True, nullable=False, - autoincrement=True) + id = db.Column('id', db.String, primary_key=True, nullable=False) playbook_uuid = db.Column('playbook_uuid', db.String) host = db.Column('host', db.String) play = db.Column('play', db.String) @@ -48,8 +47,7 @@ def __repr__(self): class Stats(db.Model): - id = db.Column('id', db.Integer, primary_key=True, nullable=False, - autoincrement=True) + id = db.Column('id', db.String, primary_key=True, nullable=False) playbook_uuid = db.Column('playbook_uuid', db.String) host = db.Column('host', db.String) changed = db.Column('changed', db.Integer) From 51375bf27804d320c5f0b7a995794658897ba085 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 15:55:12 -0400 Subject: [PATCH 021/499] Set SQLALCHEMY_TRACK_MODIFICATIONS to avoid deprecation notice --- ara/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ara/__init__.py b/ara/__init__.py index c39c14bc..6372a5a4 100644 --- a/ara/__init__.py +++ b/ara/__init__.py @@ -26,6 +26,7 @@ app = Flask(__name__) app.config['DATABASE'] = DATABASE app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///{0}".format(DATABASE) +app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) from ara import views, models From 3538983d82cec0acd997f8efeeaf7073709e6fe0 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 18:07:19 -0400 Subject: [PATCH 022/499] Visualization improvements, multi-playbook visualization support - Properly support browsing multiple playbook runs in /playbook - Add run info at the top - Minor tweaks to models, effectively just add foreign keys on playbook_uuid for sanity --- ara/models.py | 54 +++++++++++++++++++------------------ ara/templates/playbook.html | 48 ++++++++++++++++++++++++++++----- ara/templates/run.html | 34 +++++++++++++++++++---- ara/utils.py | 23 ++++++++++++++++ ara/views.py | 15 ++++++----- 5 files changed, 129 insertions(+), 45 deletions(-) diff --git a/ara/models.py b/ara/models.py index 1289dcd0..8ac044ca 100644 --- a/ara/models.py +++ b/ara/models.py @@ -16,44 +16,46 @@ class Playbooks(db.Model): - id = db.Column('id', db.String, primary_key=True, nullable=False) - playbook = db.Column('playbook', db.String) - start = db.Column('start', db.String) - end = db.Column('end', db.String) - duration = db.Column('duration', db.String) + id = db.Column(db.String, primary_key=True, nullable=False) + playbook = db.Column(db.String) + start = db.Column(db.String) + end = db.Column(db.String) + duration = db.Column(db.String) + tasks = db.relationship('Tasks', backref='playbooks', lazy='dynamic') + stats = db.relationship('Stats', backref='playbooks', lazy='dynamic') def __repr__(self): return '' % self.playbook class Tasks(db.Model): - id = db.Column('id', db.String, primary_key=True, nullable=False) - playbook_uuid = db.Column('playbook_uuid', db.String) - host = db.Column('host', db.String) - play = db.Column('play', db.String) - task = db.Column('task', db.String) - module = db.Column('module', db.String) - start = db.Column('start', db.String) - end = db.Column('end', db.String) - duration = db.Column('duration', db.String) - result = db.Column('result', db.Text) - changed = db.Column('changed', db.Integer) - skipped = db.Column('skipped', db.Integer) - failed = db.Column('failed', db.Integer) - ignore_errors = db.Column('ignore_errors', db.Integer) + id = db.Column(db.String, primary_key=True, nullable=False) + playbook_uuid = db.Column(db.String, db.ForeignKey('playbooks.id')) + host = db.Column(db.String) + play = db.Column(db.String) + task = db.Column(db.String) + module = db.Column(db.String) + start = db.Column(db.String) + end = db.Column(db.String) + duration = db.Column(db.String) + result = db.Column(db.Text) + changed = db.Column(db.Integer) + skipped = db.Column(db.Integer) + failed = db.Column(db.Integer) + ignore_errors = db.Column(db.Integer) def __repr__(self): return '' % self.task class Stats(db.Model): - id = db.Column('id', db.String, primary_key=True, nullable=False) - playbook_uuid = db.Column('playbook_uuid', db.String) - host = db.Column('host', db.String) - changed = db.Column('changed', db.Integer) - failures = db.Column('failures', db.Integer) - ok = db.Column('ok', db.Integer) - skipped = db.Column('skipped', db.Integer) + id = db.Column(db.String, primary_key=True, nullable=False) + playbook_uuid = db.Column(db.String, db.ForeignKey('playbooks.id')) + host = db.Column(db.String) + changed = db.Column(db.Integer) + failures = db.Column(db.Integer) + ok = db.Column(db.Integer) + skipped = db.Column(db.Integer) def __repr__(self): return '' % self.host diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html index 025a21c6..80028eda 100644 --- a/ara/templates/playbook.html +++ b/ara/templates/playbook.html @@ -2,7 +2,38 @@ {% block content %}
    -

    Playbook run for playbook: "{{ playbook }}"

    +

    Playbook runs for playbook: "{{ playbook }}"

    +
    +
    +
    +{% for run in playbook_data %} +{% set stats = stats_data[run.id] %} +{% set tasks = task_data[run.id] %} +
    +
    +

    Info

    +
    +
    + + + + + + + + + + + + + + + + + + + +
    PlaybookUUIDStartEndDuration
    {{ run.playbook }}{{ run.id }}{{ run.start |datetime(format='%Y-%m-%d %H:%M:%S') }}{{ run.end |datetime(format='%Y-%m-%d %H:%M:%S') }}{{ run.duration |truncate(6) }}s

    @@ -22,7 +53,7 @@

    Stats

    - {% for row in stats_data %} + {% for row in stats %} {{ row.host }} {{ row.ok }} @@ -39,10 +70,7 @@

    Stats



    -
    -

    Run information

    -
    -
    +

    Filter by status

    @@ -64,7 +92,7 @@

    Filter by status

    - {% for row in task_data %} + {% for row in tasks %} {{ row.end |datetime }} @@ -104,4 +132,10 @@

    Filter by status

    +{% if not loop.last %} +
    +
    +
    +{% endif %} +{% endfor %} {% endblock %} \ No newline at end of file diff --git a/ara/templates/run.html b/ara/templates/run.html index 3b8627a1..6cfc746e 100644 --- a/ara/templates/run.html +++ b/ara/templates/run.html @@ -3,7 +3,34 @@

    Specific run for playbook: "{{ playbook }}"

    - UUID: {{ id }} +
    +
    +
    +
    +
    +

    Info

    +
    +
    + + + + + + + + + + + + + + + + + + + +
    PlaybookUUIDStartEndDuration
    {{ playbook_data.playbook }}{{ playbook_data.id }}{{ playbook_data.start |datetime(format='%Y-%m-%d %H:%M:%S') }}{{ playbook_data.end |datetime(format='%Y-%m-%d %H:%M:%S') }}{{ playbook_data.duration |truncate(6) }}s

    @@ -40,10 +67,7 @@

    Stats



    -
    -

    Run information

    -
    -
    +

    Filter by status

    diff --git a/ara/utils.py b/ara/utils.py index dad69626..4b12d77c 100644 --- a/ara/utils.py +++ b/ara/utils.py @@ -79,6 +79,7 @@ def default_data(): return data + def status_to_query(status=None): """ Returns a dict based on status @@ -100,3 +101,25 @@ def status_to_query(status=None): }[status] else: return None + + +def get_tasks_for_playbooks(playbook_uuids, **kwargs): + """ + Returns a dict containing all the tasks for a list of playbook uuids + """ + data = {} + for uuid in playbook_uuids: + data[uuid] = models.Tasks.query.filter_by(playbook_uuid=uuid, **kwargs) + + return data + + +def get_stats_for_playbooks(playbook_uuids, **kwargs): + """ + Returns a dict containing all the stats for a list of playbook uuids + """ + data = {} + for uuid in playbook_uuids: + data[uuid] = models.Stats.query.filter_by(playbook_uuid=uuid, **kwargs) + + return data \ No newline at end of file diff --git a/ara/views.py b/ara/views.py index 35fb8aa5..33bf89ed 100644 --- a/ara/views.py +++ b/ara/views.py @@ -71,18 +71,19 @@ def play(play, status=None): @app.route('/playbook//') def playbook(playbook, status=None): default_data = utils.default_data() - playbook_data = models.Playbooks.query.filter_by(playbook=playbook).first() - playbook_uuid = playbook_data.id + playbook_data = models.Playbooks.query.filter_by(playbook=playbook) + playbook_name = playbook_data.first().playbook + playbook_uuids = [playbook.id for playbook in playbook_data] if status is not None: status_query = utils.status_to_query(status) - task_data = models.Tasks.query.filter_by(playbook_uuid=playbook_uuid, - **status_query) + task_data = utils.get_tasks_for_playbooks(playbook_uuids, + **status_query) else: - task_data = models.Tasks.query.filter_by(playbook_uuid=playbook_uuid) - stats_data = models.Stats.query.filter_by(playbook_uuid=playbook_uuid) + task_data = utils.get_tasks_for_playbooks(playbook_uuids) + stats_data = utils.get_stats_for_playbooks(playbook_uuids) - return render_template('playbook.html', playbook=playbook, + return render_template('playbook.html', playbook=playbook_name, playbook_data=playbook_data, task_data=task_data, stats_data=stats_data, **default_data) From 3ef308b64c651574183c071888a168938ad578da Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 20:30:07 -0400 Subject: [PATCH 023/499] Update preview image --- docs/images/preview.png | Bin 128731 -> 124793 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/preview.png b/docs/images/preview.png index 5fc79fcee967175b2d27d555e3a9829fc79cc1ec..7d1ed91d72620ba1e311f8ed58a856bee83253b9 100644 GIT binary patch literal 124793 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%0DU$#$gnuDtN?%g}^^04gi-z1}=!USnnUh5|w^ zsdDyt;-(25i!>N^eVkUu%$PY4lJoDILB|{LpHGetYbRddQ7VX^Kdr79s)*UJ0+a7SkgfB{|y5XGSmw!)u7Wt(CyzOTMWf`(cI`- zbcwX0czI|K~}k*hyf;ogG{pLnuGrVr#yY4ou02-Ht7 zFrfbPK^mbCg@yOa?@|mUj@r)FUp$iTz+i9}(fEMJMg(cw85t}6FA~i-T=#m~iX@4v zm@@Xf=??5vDP`q#t?rAiZ%a$h_SGhH^>5`m2nS`j3l^iB^#xw_M5K!SYnC1RlWzx% zuB744M}7l_JxZt7`>`BQ3p=*Gw_HpKZ6C9;1K`l>@b&| zalxM;9}U~V55zeto$&oUIP&{~Y)o`>grLYLpz-Y;R@h#MR){wrgtl`VnNO<;d5uvg zKR*}|^%mm*VBVZ^*USqle%Rj{{kmTiCyIv1V?Lql^QyL+%Op&<`sq;3{_2r5$bTaV zhgK=^UV-f-nem48i19Q9Sk2^%`oIC^Ix$>_tiK;kJ)N_G%vyqymVUo}Qf~k`g75bI z>1t>{Z_h0KD_J>(74vuE@_(MgkSF~Ysm)&xk7I0xa*dRFoua(_XPZ@jzu;BiZw$!| zN7=G9vTJIuv$9t21xNWmf4H!@bCG|LZu0*ALyn-4CfYg*F&hzB<6wgy61trf3U(!- z%QrUeAar@C$e#X?|2y4~XRP&(V8TV&E@rdO?e`BFQr_aAgMdvAxF7-yaf&6Tm*iJL zR0#?m!3z{OHs%g*2E_*)mPxY> zJ|e}CViScRP6*JY#ZhB~M^c@~2G3w9w6y2;#e*{YyaItLJGMr18 zShJD{_pn2L3=R1~W^uXsMVhiG8bTHtjSJf|N21WK;B*(yf9)6PwTKG8;Nh2{6w~^N>vqoHCFdBz6o`!;RLjFJ$stH2b z#YC)DuiJ?gd${^4aNJ2jHtM{ac_0}nuhMKE@B(_8(Mi->U!abiUA#GySN<> z7@}UV<`A%@p0>MiVK4lkZsLq4zM2ph5gQL83ms@HV#eeqxgOSnkt*f5~Dn2EKI+cp}8i4<>;(pf5xkWxK9hdoX%L z)}Op3Zef2|pwpw20wGN+X#kEVL{mcqqKE^aB!m7>+#d<45nG*n0`6?F5ZF=TrguP+ zA_L1=aFSqG?LR(lLzu&mw!kZJC&Ibmj|>HIg?J4z?|u=Kg^I*P;e=pHiM0;_`zq9QK= z`_|+vq;`jiq7U9->idfF1u(qkHpt=~@F*%JDkiv~1@T|JaN!*2lXwq=lmmyC_3?wr z?`?xjXVKM%IDZY)VV4^-R$RAk(~0w?R-8CQ59Sup%Q?WE4ni*c=56J@nx_t(FeT#x zkg%M&aA74%OHeut|GDBdNDzrzGFZCE}tV0x`j9CtS0FQNci}&7*+M$b=D4U z8I_d_b7P;*T3Y(ygesRje}4$>p2zI$4&mlqnHe{wyvC9K1DQA0bq8L3&9pE)12^mv z`wkUiPfPAWLialzqFbQ4Lr9G9WW9qDM%+=`rAu5+#qb`~_H&AI{e(iy)KjpJ$ZYHtgszTF5 zkzH$E;dgOM5II)+;37eswMH;&$4rd&udK~ivLGJ%7o_NHBsO3(5+4uPnn;dMOpqMH zrmuE2*fdaV-MS&wSv(JK$K^GcaI%teli5#;vo&}Djy}4lP6a90+u4z+K88Q8D$EL* z)ygl}gJS`dm_mVh4(+JPg$or%2Ze>@Frw*j+V9_<8O}ynaS*l1Eo8#Y^_bI@P{1%I zerm{2HX{n+Ms2?AK@}hr2;wgSQ)4no5nTE&aKMN+L82*m`K$V~NN>X_E(<<|q+#yr zp#Wi3Am^bnJ%%I`ykv_Ya{Y^)Nkuu zLV;t4l)U^Z;(!LrmN%b2ZvvSIE_0|lpL`mgNLwR@4$ zl|@T?{+y!U&EZJ9S|#TY472EUSz zNjQG6MJJ=&ni}XbA!Uw{^+EAT>asKV0oRxwoC8cV#cn-y4tf#7{%2FEi(YTnJ;2X@ zpScrRb&6JtRt|is*1>dirFxcbTfXD9fA*0IXrbg&!=9vaI9yii0k)98-t(R%v=*xw z4m%tm<{EfMq?~&M zkJ87#R^gRnv3D>o;WaEOZ(|hDS==^KH$so;=y7Z*IGMdT&1M|8L}4hRGYM-H2-ul>Pi?UQ^&<{2GH}3U^OJEJb{*aR3op8x&EsTw^#& z-@)4HbD|nE5fZ?THJYQ~ri1E91 zP{9>9H#5QkY+DO|^pI_k#VkHLR^K{!0_hm~Q47=M8M#N9RzkRiAPQ@r1Ni*4-r-4c zIB7|JO$h903lUfOe_cHwGb1=GUN<(LTJTh}jt+Z^f~BWC>k@Y{E;O;=f*S%YAPO+8 zr;hx_)g%JLyE3dWhbX~&hga!nxF5sz?eB|1we1Sj8{;vV>pMyIAJA4Olx*1AU`EYt9JrUn{t~N3#D9?`HU@uA zL;In}dec5pch$deNFg_(>=Uz(zn3?m^AMl|@xq|M0$nw`R?3#RC6fe7#ZxN%64GoU zy$9Eu3}Bqz`4^0;trqK_iV+LEL<9{=I+ulx4`>g0xhxB#{5CdKPycTUBrh!`eQ>w4wt|B+2= z)BIt5k(U4~aD;x>!+?M%y_-mlim#u21HQ`1PPCFYL+;+yQc_jza!FqD?+7>^s@MJY zKUG@?9YCNp<7|MCQg75OqpFEXTDw-qpyNhT99+BOJGB2B%=$)8(u)oe)K5q@NgfH? zFVq~RxS;k>Lr#Mm2lpTu|qPU^%j4aRT)ftRb>O&uNigk2zm%J2#-0!hw+@Foq5 zxN0YiJbs3GK4jFN2@fV7-oRuH+(9pR@KzZ4!<`*7xB&_;Auwp3jY4E_Xs8zq&*9g( z6)p+Vn6s=mkz%Ha`kqu-1ct(q^lNNP^KLx5iE9vQKGc}RMGZGj{e2W%Xdpf!$~J-l zVKi&5Emw-PwrG6w1O{gi8$?4xLlPf#dG_bDDf-ixXw{|j)c;pN_rqW%+cHEKet5^n zn_{W_8{)lZtz(?Ch^l-8?cxI4zm#|8V(kCI7qvgbZi7NQxQW<4f>0lTdKKkAfcj&< z^!_SfSU{siE>eo)HpopKlbcr@nIG3A2sl2u<|#uIv6zTKLDmA_1?`0y)Gx%i1BOTE zAl&)g6>jy@l<3@19ud_P0n1p@VkVYd2LgbAxfzqe;EGF}7~p?&B24F$kp*f=%;h4j zZ}5X@N3HO0bTy=rLE>oqX+cZX)ZSH5!TFz%`P);+wTpt7HdZ82jZUThm&o`piQV72 zAr2GZMcjiZmvSATEt$tAL`QGB*>CH=!{g5X2_7H!9v>ekwK}R8DfTVNLH2+T0K^iV zFN$Dl01+mWrU)QJGDh^xsEe!X*$Wr$;Q5>bUjftH#KOciCO(Or%Eg!*_L>0cKw2^I z0IwBWJ+Tdh9ReGnq57l0KjrGw-Hbvca17*?0JsBZ*!Pn-LXoirnwpwq%s0YmXMJ+& zhUlw`c^K&XcU6O9z5|AfW>evtv?sWICXjNBPHBHzNX%3D2Q)vX_XjkOX}XK8rHvC9 zqZj;%3Hd*T%rX_4qjB62uE*IK0tlwaic2ao8<0;3LITm+-EQ#lKl`vn>>_|9%B8Q* zqKiK~AfueI8rk^ypI0sCq4yyQ&Yh6exntf7`Jj8vC`29vw%)Uo-{04&6&Os_#8r~_uHOf z(ma8;0!`w8+}DIWR`R07+fh1Ht~X-EL>!3K~QR#QozbM-UzmCa0_%$_? zBQfXxlcdCewBcX`6ladAX&q+V?so`yM}R}Xkknf!z=*aVh(tj3IHzX98FXC`V5JdS zu!S^!a9E>Jcm|L-j8e~rvT?x*6P*^)xI=M7keu5b;y94b09$_~a)lKZnXAz1BCZxk zzl;Q-lF3J!Nt&3zjGmmF@67JSw1U^j46RXP5R(m)3JnvCoFN|4cQ9)jaTBM#uHg{8 zQZ@n5g*_EBdIFEcY^lZB$83YO3`O^h!J;nOeQ|*}Hju2wF-*OPlX2so=2Xl1KLk25 z`w17AxVvk2#pdDZvPTjW7j{wpBaUxEFW^N%bdo?){5AJlqKm4{l`B8kekLC${T3&I zBWq7|v$L~XJJZ$e+qNx)!ChHLyDr)5YuyA!AR!c_xTNwIYiWiP#SjY!b`k77$q+8Gpe2w9>?!O(!CR z&b?iQa!R4*?7r=we-h9Q0A?2Ev=g6i8~H!jyPgl4)8iF_R}RN<_06G(qV5i)YR|Z> z|MOEV$N#Csu$={jeWPpSzNpJVQ+}@-nM{c|pQ> z+f7{_)baF??PJ@VS8>6Yfu%BqVWC3H}%)M547V9CyHSiQ)vud{YzAk)z$W2mD$?N_bv zD=Kn-(fmC>=79K>_FJfQm4kUtWym0QH=sDGi;-Q+Ymg^sZesT|D zumk|QdW@`l*v9fh@=m|m52@;9`;Ow=iARGp8>R|IZqxA?Is+F#4#XLGoaBMkAD!eE zBn}-q31305%){$2ThBk_D0JxV#x=x-#qNp86%goG&PPYZd2*5S0VXNBVXe_-)gC+Xn8=0=@>OR87kHr@4 z!!N=cZ|a^2jCmO(-SQ6~J}d}eIzsf?yPu9irTU8r=hnlO7>lbqXz>UATVpu%gjvdKJ1TDTklfrPH zS}2ujYF{}|Jp~IR1(OK+fGetMT2ep3_>c;WVFn#kTd*XxCc5Fujwe(!H0aoJVlyjj>du$EC45f zdW0WNPk7Ydrj-f}RxZJe&_nITIpFQ(b>G+5x7_Z=;{zBhl4%0whc=9(_b9+@qZYXA zC>IYc>%FbI;T(|;$IxsIjDt-fNCU^GcWz!VfBBT2iCyCQ(yDjwjw8G8Ybz>33dchg zH>=&3`|@QHI>2kzuUFCT1_PP(_owpAZCe)TFt9=cJ<)c+CcJc+=!;e z1l*e|0GI&zti_+Jk+>MV(=%Du9oX=Cw4_SC>1qJL@D43|zaCDcS8Z(IsvhU#=l8Mu zuKFf^)iY_Bz$^$K>H@g)P48N>U`#%o-SjTX^?N~_n(x~4;CdDqc){(kLuKjWeA^-? z7ndR~Qk7N|vT`oNd|u22f%+M|G%Df)bdl587X6c_pIuR1@l4SCe8{Cug@2rRU>pL3cAB106x%T= zyw&X7D;;|Z%Jg!lAGEL2U5^MS_>3mmO{n%#ch zm#alMB2%E9FzpOzDzDFE3OE(S>H1rdyOAV}P^lSY$_ylcu(z(p9iRAW>>tmyh}BN^ z9eyVn2-}6(_el}w(Ld08e(pBVo$RwED+?e|d?$eZ6t7XCKJu9w9D(p3wBV`i$=7Qt zdT7IhCeRZYSf&{kG+mb1&4+48m9)@gWNz6Fd}UEn`-GUgVpGTR`Ys>7LJ$-}Fe)>= zE&98p_um2YOyTeLwFMXr-Pf3zSUw6o@Dd`mQ@a<3R-)=I0Bjd$%2`MZN8vdRx6|#z zk}kiJ4{(xSf%V!KoTpDwYL=6s1KoIz4JulEA{F3bDr2`+1Be8)T#ilvinKqsEG`u@ z+(c~$n*b)KRl^%Bfa@b%aLDffuB?V3o;lA!TSHBz%=mewYT^)v3o!wR64&qG>5cC> zLFpItYj`NBRE?^I{5kxAUgDY0e@@2jw%5{oSC*Q0AO%H-i!t2`&;Gf3|9eex>@Y6- zbSg^>&KW58Du)kH$RU9~=8A-f7BbXoVz|u+;D7nBdcX>OzA>8aU5m2!oN4#o)A^Y- zw^OrfoTB~&LBH;$fSnXSjJ^lIz0yH%O0Uo*m*LRmM{O)iC=|+p8;LoTeVZ`1s z*OKQ@o++|R{Q2g(HY?f}HyoKfF626Qd}` z#Fzhh^d6eiqwz+8On?6Mn(NB{-53AYE8HLd^HP+PUU4*kzWX13pZ^QLR7PdGAMR>| zk-?vfe*N%Cs#fyh;hJ}64s0LI*ZFfjuIs-WfBt|+Bh4E# z;$bWv`s2l%M!-3#`o>QCzt%+Yr|RW5knJWk8Dw7YMYk@fcYa~*)xH+pG10w$?e6#d z!EV+svRaX6Wo-4+u1vmW{Gt0%^XWe?u%aFvj4|()JFml*#njnVV3kgx3pu&GcDw4n}6QXGZa zAd1!@hGv7MD|`HS#ivhv-?m#^z6@8%1T;Yu(XT=~FBpV}1dKGi1dxcT9(@zEwL178 zgOO*3oDOM@YKu19w`gX5FDDr*+6c&deTme?Li8W37e?2?nq}< zGzheFuXc_PWPYL|2mw8KhfAy4X>NU{68J!KNH1k z`I0~v1Y)Lv8OP|ZA20xI87n1(ot%4tPSRsP5wCZ`@2 zQ86(pa@#O8OuXrNsi<`>ZXW}qq!WoB`mIX9utJau_BEuZ3%9vwqOYX)?2ObMi}NQ{ z-$tDN`=DAA1XY!MAWW>n6H<}C2cDmMVqt8|ra8Byl4OB z<_a38aH&00y=>2EV?c@gE)qh@ZrU| zQg4Mo&|@#Q)WekSLzJWunXH4{$JgA8*vh~mSQ|_7;D9-rzD}5Sgtp%i6hP zY;p12aa(bemm8%c2H8F+ zo!!I1no+HzxYC0~<<#iS1gz~En2nR788xyhz+rW;I;nmynxE@wTNT73(=|t=z{b3f&0}I^m5wynWVDC(!PYC? z^p;kC@)=q#lZuD;*-^4`H_Uq9y?fx*;G0vs%X40W$R!(iPmTBa&-&np2n5L&BOQ;U zA^E3lM@3hNCdthI{l%AZPnX!cxa40sJ*s&c0WVQ-0!$4| zpmgemr{{suT%61?#e|P4AR+FFH>`oLgcKQ%vaoQ5wM0vNqr`Xsd%PoqZ+g1bi;j;qjiG+J#U;ifYTY!nF7A zV$PGP7??Ey7}6XtXzNkmZsaaD~%iqm>C(2Qk$IFMccB%}k4!3YM$c*P(MSXm3A9|8i?zRKsAqEwC{cX+%S zHyek5Q7?+_JlEM5_*nY^>G0hho@p`Qr7j8&#rNz%4TZF z07b7BFyIW@h@+vmM7SU=t|8p5`F{CPTMr6M`M&IZaRz3OO!b>{c#|2>CmZ26*gMeVl~- z*@v*Do^4h)D*kv;@b4Y9+f)CQoeJ6y!7wdf?Z5Q;-#NPIdGIL|m6dC+eUb=ii#{4? z;PzMYe)KH;wrz>z{(*Sd=k167wD1)`K&9v7uAJNB= zf;#3Gki0+l;x*Uvg#X7Xf%5%D4(X_MweSof{bTJ zjx6B_;r#wq`?|n-k{6f^g7cqLnlPmwKaQ?I9dj`m<;5>m8e<7G_TVk{(lUeL{dmv{o2#heEY z9Pnq$e2lGxA;-}mjr~+w{IkI_Oe;rB!bUnWr*|D^;MhM{=cVLqa$tLHrsF$i{iUir zbqi5ZA3feLG#~SrWZx6CZe^XN7}vMFNm=7hwzKK zi|y6%qt0OsZ?YwvZ7e=9?O3-`;;@<4orxVOxoia^&S+SI`m;ZZHBs5amqR?1ygFy)cKu zw7!YR03|P~qWoR$uWburgTkjn7F*7zPF2mWRH)9;w5ZNHORY+{8xi@~TE$ORiCb(m zuQ1#|L4ZA>vHR=OazYE<+&yJ$mP zW834OcA5{o9KjbJjX!ek36QlA{n})9&T|99 z=Vv#lxp@_D>QCOtu{50?=?KeSyuR*E+@p>oVS5!a+%I0G&NFkJIA-oCkz7XA`Vten zz%W(Gm$&$)R?GImlnQ-#z!Rk$tIF;c$ATQ!S1}zOncBlr2{S_5*X1#8jjd^TYWktP zZQ{e1SVehd!3G(wO8;Fs`+Bbot*tbqDOulDR;d^s_xzmk#YCxwr{&Q$rm{vwPbY%7 z6gb;eEZK4wJc=&9Fw(S82wbL-dDr4&#a@@jRgDF_$Y7_`ft!9PK zh%+Qw2eWIqG~(`pm%{_fG{lmi_8t*1+{SJSxH>QnCqS4*NuXHo$kY@EDNNM28?2Hr zJt09OF6X-7E?)b@tY53yT*oY-DJZNwHZsKUbT!+z<;QEn28B%C+jDjOq&7^gDXA zrR__W3C1aOXf^lYnD71esTpysRxlZ6TV|qg=zi$^Fh_Kj=jm85=`*lCLr`adrQQ?(e>sxwY2;k7)V7%f)Yp>$K>bu!-eZP(`S{AlX7IYzk_o=b*1*{ z{*UwFVclbSe#Jn-i*iNNh9*^3JRI3 zVObGz3==eQ3LD-Y_v|UA0dpQfB5~mxYS- z4fHoZDP&LncJsCv!xmPusV=wb58L;qzN6!Q^vx>Y^VNm%p6F-qXZtcPJ)gtys*=LM zqBnNWvb8_u*=D1^2f;}`l*Ri~pr!GusV&nWo0_NhT_Yg&Tgh;;*pGq2J> z=biBjCR+Vbf{~xxMs72xhQ;+QTlrJBnytXCrj}bn=Ho_*IJ0FdlX^XwsmDAwIQ^{C zvF+-}-<6n<-&8L>XjZH4V3XB4`Hjl!zL0Fbc{BA#A2sCLx4HsVi#l$j{dGrveEE`R z)BmDtvNyK1GC0(#xkNfGDqSup?_Kf1?u=9T(Tgf*yqyh;O63tM4~BI02MA%GBHP^>pAk z+zFfP&IJ{-S@nFJKVTv8Tx0A|(SC)#Y6t7E`JID4eFnpH49(`jAB{v4E_O=>Tdm%x zKs`CNTA`XHihoAj+Oxfb)ppVHuHT@`={EP1+HOaTGrwl|QXBdcUw&N`(IRPZh2MTr z;bz=|^~GV`W1fc!;<&Q&QZ6jB%1o1Jxs=3SZdF++=6?AG>#*U;bH`GLTIV$J8d;Vf zOT=D`4f4F3*(e=@pVfz!L^1l${y467A^ii-OQ+#Tc2nKVgsa>JdiS3{pBepiR{PQ9 z{h4(Apai!Q&dzDSChIYc+-9JHPU4Vzq3mjZn#Sh6u8;4kbcc^t)mGlcReT>I9(JuK z;GKoCV&po|HBVb~F)%V}4>qWcY~Cy;;hNVz)T&*#Fu!N*13FPI{u5JtM)kR$BpdEO zSLn#o=3K)eK5(icEY};>H${gn!z#!bY!CQuH`J%~-G#BJ0-X9Ni-F#Z1 zdN3&|l_?=^ZdVZ+O6q`Q?1o#@dU`GyZ~0ktJ(Q$uj_i)>{n?f@S3lgfa7~FS#_2lW zE|sf&iCsZ&SXf7R_|%bjQDNF^Y5NuOCL5%DrphlBtW)4Jsxy%F(boEv8%4{^7#*;- zklOhAbSE{d+Bcx&oztO1vNjzR>0<6K_w^=z>$7Zgq1$#%SjBmd;$r3n#q0j1SHgVi z0vnm7+*5U46)I`RjF;@F|6rPK*_0aOQ7}<#?B9F4jHzbguKZvDZBl%hpZV#dN5f`l zj9gCmE`%--mFn)n8LHu%Yqm z)de-5Db91ov1}|XdIRpti({kJ^^(hM`1ZcL+?-&ztbD$1zvf<*&}9A{QIC@BUnCUR zZM!pay1>bnj?YjZT)h*x&=B#c30b!2qPbCr7VNcx#kqIN!0WFc4$Qx#znO8&>dlt* zrrWZ)bz;1`X7ZmppU4q>{5~s+_E)OIGlz1P?UJ0Uew2GB}|X4^V;g| z=U?;WxNnwYt-Q*wab?XS#qupqu9^Opa%MT`j{a@w100Rox=TRUbC0< z!rT+`3v5#cEG#C@Hay*1xmeH@rnYjA-T}9#ax#5i9LFX~dTVynXKNYywf#J`3kO^f z`#d^dfpO^6cRIDLSn>zX8+~tdwp;6!#=-35{ylAN!HHbXsdn}X8ozuqO(&h546l8A zxiv;|aX}?h&f-g%+I$@U+Gg&a8D_^VQyxRDc~3Mt8L8*8U*zq4))?bj?d+tK@iWfz zVpQqqK&D9DWNdSre5U*5THamXMuMA;Ecot!tiRWTMe5L@7w<;Jg+Ha(+}=w)**&71 z#(%CijA|b=>?r^tO(T?OMKGVmo(`@eVdObe2tFM<2 z{fTs-bliF?(?~xpT<$n@T(|mW{6wGG^hle=U~_?Lweqt}VaqsEVMpbYT!#8Zeml|> zOMOxIPLTt3cFa*#A8v8qdqh&a0J#@Yy1WWbjpi>< zU_}RhG|{fky_YA*6mz9O@&WtwLhz<MJe*`9QagP3gUohk3V^1%?S-MVgTsX#Xa0 z)3{u9&Dy5%utY^6@$&lCQwS6qmHQ70{_3O%4gZ!(Xy(yO&h^f%KXB?~{=;xZoy%q! zJl}KnLEUhsNU@#u3Sxi zf@C4KEN?IGQAX?Pxnl2JlMkO+@@76ZJ3ZIt&J_`P-&%iCXK3%YQP{dN`$-SA+-D!$ zxTdJj|LwJsN`MG78$T>8Y(^jmV<9)-*TCsQq-E~;++qn#W@DQjwu zXe3(Eo4j1CHZJR&YA~9~7~Yz*ri&@2w*L+0)<^^;+6M+m?q79XVG!E6}WdSe}6ye`k5n%M7+@`rvEVy576b6?Nn`mNBQi0akSA%+WmmciHC)HfY-Nq}i92 z$t_ts>h?HnwDE=q(w3)(sX7h9i&cJ(pIcv#M+uCMzVj6mxNvX4J8nVMeTYTUu`Vrf z(o!h<>st%i(;pX;(_zT>?Zrl;!qh8_?q3?_XUvfQm8l9Kl?%3cXUFiBYFMRXVZ@Km#I_6F@6fo>PloxP2bVGU0i{*=%esUR4G9~v0H3%1NC>}H~>aV(= zYx;s?@7qh286U+m=GWggkVrrRwTJ!fzR@8QgBjxpJC`=K)4}#1ZBjQX-u16f`@B_b zVAk6%b%@P_Ww=4{(R2IscMJI^$`%(++Z&&w4GDO%R@lmHCQ`zbX|s97MVbv}xO#Pb zMuv>X|2OL11RBe>-}}ExrBq6hOesl1gNh_WX%L0XWQc^2kj!I6gAAplWC)pOBC{fd zL>VJ<<|$*y@c$m&&-1+d+0Wiqf^m;&z<)aR zllNuLUU*yFHjuCvZHsOXj>~!so7s~pPn!HFmXQPm-3^--A zq5kSSsKhAcNwM>6l`HV8g}sW=ZoTw&yg`3&e~4c z&vRinE~R>VC}`2p$#9pkJaw&TGeqXe`fHZYnbc06?L9jN}q%0=L$mdN|*s z&hmQD+AE)YCt5y#%HH@<~t=zLh7XB0ToOCmsQ36-N=`Gb2a$)t$9f``+e-&1bA$y_FUl;W%sQ6u0Jr3Y4U^Y z9A(+_9u3wguPTm57~;3!mCsR7RKA&j_@N_v%eKI_j;#VQUu5NM>{Ufy`n-vDe&Hdb z{3-qJP+id+9N1d3ga=&o9e=4L6FAj@2$#?vR&{*&^rG-BcGHYIDry>&KpF zPTc!j-o$7k+qh<%$#G{XC+W`kaC6+)(>+^ui*Ef>iF!GIx9IrFNQu4Bx{mpbcYJ9spaYgZQwz#r#uf}h~WBrdepP?0yz1ag6^EiP&*8&LAbevLB0NZ2kZ$Lh z=(CSsJL;*FXzQ{hl{G9^9E((artCgE-(JxDzQ7ASo_$~Fy;_X?=1qP*hZbOY)W?G= z&leM;c6VFEUnu76;08$JDN*y}R8?B^>5IP$6D*NbhSV`dj4iO9fglX!d;`aS88 zF9o9|g@G{-v=%R1cm#|x3Y7QOL4Expe(jpl*%P{(*x8f7^q@s2jgEs|@YEohy=Y?f zk9Swt)f-;_IAU?_dnSL~D4^-`2g%qxm-(7V`TV$YrrhmrjOm^z3of~pQ{&^lAt52z zHlzDsbryt45Kx)}Un3r(e;5axJZiuM1#=9yCWED{eQVZs*z6)9X%!a07XeyQ7@Wui)KX&1K$V0cHP~^0aaLRWt!V3fwW1`ZX%VnMbNAMep9XxqdB1QpJZ>hB10OC3B=# z03?dwWCV+oaR8`9IsXg9>X(gZp3swuy?L}K6O-h9*ojZQy$%XMHzySuvd;uW`gQ+@P=L(iWc`8Q!)cCebeq%dB0 zq`s}dr2xWfXyhiMbN|{16F&OP2d~`6P8$v#1S51z23m670{8uPjqTi-hNMrq&f;j` z;M!iTjg}|9-!fr!QEveFxID7De_GQ|IN2aI1jP}5G;+`jQ>=UYqv;J)jR;4a5nKa^6cFx5ReYIZ~G7W#ViGnVG&$*b0FeTBA| z{vKHt78WT5Nc{o+hy*4)2w0&3_M~s1ctr?@qc>VFn8Qx+PrHkV#Vi1{CLt*4e8A4| zV@r#cLVZbamJ{FO*1_%j)ea6`MqAwXH6yZfEP&Tw@1sDi7^CY&ny0Vh^MY^PE~y

    <%8g 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 T%j*M5 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͖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 From 1e108b3f2a6f8496117254748d20cd883038e620 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 9 May 2016 20:38:41 -0400 Subject: [PATCH 024/499] Provide support reading database path from ARA_DATABASE env variable This isn't a proper configuration file yet but will allow to transition toward that goal while improving configurability with very low effort. --- ara/__init__.py | 3 ++- docs/installing.rst | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ara/__init__.py b/ara/__init__.py index 6372a5a4..9e824975 100644 --- a/ara/__init__.py +++ b/ara/__init__.py @@ -16,7 +16,8 @@ from flask import Flask from flask_sqlalchemy import SQLAlchemy -DATABASE = os.path.expanduser('~/.ara/ansible.sqlite') +DEFAULT_DATABASE = os.path.expanduser('~/.ara/ansible.sqlite') +DATABASE = os.getenv('ARA_DATABASE', DEFAULT_DATABASE) # TODO (dmsimard): Figure out the best place and way to initialize the # database if it hasn't been created yet. diff --git a/docs/installing.rst b/docs/installing.rst index 8d69e52d..d8d3624d 100644 --- a/docs/installing.rst +++ b/docs/installing.rst @@ -32,7 +32,8 @@ directory, for example:: *That's it!* The next time you run Ansible, ARA will generate a sqlite database at the -default path in ``~/.ara/ansible.sqlite``. +default path in ``~/.ara/ansible.sqlite`` unless the ``ARA_DATABASE`` +environment variable is set to something else. This is the database that the web application will use. From 389ead5f7aa4001ecdea446a30a7719bcdde7e8d Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Tue, 10 May 2016 14:23:22 -0400 Subject: [PATCH 025/499] Stop trying to link to play/task's name - Tasks have a UUID, use that instead of it's name - Plays unfortunately don't have a UUID (yet), take their links out as well as their aggregate page for the time being. They might return. - Remove tasks from the top menu, there are just easily too many of them --- ara/templates/host.html | 4 +- ara/templates/layout.html | 22 ----------- ara/templates/play.html | 74 ------------------------------------- ara/templates/playbook.html | 4 +- ara/templates/run.html | 4 +- ara/templates/task.html | 6 +-- ara/utils.py | 6 --- ara/views.py | 23 +++--------- 8 files changed, 14 insertions(+), 129 deletions(-) delete mode 100644 ara/templates/play.html diff --git a/ara/templates/host.html b/ara/templates/host.html index 80f55ad6..e9014e0f 100644 --- a/ara/templates/host.html +++ b/ara/templates/host.html @@ -47,13 +47,13 @@

    Filter by status

      {% if row.play %} -
    • Play: {{ row.play }}
    • +
    • Play: {{ row.play }}
    • {% else %}
    • Play: No name provided
    • {% endif %}
        {% if row.task %} -
      • Task: {{ row.task }}
      • +
      • Task: {{ row.task }}
      • {% else %}
      • Task: No name provided
      • {% endif %} diff --git a/ara/templates/layout.html b/ara/templates/layout.html index 222ed465..54013670 100644 --- a/ara/templates/layout.html +++ b/ara/templates/layout.html @@ -74,28 +74,6 @@ {% endif %} - {% if tasks %} - - {% endif %} - - {% if plays %} - - {% endif %} - {% if playbooks %}
    -

    -

    Filter by status

    diff --git a/ara/templates/run.html b/ara/templates/run.html index ee7ec0f3..610095a8 100644 --- a/ara/templates/run.html +++ b/ara/templates/run.html @@ -63,9 +63,7 @@

    Stats

    -

    -

    Filter by status

    From 16fdc68db1e7f230be7a72aa63aab2868d59ddc0 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Tue, 10 May 2016 15:15:11 -0400 Subject: [PATCH 029/499] Don't display the task table if there aren't any tasks to show --- ara/templates/host.html | 9 +++++++++ ara/templates/playbook.html | 9 +++++++++ ara/templates/run.html | 9 +++++++++ 3 files changed, 27 insertions(+) diff --git a/ara/templates/host.html b/ara/templates/host.html index c523e5b8..67c154c3 100644 --- a/ara/templates/host.html +++ b/ara/templates/host.html @@ -20,6 +20,7 @@

    Filter by status


    +{% if data.count() %}
    @@ -71,4 +72,12 @@

    Filter by status

    +{% else %} +
    + +
    +{% endif %} {% endblock %} diff --git a/ara/templates/playbook.html b/ara/templates/playbook.html index 6dc1a0d1..c0aa7bfc 100644 --- a/ara/templates/playbook.html +++ b/ara/templates/playbook.html @@ -79,6 +79,7 @@

    Filter by status


    +{% if tasks.count() %}
    @@ -130,6 +131,14 @@

    Filter by status

    +{% else %} +
    + +
    +{% endif %} {% if not loop.last %}

    diff --git a/ara/templates/run.html b/ara/templates/run.html index 610095a8..34fd08cb 100644 --- a/ara/templates/run.html +++ b/ara/templates/run.html @@ -76,6 +76,7 @@

    Filter by status


    +{% if task_data.count() %}
    @@ -127,4 +128,12 @@

    Filter by status

    +{% else %} +
    + +
    +{% endif %} {% endblock %} \ No newline at end of file From e5d21c00ad9aaa5271ca2afcc7fd3bd0a6e8aada Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Tue, 10 May 2016 15:18:58 -0400 Subject: [PATCH 030/499] Update a bit the browsing instructions --- ara/templates/home.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ara/templates/home.html b/ara/templates/home.html index 7b6d79c5..fbe23dab 100644 --- a/ara/templates/home.html +++ b/ara/templates/home.html @@ -28,12 +28,15 @@

    Browsing tips

      -
    • Browse hosts, tasks, plays and playbooks with the top menu
    • +
    • Browse hosts and playbooks with the top menu
    • When browsing details:
      • Click on timestamps to generate a link to this specific event
      • Click anywhere on a row to expand verbose output
      • -
      • Click on a host, play or task to see events specific to them
      • +
      • Click on a host to see events specific to them
      • +
      • Click on a task to see all events for that task across all playbook runs
      • +
      • Click on a status to filter tasks by that status
      • +
      • When browsing multiple playbook results, click on a playbook UUID to see events specific to this playbook run
    From faa74183679ad389ba0c36f3c0753ec79026b960 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Tue, 10 May 2016 15:26:34 -0400 Subject: [PATCH 031/499] Prevent clicking on links to expand verbose result rows --- ara/templates/host.html | 10 +++++----- ara/templates/layout.html | 3 +++ ara/templates/playbook.html | 10 +++++----- ara/templates/run.html | 10 +++++----- ara/templates/task.html | 8 ++++---- 5 files changed, 22 insertions(+), 19 deletions(-) diff --git a/ara/templates/host.html b/ara/templates/host.html index 67c154c3..603cf0eb 100644 --- a/ara/templates/host.html +++ b/ara/templates/host.html @@ -35,16 +35,16 @@

    Filter by status

    {% for row in data %} - {{ row.end |datetime }} + {{ row.end |datetime }} -
    +
    {% if row.failed and row.ignore_errors %} -
    +
    {% endif %} {{ row.duration |seconds_to_duration }} - {{ row.host }} + {{ row.host }} + diff --git a/ara/templates/report.html b/ara/templates/report.html index f175aa7d..35c9682b 100644 --- a/ara/templates/report.html +++ b/ara/templates/report.html @@ -1,9 +1,9 @@ -{% set playbook_count = playbook.hosts | fast_count %} -{% set play_count = playbook.plays | fast_count %} -{% set file_count = playbook.files | fast_count %} -{% set task_count = playbook.tasks | fast_count %} -{% set record_count = playbook.data | fast_count %} -{% set stats_count = playbook.stats | fast_count %} +{% set playbook_count = playbook.hosts | fast_count -%} +{% set play_count = playbook.plays | fast_count -%} +{% set file_count = playbook.files | fast_count -%} +{% set task_count = playbook.tasks | fast_count -%} +{% set record_count = playbook.data | fast_count -%} +{% set stats_count = playbook.stats | fast_count -%}
    - {% if stats_count %} + {% if stats_count -%} @@ -119,12 +119,12 @@

    Browsing tips

    - {% else %} + {% else -%}

    There is no host statistics for this playbook.

    Either no hosts were selected for the playbook or the playbook execution was interrupted and the data is incomplete.

    - {% endif %} + {% endif -%}
    @@ -154,7 +154,7 @@

    Browsing tips
    - {% if play_count %} + {% if play_count -%} @@ -165,12 +165,12 @@

    Browsing tips

    - {% else %} + {% else -%}

    There is no play information for this playbook.

    Either there was no play in the playbook or the playbook execution was interrupted and the data is incomplete.

    - {% endif %} + {% endif -%}
    @@ -198,14 +198,14 @@

    Browsing tips
    - {% if file_count %} + {% if file_count -%}
    - {% else %} + {% else -%}

    There is no recorded file for this playbook.

    Either there was a problem or the playbook execution was interrupted and the data is incomplete.

    - {% endif %} + {% endif -%}
    @@ -242,7 +242,7 @@

    Browsing tips
    - {% if task_count %} + {% if task_count -%} @@ -255,12 +255,12 @@

    Browsing tips

    - {% else %} + {% else -%}

    There is no task data for this playbook.

    Either no tasks ran for the playbook or the playbook execution was interrupted and the data is incomplete.

    - {% endif %} + {% endif -%}
    @@ -289,7 +289,7 @@

    Browsing tips
    - {% if record_count %} + {% if record_count -%} @@ -298,13 +298,13 @@

    Browsing tips

    - {% else %} + {% else -%}

    There is no recorded data for this playbook.

    The ara_record Ansible module helps you record arbitrary persistent data that is displayed here.

    It provides the ability to save strings, lists, dicts, json or urls and each will be rendered accordingly. Try it out!

    - {% endif %} + {% endif -%}
    @@ -390,7 +390,7 @@

    It provides the ability to save strings, lists, dicts, json or urls and each }, {{ macros.result_page_length(result_per_page) }} }); - {% endif %} + {% endif -%} {% if play_count -%} $("#plays_{{ playbook.id }}").on( 'error.dt', function ( e, settings, techNote, message ) { console.log( 'An error has been reported by DataTables: ', message ); @@ -405,7 +405,7 @@

    It provides the ability to save strings, lists, dicts, json or urls and each }, {{ macros.result_page_length(result_per_page) }} }); - {% endif %} + {% endif -%} {% if file_count -%} $('#files_{{ playbook.id }}').treeview({ collapseIcon: "fa fa-angle-down", @@ -414,7 +414,7 @@

    It provides the ability to save strings, lists, dicts, json or urls and each nodeIcon: "fa fa-folder-o", showBorder: false }); - {% endif %} + {% endif -%} {% if task_count -%} $("#tasks_{{ playbook.id }}").on( 'error.dt', function ( e, settings, techNote, message ) { console.log( 'An error has been reported by DataTables: ', message ); @@ -429,7 +429,7 @@

    It provides the ability to save strings, lists, dicts, json or urls and each }, {{ macros.result_page_length(result_per_page) }} }); - {% endif %} + {% endif -%} {% if record_count -%} $("#records_{{ playbook.id }}").on( 'error.dt', function ( e, settings, techNote, message ) { console.log( 'An error has been reported by DataTables: ', message ); @@ -444,7 +444,7 @@

    It provides the ability to save strings, lists, dicts, json or urls and each }, {{ macros.result_page_length(result_per_page) }} }); - {% endif %} + {% endif -%} diff --git a/ara/templates/report_list.html b/ara/templates/report_list.html index ff29a31b..a0a724ae 100644 --- a/ara/templates/report_list.html +++ b/ara/templates/report_list.html @@ -1,6 +1,6 @@ {% extends "layout.html" %} -{% block content %} +{% block content -%}
    @@ -12,10 +12,10 @@
    - {% for playbook in playbooks.items %} - {% include "report.html" %} + {% for playbook in playbooks.items -%} + {% include "report.html" -%} - {% endfor %} + {% endfor -%}
    @@ -25,32 +25,32 @@
    Displaying {{ playbooks.items |length }} playbook reports out of a total of {{ playbooks.total }}.
    - {% if playbooks.pages > 1 %} + {% if playbooks.pages > 1 -%}
      - {% if playbooks.has_prev %} + {% if playbooks.has_prev -%}
    • {% endif %} - {% for page in playbooks.iter_pages() %} - {% if page == playbooks.page %} + {% for page in playbooks.iter_pages() -%} + {% if page == playbooks.page -%}
    • - {% else %} + {% else -%}
    • - {% endif %} + {% endif -%} {{ page }}
    • - {% endfor %} + {% endfor -%} {% if playbooks.has_next %}
    • - {% endif %} + {% endif -%}
    - {% endif %} + {% endif -%} -{% endblock %} +{% endblock -%} diff --git a/ara/templates/report_single.html b/ara/templates/report_single.html index 195b2973..1362f5f6 100644 --- a/ara/templates/report_single.html +++ b/ara/templates/report_single.html @@ -1,6 +1,6 @@ {% extends "layout.html" %} -{% block content %} +{% block content -%}
    @@ -11,9 +11,9 @@ You can mouse over most elements to have more details about them.
    - {% include "report.html" %} + {% include "report.html" -%}
    -{% endblock %} +{% endblock -%} diff --git a/ara/templates/task_result.html b/ara/templates/task_result.html index 903c7551..57a663bf 100644 --- a/ara/templates/task_result.html +++ b/ara/templates/task_result.html @@ -1,27 +1,27 @@ {% include "head.html" %} {% macro display_result(result, hdr) %} - {% if result is mapping %} - {% if 'item' in result %} + {% if result is mapping -%} + {% if 'item' in result -%} <{{ hdr }}>Item
    {{ result.item |to_nice_json |safe }}
    {% endif %} - {% for attr in result.keys()|sort if attr not in ['item', 'changed', 'stdout_lines'] %} - {% if result[attr]|default(False) %} + {% for attr in result.keys()|sort if attr not in ['item', 'changed', 'stdout_lines'] -%} + {% if result[attr]|default(False) -%} <{{ hdr }}>{{ attr|title }} - {% if result[attr] is string %} + {% if result[attr] is string -%}
    {{ result[attr] }}
    - {% elif result[attr] is mapping or result[attr] is iterable%} + {% elif result[attr] is mapping or result[attr] is iterable -%}
    {{ result[attr] |to_nice_json |safe }}
    - {% else %} + {% else -%}
    {{ result |to_nice_json |safe }}
    - {% endif %} - {% endif %} - {% endfor %} - {% else %} + {% endif -%} + {% endif -%} + {% endfor -%} + {% else -%}
    {{ result |to_nice_json |safe }}
    - {% endif %} + {% endif -%} {% endmacro %}
    @@ -31,18 +31,16 @@

    Task: {{ task_result.task.name }}

    Host: {{ task_result.host.name }}

    Time: {{ task_result.time_start |datefmt }}

    Ansible version: {{ task_result.task.playbook.ansible_version }}

    - {% set result = task_result.result|from_json %} - - {% if 'results' in result %} - {% for item in result.results %} + {% if 'results' in result -%} + {% for item in result.results -%}

    Result {{loop.index}}

    {{ display_result(item, 'h3') }} - {% endfor %} - {% else %} + {% endfor -%} + {% else -%} {{ display_result(result, 'h2') }} - {% endif %} + {% endif -%}
    diff --git a/ara/templates/task_result_index.html b/ara/templates/task_result_index.html index cf2bbede..bfabd140 100644 --- a/ara/templates/task_result_index.html +++ b/ara/templates/task_result_index.html @@ -13,11 +13,11 @@ - {% for result in results %} + {% for result in results -%} {{ result.id }} - {% endfor %} + {% endfor -%} From 9ad49109d00de7613a901c04e2ca0220c13e5ca3 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Mon, 1 May 2017 20:45:51 -0400 Subject: [PATCH 323/499] Add unit tests for CLI: playbook delete Change-Id: Ib460ef8abf20f0161a6278fa3e38eb595f975b34 --- ara/tests/unit/test_cli.py | 54 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/ara/tests/unit/test_cli.py b/ara/tests/unit/test_cli.py index 9765c5db..cfcb6ca1 100644 --- a/ara/tests/unit/test_cli.py +++ b/ara/tests/unit/test_cli.py @@ -356,6 +356,60 @@ def test_playbook_show_non_existing(self): with self.assertRaises(RuntimeError): cmd.take_action(args) + def test_playbook_delete(self): + # Run two playbook runs + ctx = ansible_run(ara_record=True) + ansible_run(gather_facts=False) + + # Assert that we have two playbooks and that we have valid data for + # the first playbook + playbooks = m.Playbook.query.all() + self.assertTrue(len(playbooks) == 2) + + d = m.Data.query.filter(m.Data.playbook_id.in_([ctx['playbook'].id])) + self.assertNotEqual(d.count(), 0) + f = m.File.query.filter(m.File.playbook_id.in_([ctx['playbook'].id])) + self.assertNotEqual(f.count(), 0) + p = m.Play.query.filter(m.Play.playbook_id.in_([ctx['playbook'].id])) + self.assertNotEqual(p.count(), 0) + t = m.Task.query.filter(m.Task.playbook_id.in_([ctx['playbook'].id])) + self.assertNotEqual(t.count(), 0) + tr = m.TaskResult.query.count() # compared later + h = m.Host.query.filter(m.Host.playbook_id.in_([ctx['playbook'].id])) + self.assertNotEqual(h.count(), 0) + hf = m.HostFacts.query + self.assertNotEqual(hf.count(), 0) + s = m.Stats.query.filter(m.Stats.playbook_id.in_([ctx['playbook'].id])) + self.assertNotEqual(s.count(), 0) + + # Delete the first playbook + cmd = ara.cli.playbook.PlaybookDelete(None, None) + parser = cmd.get_parser('test') + args = parser.parse_args([ctx['playbook'].id]) + cmd.take_action(args) + + # Assert that we only have one playbook left and that records have been + # deleted + playbooks = m.Playbook.query.all() + self.assertTrue(len(playbooks) == 1) + + d = m.Data.query.filter(m.Data.playbook_id.in_([ctx['playbook'].id])) + self.assertEqual(d.count(), 0) + f = m.File.query.filter(m.File.playbook_id.in_([ctx['playbook'].id])) + self.assertEqual(f.count(), 0) + p = m.Play.query.filter(m.Play.playbook_id.in_([ctx['playbook'].id])) + self.assertEqual(p.count(), 0) + t = m.Task.query.filter(m.Task.playbook_id.in_([ctx['playbook'].id])) + self.assertEqual(t.count(), 0) + new_tr = m.TaskResult.query.count() # compare before and after + self.assertNotEqual(tr, new_tr) + h = m.Host.query.filter(m.Host.playbook_id.in_([ctx['playbook'].id])) + self.assertEqual(h.count(), 0) + hf = m.HostFacts.query + self.assertEqual(hf.count(), 0) + s = m.Stats.query.filter(m.Stats.playbook_id.in_([ctx['playbook'].id])) + self.assertEqual(s.count(), 0) + class TestCLIResult(TestAra): """ Tests for the ARA CLI result commands """ From 701acc63b70dda06e44659812dc9d3059c024cde Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Tue, 2 May 2017 00:00:07 -0400 Subject: [PATCH 324/499] Properly store task results provided from loops This adds support for saving task results for tasks in which a loop (ex: with_items) is used. Before that, ARA would only save the global result of the task and a minimal message returned by Ansible. Note that there is a known issue in which ARA might miss the last item of a task, this is an issue reported upstream [1]. [1]: https://github.com/ansible/ansible/issues/24207 Change-Id: I23565ea5d81731ccdef4337d8a925b7ef88d1b5a --- ara/plugins/callbacks/log_ara.py | 27 ++++++++++++++++++++++++++- ara/templates/task_result.html | 9 +++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/ara/plugins/callbacks/log_ara.py b/ara/plugins/callbacks/log_ara.py index d51f30c5..b755a6de 100644 --- a/ara/plugins/callbacks/log_ara.py +++ b/ara/plugins/callbacks/log_ara.py @@ -83,6 +83,7 @@ def __init__(self): self.play = None self.playbook = None self.stats = None + self.loop_items = [] self.play_counter = itertools.count() self.task_counter = itertools.count() @@ -144,7 +145,18 @@ def log_task(self, result, status, **kwargs): # Use Ansible's CallbackBase._dump_results in order to strip internal # keys, respect no_log directive, etc. - results = json.loads(self._dump_results(result._result)) + if self.loop_items: + # NOTE (dmsimard): There is a known issue in which Ansible can send + # callback hooks out of order and "exit" the task before all items + # have returned, this can cause one of the items to be missing + # from the task result in ARA. + # https://github.com/ansible/ansible/issues/24207 + results = [self._dump_results(result._result)] + for item in self.loop_items: + results.append(self._dump_results(item._result)) + results = json.loads(json.dumps(results)) + else: + results = json.loads(self._dump_results(result._result)) self.taskresult = models.TaskResult( task=self.task, @@ -198,6 +210,7 @@ def close_task(self): db.session.add(self.task) self.task = None + self.loop_items = [] def close_play(self): """ @@ -220,6 +233,18 @@ def close_playbook(self): self.playbook.complete = True db.session.add(self.playbook) + def v2_runner_item_on_ok(self, result): + self.loop_items.append(result) + + def v2_runner_item_on_failed(self, result): + self.loop_items.append(result) + + def v2_runner_item_on_skipped(self, result): + self.loop_items.append(result) + + def v2_runner_retry(self, result): + self.loop_items.append(result) + def v2_runner_on_ok(self, result, **kwargs): self.log_task(result, 'ok', **kwargs) diff --git a/ara/templates/task_result.html b/ara/templates/task_result.html index 57a663bf..83d899d1 100644 --- a/ara/templates/task_result.html +++ b/ara/templates/task_result.html @@ -19,6 +19,15 @@ {% endif -%} {% endif -%} {% endfor -%} + {% elif result is iterable and result is not string %} + {% for item in result -%} + {% set item = item|from_json %} +
    +
    + {{ display_result(item, 'h2') }} +
    +
    + {% endfor %} {% else -%}
    {{ result |to_nice_json |safe }}
    {% endif -%} From 4ba0d025f1cc30766c35bbb59cd860af37ad2a08 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Tue, 2 May 2017 17:00:20 -0400 Subject: [PATCH 325/499] Add playbook parameters and metadata, handle task tags We now retrieve all the CLI options used when running ansible-playbook, if they are available. Users can prevent CLI options from being saved by ARA with the new configuration option, ARA_IGNORE_PARAMETERS. By default, we do not save extra_vars as it is likely to contain sensitive information such as passwords. These parameters can be found in a new parameter panel for each report and is effective only for new playbook runs. Previous playbook runs cannot be retro-fitted. Additionnally, we now store task tags. Task tags are shown when hovering over a task name that has a task associated with it and when viewing the task result in the popup modal. It is also possible to search for a tag in the task result search box. The UI is a bit rough around the edges, it'll be improved in a later commit. Change-Id: Icb7f175efbf87a411ad998ea18172748fae44035 --- ara/config.py | 4 ++ ara/db/versions/005_ansible_metadata.py | 41 ++++++++++++++++ ara/models.py | 2 + ara/plugins/callbacks/log_ara.py | 25 +++++++++- ara/templates/ajax/task_name.html | 13 ++++++ ara/templates/macros.html | 9 ---- ara/templates/report.html | 62 +++++++++++++++++++++++-- ara/templates/task_result.html | 3 ++ ara/tests/integration/smoke.yml | 8 ++++ ara/tests/unit/fakes.py | 14 +++++- ara/tests/unit/test_app.py | 11 +++++ ara/tests/unit/test_ara_read.py | 2 + ara/tests/unit/test_ara_record.py | 2 + ara/tests/unit/test_models.py | 6 ++- ara/views/reports.py | 22 ++++++++- doc/source/configuration.rst | 17 +++++++ 16 files changed, 223 insertions(+), 18 deletions(-) create mode 100644 ara/db/versions/005_ansible_metadata.py create mode 100644 ara/templates/ajax/task_name.html diff --git a/ara/config.py b/ara/config.py index bcaba157..77c7f419 100644 --- a/ara/config.py +++ b/ara/config.py @@ -65,6 +65,7 @@ def _ara_config(config, key, env_var, default=None, section='ara', 'ARA_HOST': '127.0.0.1', 'ARA_IGNORE_EMPTY_GENERATION': True, 'ARA_IGNORE_MIMETYPE_WARNINGS': True, + 'ARA_IGNORE_PARAMETERS': ['extra_vars'], 'ARA_LOG_FORMAT': '%(asctime)s - %(name)s - %(levelname)s - %(message)s', 'ARA_LOG_LEVEL': 'INFO', 'ARA_PATH_MAX': 40, @@ -94,6 +95,9 @@ def _ara_config(config, key, env_var, default=None, section='ara', 'ARA_ENABLE_DEBUG_VIEW', value_type='boolean') ARA_HOST = _ara_config(config, 'host', 'ARA_HOST') +ARA_IGNORE_PARAMETERS = _ara_config(config, 'ignore_parameters', + 'ARA_IGNORE_PARAMETERS', + value_type='list') ARA_LOG_FILE = _ara_config(config, 'logfile', 'ARA_LOG_FILE') ARA_LOG_FORMAT = _ara_config(config, 'logformat', 'ARA_LOG_FORMAT') ARA_LOG_LEVEL = _ara_config(config, 'loglevel', 'ARA_LOG_LEVEL') diff --git a/ara/db/versions/005_ansible_metadata.py b/ara/db/versions/005_ansible_metadata.py new file mode 100644 index 00000000..9ccba10f --- /dev/null +++ b/ara/db/versions/005_ansible_metadata.py @@ -0,0 +1,41 @@ +# Copyright 2017 Red Hat, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +"""ansible_metadata + +Revision ID: 5716083d63f5 +Revises: 22aa8072d705 +Create Date: 2017-05-02 13:34:41.150156 + +""" +# flake8: noqa +# revision identifiers, used by Alembic. +revision = '5716083d63f5' +down_revision = '22aa8072d705' + +from ara import models +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column('playbooks', sa.Column('options', models.CompressedData((2 ** 32) - 1), nullable=True)) + op.add_column('tasks', sa.Column('tags', sa.Text(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade(): + op.drop_column('tasks', 'tags') + op.drop_column('playbooks', 'options') + # ### end Alembic commands ### diff --git a/ara/models.py b/ara/models.py index 2b09bebb..17be4465 100644 --- a/ara/models.py +++ b/ara/models.py @@ -168,6 +168,7 @@ class Playbook(db.Model, TimedEntity): id = std_pkey() path = db.Column(db.String(255)) ansible_version = db.Column(db.String(255)) + options = db.Column(CompressedData((2 ** 32) - 1)) data = one_to_many('Data', backref='playbook') files = one_to_many('File', backref='playbook') @@ -280,6 +281,7 @@ class Task(db.Model, TimedEntity): name = db.Column(db.Text) sortkey = db.Column(db.Integer) action = db.Column(db.Text) + tags = db.Column(db.Text) is_handler = db.Column(db.Boolean) file = many_to_one('File', backref='tasks') diff --git a/ara/plugins/callbacks/log_ara.py b/ara/plugins/callbacks/log_ara.py index b755a6de..2380d09d 100644 --- a/ara/plugins/callbacks/log_ara.py +++ b/ara/plugins/callbacks/log_ara.py @@ -29,6 +29,12 @@ from ara.webapp import create_app from datetime import datetime +# To retrieve Ansible CLI options +try: + from __main__ import cli +except ImportError: + cli = None + __metaclass__ = type LOG = logging.getLogger('ara.callback') @@ -88,6 +94,11 @@ def __init__(self): self.play_counter = itertools.count() self.task_counter = itertools.count() + if cli: + self._options = cli.options + else: + self._options = None + def get_or_create_host(self, hostname): try: host = (models.Host.query @@ -279,6 +290,7 @@ def v2_playbook_on_task_start(self, task, is_conditional, action=task.action, play=self.play, playbook=self.playbook, + tags=json.dumps(task._attributes['tags']), file=file_, lineno=lineno, is_handler=is_handler) @@ -291,11 +303,22 @@ def v2_playbook_on_handler_task_start(self, task): def v2_playbook_on_start(self, playbook): path = os.path.abspath(playbook._file_name) + if self._options is not None: + options = self._options.__dict__.copy() + else: + options = {} + + # Potentially sanitize some user-specified keys + for parameter in app.config['ARA_IGNORE_PARAMETERS']: + if parameter in options: + msg = "Parameter not saved by ARA due to configuration" + options[parameter] = msg LOG.debug('starting playbook %s', path) self.playbook = models.Playbook( ansible_version=ansible_version, - path=path + path=path, + options=options ) self.playbook.start() diff --git a/ara/templates/ajax/task_name.html b/ara/templates/ajax/task_name.html new file mode 100644 index 00000000..e7f4f81f --- /dev/null +++ b/ara/templates/ajax/task_name.html @@ -0,0 +1,13 @@ +{% macro render_tags(result) -%} + This task has the following tags: +
      + {% for tag in result.task.tags | from_json -%} +
    • {{ tag }}
    • + {% endfor %} +
    +{% endmacro %} +{% if result.task.tags and result.task.tags | from_json | length > 0 -%} +
    {{ result.task.name }}
    +{% else -%} +
    {{ result.task.name }}
    +{% endif -%} \ No newline at end of file diff --git a/ara/templates/macros.html b/ara/templates/macros.html index 7c60a6ab..8c81974b 100644 --- a/ara/templates/macros.html +++ b/ara/templates/macros.html @@ -19,15 +19,6 @@ {% endif -%} {% endmacro -%} -{% macro render_playbook_summary(playbook) -%} -
    -
    Ansible version
    -
    {{ playbook.ansible_version }}
    -
    Path
    -
    {{ playbook.path }}
    -
    -{% endmacro -%} - {% macro result_page_length(length) -%} {% if length == 0 -%} "paging": false, diff --git a/ara/templates/report.html b/ara/templates/report.html index 35c9682b..20cd2c9e 100644 --- a/ara/templates/report.html +++ b/ara/templates/report.html @@ -19,9 +19,7 @@ {{ playbook.time_start |datefmt }}
    @@ -30,6 +28,13 @@ {{ playbook.duration |timefmt }}

    +
    +
    + + + Parameters +
    +
    @@ -71,6 +76,41 @@ + + + +
    diff --git a/ara/tests/unit/test_filters.py b/ara/tests/unit/test_filters.py index 99ed1c78..f1e8b964 100644 --- a/ara/tests/unit/test_filters.py +++ b/ara/tests/unit/test_filters.py @@ -113,11 +113,11 @@ def test_jinja_yamlhighlight(self): tasks: - debug: msg: "foo""" - t = self.env.from_string('{{ data | yamlhighlight | escape }}') + t = self.env.from_string('{{ data | yamlhighlight | safe }}') res = t.render(data=data) # This is ugly, sorry - expected = '''<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#line-1">1</a>\n<a href="#line-2">2</a>\n<a href="#line-3">3</a>\n<a href="#line-4">4</a>\n<a href="#line-5">5</a></pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span id="line-1"><a name="line-1"></a><span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">name</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">Test thing</span>\n</span><span id="line-2"><a name="line-2"></a> <span class="l l-Scalar l-Scalar-Plain">hosts</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">localhost</span>\n</span><span id="line-3"><a name="line-3"></a> <span class="l l-Scalar l-Scalar-Plain">tasks</span><span class="p p-Indicator">:</span>\n</span><span id="line-4"><a name="line-4"></a> <span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">debug</span><span class="p p-Indicator">:</span>\n</span><span id="line-5"><a name="line-5"></a> <span class="l l-Scalar l-Scalar-Plain">msg</span><span class="p p-Indicator">:</span> <span class="s">&quot;foo</span>\n</span></pre></div>\n</td></tr></table>''' # flake8: noqa + expected = '''
    1\n2\n3\n4\n5
    - name: Test thing\n    hosts: localhost\n    tasks:\n      - debug:\n          msg: "foo\n
    \n
    ''' # flake8: noqa self.assertEqual(res, expected) def test_jinja_fast_count(self): From a89efe6cee11be67093ee4a7e7ae4cd001932280 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Sun, 9 Jul 2017 00:21:04 -0400 Subject: [PATCH 355/499] Unpin Flask (bump from 0.11.1 to 0.12.2) There's been new releases of Flask, let's unpin it. Change-Id: I8d948aae2f92baab1b323a4a4eda55a4e460c651 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1ff06550..501b374b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 jinja2>=2.9 ansible>=2.1.0.0 -Flask==0.11.1 +Flask<0.13 Flask-SQLAlchemy Flask-Migrate Flask-Script From 3ea6e4b2d42eb58ef8609a3ed84a136c32e3c4b8 Mon Sep 17 00:00:00 2001 From: "ritesh.arya" Date: Mon, 10 Jul 2017 14:56:32 +0530 Subject: [PATCH 356/499] Update .gitignore Because egg* already ignores egg-info. Change-Id: I62fc1c4b82bf0394d3fbd9b941073637da6498b9 --- .gitignore | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 7ba56a94..2099f54a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,9 +3,7 @@ __pycache__/ _build/ build/ -*.egg -*.eggs -*.egg-info +*.egg* dist build eggs From cead5c8f3ff4ea3ec8f57d55da957b9b5abdfa00 Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Sat, 15 Jul 2017 12:18:34 -0400 Subject: [PATCH 357/499] Re-work run_tests.sh to support Ansible devel, py35 tests We want to be able to test Ansible devel (from git) to pre-emptively run tests against their development branch. We also want to be able to run integration py35 tests. This commit makes run_tests.sh a bit more flexible with arguments. The py35 integration jobs are being defined here [1]. [1]: https://review.openstack.org/#/c/484145/ Change-Id: I5fae1bde72e0d923eb099c596d7d2a972a6f79cb --- run_tests.sh | 72 ++++++++++++++++++++++++++++++++++++++++++---------- tox.ini | 6 +++-- 2 files changed, 62 insertions(+), 16 deletions(-) diff --git a/run_tests.sh b/run_tests.sh index 851df52c..d739e099 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -13,6 +13,21 @@ # License for the specific language governing permissions and limitations # under the License. +function usage() { + cat << EOF +usage: ./run-tests.sh [-a|--ansible ANSIBLE_VERSION] [-a|--python PYTHON_VERSION] [-h|--help] + +Runs ARA integration tests + +optional arguments: +-a, --ansible Ansible version to test with (ex: '2.3.1.0', 'devel') + Defaults to version in requirements.txt (latest version of Ansible) +-p, --python Python version from a tox environment to test with (ex: 'py27', 'py35') + Defaults to py27 +-h, --help Prints this help dialog. +EOF +} + # Some tests only work on certain versions of Ansible. # Use Ansible's pseudo semver to determine if we can run something. function semver_compare() { @@ -25,13 +40,44 @@ print(LooseVersion('${1}') ${2} LooseVersion('${3}')) EOF } +# Cleanup from any previous runs if necessary +function cleanup() { + [[ -e "${LOGDIR}" ]] && rm -rf "${LOGDIR}" + [[ -e ".tox/${python_version}" ]] && rm -rf .tox/${python_version} + mkdir -p "${LOGDIR}" + touch ${CONSTRAINTS_FILE} +} + +# Get args +ansible_version="latest" +python_version="py27" +while [ "$1" != "" ]; do + case $1 in + -a | --ansible ) shift + ansible_version=$1 + ;; + -p | --python ) shift + python_version=$1 + ;; + -h | --help ) usage + exit + ;; + * ) usage + exit 1 + esac + shift +done +echo "Running ARA integration tests with Ansible ${ansible_version} on ${python_version}..." + set -ex -# This script runs ara-specific integration tests. export PATH=$PATH:/usr/local/sbin:/usr/sbin -LOGROOT=${WORKSPACE:-/tmp} +LOGROOT=${WORKSPACE:-/tmp/ara_tests} LOGDIR="${LOGROOT}/logs" SCRIPT_DIR=$(cd `dirname $0` && pwd -P) export ANSIBLE_TMP_DIR="${LOGDIR}/ansible" +export CONSTRAINTS_FILE="${LOGDIR}/constraints.txt" + +cleanup if [[ $ARA_TEST_PGSQL == "1" ]]; then if [[ -z $ARA_TEST_PGSQL_USER || -z $ARA_TEST_PGSQL_PASSWORD ]]; then @@ -46,21 +92,19 @@ fi # Ensure we're running from the script directory pushd "${SCRIPT_DIR}" -# Cleanup from any previous runs if necessary -git checkout requirements.txt -[[ -e "${LOGDIR}" ]] && rm -rf "${LOGDIR}" -[[ -e ".tox/venv" ]] && rm -rf .tox/venv -mkdir -p "${LOGDIR}" - -# We might want to test with a particular version of Ansible -# To specify a version, use "./run_tests.sh ansible==2.x.x.x" -if [[ -n "${1}" && "${1}" != "ansible==latest" ]]; then - sed -i.tmp -e "s/ansible.*/${1}/" requirements.txt +if ! [[ "${ansible_version}" =~ "latest" ]]; then + current_version=$(grep "ansible" requirements.txt) + echo "Will use Ansible ${ansible_version} instead of ${current_version} in tests..." + if [[ "${ansible_version}" =~ "devel" ]]; then + echo "git+https://github.com/ansible/ansible@devel#egg=ansible" > ${CONSTRAINTS_FILE} + else + echo "ansible==${ansible_version}" > ${CONSTRAINTS_FILE} + fi fi # Install ARA so it can be used from a virtual environment -tox -e venv --notest -source .tox/venv/bin/activate +tox -e ${python_version} --notest +source .tox/${python_version}/bin/activate ansible --version python --version diff --git a/tox.ini b/tox.ini index 690d8121..2b293065 100644 --- a/tox.ini +++ b/tox.ini @@ -9,9 +9,11 @@ basepython = {py35}: python3.5 sitepackages = True usedevelop = True -install_command = pip install -U {opts} {packages} +install_command = pip install -U {opts} {packages} -c{env:CONSTRAINTS_FILE:/dev/null} setenv = VIRTUAL_ENV={envdir} -deps = -r{toxinidir}/test-requirements.txt +deps = + #GIT_ANSIBLE_DEVEL + -r{toxinidir}/test-requirements.txt [testenv:venv] commands = {posargs} From 788bbac4138092a3cf9ef5d2771e01eab059b2ae Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Sat, 15 Jul 2017 16:13:10 -0400 Subject: [PATCH 358/499] Add bashate linting for run_tests.sh Change-Id: Ib6c27a0cd43cc7e9b6041039a9aee01cbf9c5a07 --- run_tests.sh | 30 ++++++++++++++---------------- test-requirements.txt | 1 + tox.ini | 1 + 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/run_tests.sh b/run_tests.sh index d739e099..b5ed1834 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -function usage() { +function usage { cat << EOF usage: ./run-tests.sh [-a|--ansible ANSIBLE_VERSION] [-a|--python PYTHON_VERSION] [-h|--help] @@ -30,8 +30,8 @@ EOF # Some tests only work on certain versions of Ansible. # Use Ansible's pseudo semver to determine if we can run something. -function semver_compare() { - cat </dev/null 2>&1 || { echo >&2 'pg_config is missing in $PATH, please install postgresql development headers.'; exit 1; } - pip install psycopg2 + command -v pg_config >/dev/null 2>&1 || { echo >&2 'pg_config is missing in $PATH, please install postgresql development headers.'; exit 1; } + pip install psycopg2 fi # Setup ARA @@ -126,12 +126,10 @@ export ARA_DATABASE="${DATABASE}" # failed.yml does not work with lint due to unicode error # https://github.com/willthames/ansible-lint/issues/242 # include_role is excluded because it is only applied on >2.2 later -for file in $(find ara/tests/integration ! -path '*failed.yml' ! -path '*include_role.yml' -regex '.*.y[a]?ml') -do +for file in $(find ara/tests/integration ! -path '*failed.yml' ! -path '*include_role.yml' -regex '.*.y[a]?ml'); do ansible-lint ${file} done -for file in $(find ara/tests/integration -maxdepth 1 ! -path '*include_role.yml' -regex '.*.y[a]?ml') -do +for file in $(find ara/tests/integration -maxdepth 1 ! -path '*include_role.yml' -regex '.*.y[a]?ml'); do ansible-playbook --syntax-check ${file} done diff --git a/test-requirements.txt b/test-requirements.txt index 6a1bb3ec..82a03ba9 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,4 +1,5 @@ bandit>=1.1.0 # Apache-2.0 +bashate>=0.2 coverage flake8 ansible-lint diff --git a/tox.ini b/tox.ini index 2b293065..acdab2af 100644 --- a/tox.ini +++ b/tox.ini @@ -25,6 +25,7 @@ commands = sphinx-build -W -b html doc/source doc/build/html commands = flake8 ara bandit -r ara -x ara/tests + bashate -v --ignore E006,E011 {toxinidir}/run_tests.sh [testenv:py27] commands = From cbd3ae1e9b0b4b4c841003cdc303e74ee2168b8b Mon Sep 17 00:00:00 2001 From: David Moreau-Simard Date: Sat, 15 Jul 2017 20:01:04 -0400 Subject: [PATCH 359/499] Improve display of task results, records and host facts Pass the text, json, lists and dicts to pygments in order to get the nice formatting and highlighting from it. Change-Id: I3846fc55a70ea5a0f0487ee8afc6b13d55b50f4b --- ara/filters.py | 22 ++++++++++ ara/static/css/ara.css | 2 +- ara/templates/ajax/record_value.html | 2 +- ara/templates/ajax/task_status.html | 2 +- ara/templates/host.html | 4 +- ara/templates/report.html | 4 +- ara/templates/task_result.html | 34 +++++++-------- ara/tests/unit/test_filters.py | 63 ++++++++++++++++++++++++++++ 8 files changed, 107 insertions(+), 26 deletions(-) diff --git a/ara/filters.py b/ara/filters.py index 54887d79..f7a9227e 100644 --- a/ara/filters.py +++ b/ara/filters.py @@ -24,6 +24,8 @@ from pygments import highlight from pygments.formatters import HtmlFormatter from pygments.lexers import YamlLexer +from pygments.lexers import JsonLexer +from pygments.lexers.special import TextLexer def configure_template_filters(app): @@ -87,6 +89,26 @@ def jinja_yamlhighlight(code): YamlLexer(), formatter) + @app.template_filter('pygments_formatter') + def jinja_pygments_formatter(data): + formatter = HtmlFormatter(cssclass='codehilite') + + if isinstance(data, str) or isinstance(data, unicode): + data.rstrip() + try: + data = json.loads(data) + data = json.dumps(data, indent=4, sort_keys=True) + lexer = JsonLexer() + except (ValueError, TypeError): + lexer = TextLexer() + elif isinstance(data, dict) or isinstance(data, list): + data = json.dumps(data, indent=4, sort_keys=True) + lexer = JsonLexer() + else: + lexer = TextLexer() + + return highlight(Markup(data).unescape(), lexer, formatter) + @app.template_filter('fast_count') def jinja_fast_count(query): return fast_count(query) diff --git a/ara/static/css/ara.css b/ara/static/css/ara.css index fc0bc65e..4325016b 100644 --- a/ara/static/css/ara.css +++ b/ara/static/css/ara.css @@ -57,7 +57,7 @@ /* Table styling */ /* Wrap pre tags so they don't print endlessly horizontally */ -.table pre, .results pre { +.records pre, .facts pre, .results .codehilite pre { white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; diff --git a/ara/templates/ajax/record_value.html b/ara/templates/ajax/record_value.html index 2f7cef3f..cf7624e5 100644 --- a/ara/templates/ajax/record_value.html +++ b/ara/templates/ajax/record_value.html @@ -1,5 +1,5 @@ {% if record.type == 'json' or record.type == 'dict' -%} -
    {{ record.value | to_nice_json | escape }}
    + {{ record.value | pygments_formatter | safe }} {% elif record.type == 'list' -%}
    diff --git a/ara/templates/navbar.html b/ara/templates/navbar.html index d1cd33c9..e8c14fb4 100644 --- a/ara/templates/navbar.html +++ b/ara/templates/navbar.html @@ -13,8 +13,8 @@