diff --git a/.env b/.env new file mode 100644 index 00000000..c75c843a --- /dev/null +++ b/.env @@ -0,0 +1,10 @@ +#GLOBAL +APP_DATA_LOCATION=/path/to/docker_appdata +APP_CONFIG_LOCATION=/path/to/docker_config +LOGS_LOCATION=/path/to/docker_logs +TZ=Europe/Paris +HOST_USER_ID=1000 +HOST_USER_GID=1000 +PORT=20211 + + diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 00000000..19e1e231 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,64 @@ +--- +name: docker + +on: + schedule: + - cron: 0 14 * * 0 # every sunday at 14:00 + push: + branches: + - '**' + tags: + - '*.*.*' + pull_request: + branches: + - master + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Set up dynamic build ARGs + id: getargs + run: echo "::set-output name=version::$(cat ./stable/VERSION)" + + - name: Docker meta + id: meta + uses: docker/metadata-action@v3 + with: + # list of Docker images to use as base name for tags + images: | + jokobsk/pi.alert + # generate Docker tags based on the following events/attributes + tags: | + type=raw,value=latest + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v2 + with: + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..190b23b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +config/pialert.conf +db/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..cd17f6c6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,39 @@ +FROM debian:buster-slim + +# default UID and GID +ENV USER=pi USER_ID=1000 USER_GID=1000 TZ=Europe/London PORT=20211 + +# Todo, figure out why using a workdir instead of full paths don't work +# Todo, do we still need all these packages? I can already see sudo which isn't needed + +RUN apt-get update \ + && apt-get install --no-install-recommends ca-certificates curl libwww-perl arp-scan perl apt-utils cron sudo lighttpd php php-cgi php-fpm php-sqlite3 sqlite3 dnsutils net-tools python iproute2 nmap python-pip zip -y \ + && pip install requests \ + && apt-get clean autoclean \ + && apt-get autoremove \ + && rm -rf /var/lib/apt/lists/* \ + && ln -s /home/pi/pialert/install/index.html /var/www/html/index.html \ + && ln -s /home/pi/pialert/front /var/www/html/pialert \ + && lighttpd-enable-mod fastcgi-php + + +# now creating user +RUN groupadd --gid "${USER_GID}" "${USER}" && \ + useradd \ + --uid ${USER_ID} \ + --gid ${USER_GID} \ + --create-home \ + --shell /bin/bash \ + ${USER} + +COPY . /home/pi/pialert + +# Pi.Alert +RUN python /home/pi/pialert/back/pialert.py update_vendors \ + && sed -ie 's/= 80/= '${PORT}'/g' /etc/lighttpd/lighttpd.conf \ + && (crontab -l 2>/dev/null; cat /home/pi/pialert/install/pialert.cron) | crontab - + +# it's easy for permissions set in Git to be overridden, so doing it manually +RUN chmod -R a+rxw /home/pi/pialert/ + +CMD ["/home/pi/pialert/dockerfiles/start.sh"] diff --git a/README.md b/README.md index 323853c0..7f5d0d97 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,27 @@ WIFI / LAN intruder detector. Scan the devices connected to your WIFI / LAN and alert you the connection of -unknown devices. It also warns the disconnection of "always connected" devices. +unknown devices. It also warns if a "always connected" devices disconnects. ![Main screen][main] - *(Apologies for my English and my limited knowledge of Python, php and JavaScript)* +# Docker image 🐳 +[![Docker](https://github.com/jokob-sk/Pi.Alert/actions/workflows/docker.yml/badge.svg)](https://github.com/jokob-sk/Pi.Alert/actions/workflows/docker.yml) +[![Docker Image Size](https://img.shields.io/docker/image-size/jokobsk/pi.alert?logo=Docker)](https://hub.docker.com/r/jokobsk/pi.alert) + + Docker Pulls + + +🥇 Pi.Alert credit goes to [pucherot/Pi.Alert](https://github.com/pucherot/Pi.Alert).
+🐳 Docker Image: [jokobsk/Pi.Alert](https://registry.hub.docker.com/r/jokobsk/pi.alert).
+📄 [Dockerfile](https://github.com/jokob-sk/Pi.Alert/blob/main/Dockerfile)
+📚 [Dockerfile instructions](https://github.com/jokob-sk/Pi.Alert/blob/main//dockerfiles/README.md). + +![Main screen dark][main_dark] +Dark mode (and Device presence over time) within this fork courtesy of [leiweibau](https://github.com/leiweibau/Pi.Alert) + ## How it works The system continuously scans the network for: - New devices @@ -41,13 +55,18 @@ In charge of: - Scan the network searching connected devices using the scanning methods described - Store the information in the DB - - Report the changes detected by e-mail + - Report the changes detected by e-mail and/or other services (Pushsafer, NTFY, Gotify) + - Optional speedtest for Device "Internet" | ![Report 1][report1] | ![Report 2][report2] | | -------------------- | -------------------- | ### Front -A web frontal that allows: +There is a configurable login to prevent unauthorized use. + +> * Set `PIALERT_WEB_PROTECTION = True` in `pialert.conf` to enable + +A web frontend that allows: - Manage the devices inventory and the characteristics - Display in a visual way all the information collected by the back - Sessions @@ -58,12 +77,25 @@ A web frontal that allows: - Concurrent devices - Down alerts - IP's + - Manual Nmap scans + - Optional speedtest for Device "Internet" - ... | ![Screen 1][screen1] | ![Screen 2][screen2] | | -------------------- | -------------------- | | ![Screen 3][screen3] | ![Screen 4][screen4] | + | ![Screen 5][screen5] | ![Screen 6][screen6] | +With the work of [jokob-sk/Pi.Alert](https://github.com/jokob-sk/Pi.Alert) and own extensions, the new maintenance page was added with various possibilities for maintenance and settings: + - Status Infos (active scans, database size, backup counter) + - Theme Selection (blue, red, green, yellow, black, purple) + - Language Selection (english, german, spanish) + - Light/Dark-Mode Switch + - Pause arp-scan + - DB maintenance tools + - DB Backup and Restore + +![Maintain screen dark][maintain_dark] # Installation @@ -71,7 +103,10 @@ Initially designed to run on a Raspberry Pi, probably it can run on many other Linux distributions. - One-step Automated Install: - #### `curl -sSL https://github.com/pucherot/Pi.Alert/raw/main/install/pialert_install.sh | bash` + #### `curl -sSL https://github.com/leiweibau/Pi.Alert/raw/main/install/pialert_install.sh | bash` + +- One-step Automated Install without Webserver if another Webserver is already installed. (not recommended): + #### `curl -sSL https://github.com/leiweibau/Pi.Alert/raw/main/install/pialert_install_no_webserver.sh | bash` - [Installation Guide (step by step)](docs/INSTALL.md) @@ -79,7 +114,7 @@ Linux distributions. # Update - One-step Automated Update: - #### `curl -sSL https://github.com/pucherot/Pi.Alert/raw/main/install/pialert_update.sh | bash` + #### `curl -sSL https://github.com/leiweibau/Pi.Alert/raw/main/install/pialert_update.sh | bash` # Uninstall process @@ -97,29 +132,48 @@ Linux distributions. ### [Versions History](docs/VERSIONS_HISTORY.md) ### Powered by: - | Product | Objetive | - | ------------ | -------------------------------------- | - | Python | Programming language for the Back | - | PHP | Programming language for the Front-end | - | JavaScript | Programming language for the Front-end | - | Bootstrap | Front-end framework | - | Admin.LTE | Bootstrap template | - | FullCalendar | Calendar component | - | Sqlite | DB engine | - | Lighttpd | Webserver | - | arp-scan | Scan network using arp commands | - | Pi.hole | DNS Server with Ad-block | - | dnsmasq | DHCP Server | + | Product | Objetive | + | ------------- | ------------------------------------------------------- | + | Python | Programming language for the Back | + | PHP | Programming language for the Front-end | + | JavaScript | Programming language for the Front-end | + | Bootstrap | Front-end framework | + | Admin.LTE | Bootstrap template | + | FullCalendar | Calendar component | + | Sqlite | DB engine | + | Lighttpd | Webserver | + | arp-scan | Scan network using arp commands | + | Pi.hole | DNS Server with Ad-block | + | dnsmasq | DHCP Server | + | nmap | Network Scanner | + | zip | Filecompression Tool | + | speedtest-cli | Python SpeedTest https://github.com/sivel/speedtest-cli | ### License GPL 3.0 [Read more here](LICENSE.txt) + Source of the animated GIF (Loading Animation) + https://commons.wikimedia.org/wiki/File:Loading_Animation.gif + + Source of the selfhosted Fonts + https://github.com/adobe-fonts/source-sans + ### Contact pi.alert.application@gmail.com ***Suggestions and comments are welcome*** + +### Special thanks 🥇 + This code is a collaborative body of work, with special thanks to: + + - [leiweibau](https://github.com/leiweibau/Pi.Alert): Dark mode (and Last X scans activity chart) + - [Macleykun](https://github.com/Macleykun): Help with Dockerfile clean-up + - [Final-Hawk](https://github.com/Final-Hawk): Help with NTFY, styling and other fixes + - [TeroRERO](https://github.com/terorero): Spanish translation + - [jokob-sk](https://github.com/jokob-sk/Pi.Alert): DB Maintenance tools + - Please see the [Git commit history](https://github.com/jokob-sk/Pi.Alert/commits/main) for a full list of people and their contributions to the project [main]: ./docs/img/1_devices.jpg "Main screen" @@ -127,6 +181,10 @@ Linux distributions. [screen2]: ./docs/img/2_2_device_sessions.jpg "Screen 2" [screen3]: ./docs/img/2_3_device_presence.jpg "Screen 3" [screen4]: ./docs/img/3_presence.jpg "Screen 4" +[screen5]: ./docs/img/2_4_device_nmap.jpg "Screen 5" +[screen6]: ./docs/img/2_5_device_nmap_ready.jpg "Screen 6" [report1]: ./docs/img/4_report_1.jpg "Report sample 1" [report2]: ./docs/img/4_report_2.jpg "Report sample 2" +[main_dark]: /docs/img/1_devices_dark.jpg "Main screen dark" +[maintain_dark]: /docs/img/5_maintain.jpg "Maintain screen dark" diff --git a/back/pialert.py b/back/pialert.py index 1a1e5da7..c841d904 100644 --- a/back/pialert.py +++ b/back/pialert.py @@ -27,13 +27,14 @@ import socket import io import smtplib import csv - +import requests #=============================================================================== # CONFIG CONSTANTS #=============================================================================== PIALERT_BACK_PATH = os.path.dirname(os.path.abspath(__file__)) PIALERT_PATH = PIALERT_BACK_PATH + "/.." +STOPARPSCAN = PIALERT_PATH + "/db/setting_stoparpscan" if (sys.version_info > (3,0)): exec(open(PIALERT_PATH + "/config/version.conf").read()) @@ -74,6 +75,9 @@ def main (): return cycle = str(sys.argv[1]) + ## Upgrade DB if needed + upgradeDB() + ## Main Commands if cycle == 'internet_IP': res = check_internet_IP() @@ -81,8 +85,10 @@ def main (): res = update_devices_MAC_vendors() elif cycle == 'update_vendors_silent': res = update_devices_MAC_vendors('-s') - else : + elif os.path.exists(STOPARPSCAN) == False : res = scan_network() + elif os.path.exists(STOPARPSCAN) == True : + res = 0 # Check error if res != 0 : @@ -350,15 +356,12 @@ def scan_network (): # ScanCycle data cycle_interval = scanCycle_data['cic_EveryXmin'] - arpscan_retries = scanCycle_data['cic_arpscanCycles'] - # TESTING - Fast scan - # arpscan_retries = 1 # arp-scan command print ('\nScanning...') print (' arp-scan Method...') print_log ('arp-scan starts...') - arpscan_devices = execute_arpscan (arpscan_retries) + arpscan_devices = execute_arpscan () print_log ('arp-scan ends') # DEBUG - print number of rows updated # print (arpscan_devices) @@ -444,21 +447,13 @@ def query_ScanCycle_Data (pOpenCloseDB = False): return sqlRow #------------------------------------------------------------------------------- -def execute_arpscan (pRetries): - +def execute_arpscan (): # #101 - arp-scan subnet configuration # Prepare command arguments subnets = SCAN_SUBNETS.strip().split() - arpscan_args = ['sudo', 'arp-scan', '--ignoredups', '--retry=' + str(pRetries)] + subnets - # arpscan_args = ['sudo', 'arp-scan', SCAN_SUBNETS, '--ignoredups', '--retry=' + str(pRetries)] - # print (arpscan_args) - - # TESTING - Fast Scan - # arpscan_args = ['sudo', 'arp-scan', '--localnet', '--ignoredups', '--retry=1'] - - # DEBUG - arp-scan command - # print (" ".join (arpscan_args)) - + # Retry is 6 to avoid false offline devices + arpscan_args = ['sudo', 'arp-scan', '--ignoredups', '--retry=6'] + subnets + # Execute command arpscan_output = subprocess.check_output (arpscan_args, universal_newlines=True) @@ -472,9 +467,6 @@ def execute_arpscan (pRetries): devices_list = [device.groupdict() for device in re.finditer (re_pattern, arpscan_output)] - # Bugfix #5 - Delete duplicated MAC's with different IP's - # TEST - Force duplicated device - # devices_list.append(devices_list[0]) # Delete duplicate MAC unique_mac = [] unique_devices = [] @@ -688,6 +680,23 @@ def print_scan_stats (): (cycle,)) print (' IP Changes.........: ' + str ( sql.fetchone()[0]) ) + # Add to History + sql.execute("SELECT * FROM Devices") + History_All = sql.fetchall() + History_All_Devices = len(History_All) + + sql.execute("SELECT * FROM Devices WHERE dev_Archived = 1") + History_Archived = sql.fetchall() + History_Archived_Devices = len(History_Archived) + + sql.execute("""SELECT * FROM CurrentScan WHERE cur_ScanCycle = ? """, (cycle,)) + History_Online = sql.fetchall() + History_Online_Devices = len(History_Online) + History_Offline_Devices = History_All_Devices - History_Archived_Devices - History_Online_Devices + + sql.execute ("INSERT INTO Online_History (Scan_Date, Online_Devices, Down_Devices, All_Devices, Archived_Devices) "+ + "VALUES ( ?, ?, ?, ?, ?)", (startTime, History_Online_Devices, History_Offline_Devices, History_All_Devices, History_Archived_Devices ) ) + #------------------------------------------------------------------------------- def create_new_devices (): # arpscan - Insert events for new devices @@ -702,6 +711,16 @@ def create_new_devices (): WHERE dev_MAC = cur_MAC) """, (startTime, cycle) ) + print_log ('New devices - Insert Connection into session table') + sql.execute ("""INSERT INTO Sessions (ses_MAC, ses_IP, ses_EventTypeConnection, ses_DateTimeConnection, + ses_EventTypeDisconnection, ses_DateTimeDisconnection, ses_StillConnected, ses_AdditionalInfo) + SELECT cur_MAC, cur_IP,'Connected',?, NULL , NULL ,1, cur_Vendor + FROM CurrentScan + WHERE cur_ScanCycle = ? + AND NOT EXISTS (SELECT 1 FROM Sessions + WHERE ses_MAC = cur_MAC) """, + (startTime, cycle) ) + # arpscan - Create new devices print_log ('New devices - 2 Create devices') sql.execute ("""INSERT INTO Devices (dev_MAC, dev_name, dev_Vendor, @@ -929,17 +948,10 @@ def update_devices_data_from_scan (): sql.executemany ("UPDATE Devices SET dev_Vendor = ? WHERE dev_MAC = ? ", recordsToUpdate ) - # New Apple devices -> Cycle 15 - print_log ('Update devices - 6 Cycle for Apple devices') - sql.execute ("""UPDATE Devices SET dev_ScanCycle = 15 - WHERE dev_FirstConnection = ? - AND UPPER(dev_Vendor) LIKE '%APPLE%' """, - (startTime,) ) - print_log ('Update devices end') #------------------------------------------------------------------------------- -# Feature #43 - Resoltion name for unknown devices +# Feature #43 - Resolve name for unknown devices def update_devices_names (): # Initialize variables recordsToUpdate = [] @@ -1162,11 +1174,22 @@ def skip_repeated_notifications (): def email_reporting (): global mail_text global mail_html - # Reporting section print ('\nReporting...') openDB() + # Disable reporting on events for devices where reporting is disabled based on the MAC address + sql.execute ("""UPDATE Events SET eve_PendingAlertEmail = 0 + WHERE eve_PendingAlertEmail = 1 AND eve_EventType != 'Device Down' AND eve_MAC IN + ( + SELECT dev_MAC FROM Devices WHERE dev_AlertEvents = 0 + )""") + sql.execute ("""UPDATE Events SET eve_PendingAlertEmail = 0 + WHERE eve_PendingAlertEmail = 1 AND eve_EventType = 'Device Down' AND eve_MAC IN + ( + SELECT dev_MAC FROM Devices WHERE dev_AlertDeviceDown = 0 + )""") + # Open text Template template_file = open(PIALERT_BACK_PATH + '/report_template.txt', 'r') mail_text = template_file.read() @@ -1182,27 +1205,27 @@ def email_reporting (): mail_text = mail_text.replace ('', timeFormated) mail_html = mail_html.replace ('', timeFormated) - mail_text = mail_text.replace ('', cycle ) + # mail_text = mail_text.replace ('', cycle ) mail_html = mail_html.replace ('', cycle ) mail_text = mail_text.replace ('', socket.gethostname() ) mail_html = mail_html.replace ('', socket.gethostname() ) - mail_text = mail_text.replace ('', VERSION ) - mail_html = mail_html.replace ('', VERSION ) + # mail_text = mail_text.replace ('', VERSION ) + # mail_html = mail_html.replace ('', VERSION ) - mail_text = mail_text.replace ('', VERSION_DATE ) - mail_html = mail_html.replace ('', VERSION_DATE ) + # mail_text = mail_text.replace ('', VERSION_DATE ) + # mail_html = mail_html.replace ('', VERSION_DATE ) - mail_text = mail_text.replace ('', VERSION_YEAR ) - mail_html = mail_html.replace ('', VERSION_YEAR ) + # mail_text = mail_text.replace ('', VERSION_YEAR ) + # mail_html = mail_html.replace ('', VERSION_YEAR ) # Compose Internet Section print (' Formating report...') mail_section_Internet = False mail_text_Internet = '' mail_html_Internet = '' - text_line_template = ' {} \t{}\t{}\t{}\n' + text_line_template = '{} \t{}\t{}\t{}\n' html_line_template = '\n'+ \ ' {} \n {} \n'+ \ ' {} \n'+ \ @@ -1212,16 +1235,18 @@ def email_reporting (): WHERE eve_PendingAlertEmail = 1 AND eve_MAC = 'Internet' ORDER BY eve_DateTime""") + for eventAlert in sql : mail_section_Internet = True mail_text_Internet += text_line_template.format ( - eventAlert['eve_EventType'], eventAlert['eve_DateTime'], - eventAlert['eve_IP'], eventAlert['eve_AdditionalInfo']) + 'Event:', eventAlert['eve_EventType'], 'Time:', eventAlert['eve_DateTime'], + 'IP:', eventAlert['eve_IP'], 'More Info:', eventAlert['eve_AdditionalInfo']) mail_html_Internet += html_line_template.format ( REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_EventType'], eventAlert['eve_DateTime'], eventAlert['eve_IP'], eventAlert['eve_AdditionalInfo']) + format_report_section (mail_section_Internet, 'SECTION_INTERNET', 'TABLE_INTERNET', mail_text_Internet, mail_html_Internet) @@ -1229,7 +1254,7 @@ def email_reporting (): mail_section_new_devices = False mail_text_new_devices = '' mail_html_new_devices = '' - text_line_template = ' {}\t{}\t{}\t{}\t{}\n' + text_line_template = '{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\n' html_line_template = '\n'+ \ ' {} \n {} \n'+\ ' {} \n {} \n {} \n\n' @@ -1242,14 +1267,13 @@ def email_reporting (): for eventAlert in sql : mail_section_new_devices = True mail_text_new_devices += text_line_template.format ( - eventAlert['eve_MAC'], eventAlert['eve_DateTime'], - eventAlert['eve_IP'], eventAlert['dev_Name'], - eventAlert['eve_AdditionalInfo']) + 'Name: ', eventAlert['dev_Name'], 'MAC: ', eventAlert['eve_MAC'], 'IP: ', eventAlert['eve_IP'], + 'Time: ', eventAlert['eve_DateTime'], 'More Info: ', eventAlert['eve_AdditionalInfo']) mail_html_new_devices += html_line_template.format ( REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_MAC'], eventAlert['eve_DateTime'], eventAlert['eve_IP'], eventAlert['dev_Name'], eventAlert['eve_AdditionalInfo']) - + format_report_section (mail_section_new_devices, 'SECTION_NEW_DEVICES', 'TABLE_NEW_DEVICES', mail_text_new_devices, mail_html_new_devices) @@ -1257,7 +1281,7 @@ def email_reporting (): mail_section_devices_down = False mail_text_devices_down = '' mail_html_devices_down = '' - text_line_template = ' {}\t{}\t{}\t{}\n' + text_line_template = '{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\n' html_line_template = '\n'+ \ ' {} \n {} \n'+ \ ' {} \n {} \n\n' @@ -1270,8 +1294,8 @@ def email_reporting (): for eventAlert in sql : mail_section_devices_down = True mail_text_devices_down += text_line_template.format ( - eventAlert['eve_MAC'], eventAlert['eve_DateTime'], - eventAlert['eve_IP'], eventAlert['dev_Name']) + 'Name: ', eventAlert['dev_Name'], 'MAC: ', eventAlert['eve_MAC'], + 'Time: ', eventAlert['eve_DateTime'],'IP: ', eventAlert['eve_IP']) mail_html_devices_down += html_line_template.format ( REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_MAC'], eventAlert['eve_DateTime'], eventAlert['eve_IP'], @@ -1284,7 +1308,7 @@ def email_reporting (): mail_section_events = False mail_text_events = '' mail_html_events = '' - text_line_template = ' {}\t{}\t{}\t{}\t{}\t{}\n' + text_line_template = '{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\n' html_line_template = '\n '+ \ ' {} \n {} \n'+ \ ' {} \n {} \n {} \n'+ \ @@ -1299,9 +1323,9 @@ def email_reporting (): for eventAlert in sql : mail_section_events = True mail_text_events += text_line_template.format ( - eventAlert['eve_MAC'], eventAlert['eve_DateTime'], - eventAlert['eve_IP'], eventAlert['eve_EventType'], - eventAlert['dev_Name'], eventAlert['eve_AdditionalInfo']) + 'Name: ', eventAlert['dev_Name'], 'MAC: ', eventAlert['eve_MAC'], + 'IP: ', eventAlert['eve_IP'],'Time: ', eventAlert['eve_DateTime'], + 'Event: ', eventAlert['eve_EventType'],'More Info: ', eventAlert['eve_AdditionalInfo']) mail_html_events += html_line_template.format ( REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_MAC'], eventAlert['eve_DateTime'], eventAlert['eve_IP'], @@ -1324,8 +1348,19 @@ def email_reporting (): send_email (mail_text, mail_html) else : print (' Skip mail...') + if REPORT_NTFY : + print (' Sending report by NTFY...') + send_ntfy (mail_text) + else : + print (' Skip NTFY...') + if REPORT_PUSHSAFER : + print (' Sending report by PUSHSAFER...') + send_pushsafer (mail_text) + else : + print (' Skip PUSHSAFER...') else : print (' No changes to report...') + # Clean Pending Alert Events @@ -1342,7 +1377,33 @@ def email_reporting (): # Commit changes sql_connection.commit() closeDB() +#------------------------------------------------------------------------------- +def send_ntfy (_Text): + requests.post("https://ntfy.sh/{}".format(NTFY_TOPIC), + data=_Text, + headers={ + "Title": "Pi.Alert Notification", + "Actions": "view, Open Dashboard, "+ REPORT_DASHBOARD_URL, + "Priority": "urgent", + "Tags": "warning" + }) +def send_pushsafer (_Text): + url = 'https://www.pushsafer.com/api' + post_fields = { + "t" : 'Pi.Alert Message', + "m" : _Text, + "s" : 11, + "v" : 3, + "i" : 148, + "c" : '#ef7f7f', + "d" : 'a', + "u" : REPORT_DASHBOARD_URL, + "ut" : 'Open Pi.Alert', + "k" : PUSHSAFER_TOKEN, + } + requests.post(url, data=post_fields) + #------------------------------------------------------------------------------- def format_report_section (pActive, pSection, pTable, pText, pHTML): global mail_text @@ -1413,16 +1474,66 @@ def send_email (pText, pHTML): # Send mail smtp_connection = smtplib.SMTP (SMTP_SERVER, SMTP_PORT) smtp_connection.ehlo() - smtp_connection.starttls() - smtp_connection.ehlo() - smtp_connection.login (SMTP_USER, SMTP_PASS) +# smtp_connection.starttls() +# smtp_connection.ehlo() +# smtp_connection.login (SMTP_USER, SMTP_PASS) + if not SafeParseGlobalBool("SMTP_SKIP_TLS"): + smtp_connection.starttls() + smtp_connection.ehlo() + if not SafeParseGlobalBool("SMTP_SKIP_LOGIN"): + smtp_connection.login (SMTP_USER, SMTP_PASS) smtp_connection.sendmail (REPORT_FROM, REPORT_TO, msg.as_string()) smtp_connection.quit() +#------------------------------------------------------------------------------- +def SafeParseGlobalBool(boolVariable): + if boolVariable in globals(): + return eval(boolVariable) + return False #=============================================================================== # DB #=============================================================================== +def upgradeDB (): + + openDB() + + # indicates, if Online_History table is available + onlineHistoryAvailable = sql.execute(""" + SELECT name FROM sqlite_master WHERE type='table' + AND name='Online_History'; + """).fetchall() != [] + + # Check if it is incompatible (Check if table has all required columns) + isIncompatible = False + + if onlineHistoryAvailable : + isIncompatible = sql.execute (""" + SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Online_History') WHERE name='Archived_Devices' + """).fetchone()[0] == 0 + + # Drop table if available, but incompatible + if onlineHistoryAvailable and isIncompatible: + print_log ('Table is incompatible, Dropping the Online_History table)') + sql.execute("DROP TABLE Online_History;") + onlineHistoryAvailable = False + + if onlineHistoryAvailable == False : + sql.execute(""" + CREATE TABLE "Online_History" ( + "Index" INTEGER, + "Scan_Date" TEXT, + "Online_Devices" INTEGER, + "Down_Devices" INTEGER, + "All_Devices" INTEGER, + "Archived_Devices" INTEGER, + PRIMARY KEY("Index" AUTOINCREMENT) + ); + """) + + +#------------------------------------------------------------------------------- + def openDB (): global sql_connection global sql diff --git a/back/report_template.html b/back/report_template.html index 0bc0ecc0..e6b340ad 100644 --- a/back/report_template.html +++ b/back/report_template.html @@ -14,20 +14,19 @@ - +
- @@ -36,9 +35,9 @@ ";for(this.o.calendarWeeks&&(c+='');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),this.dates.contains(b)!==-1&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)!==-1&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),l.enabled===!1&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var d,e,f=new Date(this.viewDate),g=f.getUTCFullYear(),h=f.getUTCMonth(),i=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),j=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),k=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,m=q[this.o.language].today||q.en.today||"",n=q[this.o.language].clear||q.en.clear||"",o=q[this.o.language].titleFormat||q.en.titleFormat;if(!isNaN(g)&&!isNaN(h)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(f,o,this.o.language)),this.picker.find("tfoot .today").text(m).css("display",this.o.todayBtn===!0||"linked"===this.o.todayBtn?"table-cell":"none"),this.picker.find("tfoot .clear").text(n).css("display",this.o.clearBtn===!0?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var p=c(g,h,0),s=p.getUTCDate();p.setUTCDate(s-(p.getUTCDay()-this.o.weekStart+7)%7);var t=new Date(p);p.getUTCFullYear()<100&&t.setUTCFullYear(p.getUTCFullYear()),t.setUTCDate(t.getUTCDate()+42),t=t.valueOf();for(var u,v,w=[];p.valueOf()"),this.o.calendarWeeks)){var x=new Date(+p+(this.o.weekStart-u-7)%7*864e5),y=new Date(Number(x)+(11-x.getUTCDay())%7*864e5),z=new Date(Number(z=c(y.getUTCFullYear(),0,1))+(11-z.getUTCDay())%7*864e5),A=(y-z)/864e5/7+1;w.push('")}v=this.getClassNames(p),v.push("day");var B=p.getUTCDate();this.o.beforeShowDay!==a.noop&&(e=this.o.beforeShowDay(this._utc_to_local(p)),e===b?e={}:"boolean"==typeof e?e={enabled:e}:"string"==typeof e&&(e={classes:e}),e.enabled===!1&&v.push("disabled"),e.classes&&(v=v.concat(e.classes.split(/\s+/))),e.tooltip&&(d=e.tooltip),e.content&&(B=e.content)),v=a.isFunction(a.uniqueSort)?a.uniqueSort(v):a.unique(v),w.push('"),d=null,u===this.o.weekEnd&&w.push(""),p.setUTCDate(p.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(w.join(""));var C=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",D=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?C:g).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===g&&D.eq(b.getUTCMonth()).addClass("active")}),(gk)&&D.addClass("disabled"),g===i&&D.slice(0,j).addClass("disabled"),g===k&&D.slice(l+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var E=this;a.each(D,function(c,d){var e=new Date(g,c,1),f=E.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),f.enabled!==!1||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,g,i,k,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,g,i,k,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,g,i,k,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),g=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*jh;break;case 0:a=d<=f&&e=h&&e>i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),b!==-1?(this.o.multidate===!0||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):this.o.multidate===!1?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=b===-1?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"),c&&this._trigger("changeYear",this.viewDate)):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"),c&&this._trigger("changeMonth",this.viewDate)):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(g!==-1){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-(1/0),startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return b===!0&&(b=10),a<100&&(a+=2e3,a>(new Date).getFullYear()+b&&(a-=100)),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n", -contTemplate:'',footTemplate:''};r.template='
+ Pi.Alert Report
- - - - - +
Report Date: Scan Cycle: Server:
+ + +
Report Date: Scan Cycle:
-

Internet:

+

Internet:

- +
@@ -53,11 +52,11 @@ -

New Devices:

+

New Devices:

-
Event Type Datetime
+
- + @@ -71,9 +70,9 @@ -

Devices Down:

+

Devices Down:

-
MAC MAC Datetime IP Device Name
+
@@ -88,9 +87,9 @@ -

Events:

+

Events:

-
MAC Datetime
+
@@ -108,11 +107,10 @@ @@ -120,4 +118,4 @@
MAC Datetime
- +
- + -
© Puche Pi.Alert - Pi.Alert     () GNU GPLv3
- + \ No newline at end of file diff --git a/back/report_template.txt b/back/report_template.txt index 0d777f57..9f5ebdad 100644 --- a/back/report_template.txt +++ b/back/report_template.txt @@ -1,27 +1,19 @@ -======================================== - Pi.Alert Report -======================================== - - Report Date: - Scan Cycle: - Server: - - -Internet ----------------------------------------------------------------------- - - +Report Date: +Server: + New Devices ----------------------------------------------------------------------- +---------------------- Devices Down ----------------------------------------------------------------------- +---------------------- Events ----------------------------------------------------------------------- +---------------------- - ----------------------------------------------------------------------- -(?) Puche Pi.Alert () GNU GPLv3 + +Internet +---------------------- + + \ No newline at end of file diff --git a/back/speedtest-cli b/back/speedtest-cli new file mode 100644 index 00000000..186b5292 --- /dev/null +++ b/back/speedtest-cli @@ -0,0 +1,2013 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright 2012 Matt Martz +# 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 csv +import datetime +import errno +import math +import os +import platform +import re +import signal +import socket +import sys +import threading +import timeit +import xml.parsers.expat + +try: + import gzip + GZIP_BASE = gzip.GzipFile +except ImportError: + gzip = None + GZIP_BASE = object + +__version__ = '2.1.4b1' + + +class FakeShutdownEvent(object): + """Class to fake a threading.Event.isSet so that users of this module + are not required to register their own threading.Event() + """ + + @staticmethod + def isSet(): + "Dummy method to always return false""" + return False + + is_set = isSet + + +# Some global variables we use +DEBUG = False +_GLOBAL_DEFAULT_TIMEOUT = object() +PY25PLUS = sys.version_info[:2] >= (2, 5) +PY26PLUS = sys.version_info[:2] >= (2, 6) +PY32PLUS = sys.version_info[:2] >= (3, 2) +PY310PLUS = sys.version_info[:2] >= (3, 10) + +# Begin import game to handle Python 2 and Python 3 +try: + import json +except ImportError: + try: + import simplejson as json + except ImportError: + json = None + +try: + import xml.etree.ElementTree as ET + try: + from xml.etree.ElementTree import _Element as ET_Element + except ImportError: + pass +except ImportError: + from xml.dom import minidom as DOM + from xml.parsers.expat import ExpatError + ET = None + +try: + from urllib2 import (urlopen, Request, HTTPError, URLError, + AbstractHTTPHandler, ProxyHandler, + HTTPDefaultErrorHandler, HTTPRedirectHandler, + HTTPErrorProcessor, OpenerDirector) +except ImportError: + from urllib.request import (urlopen, Request, HTTPError, URLError, + AbstractHTTPHandler, ProxyHandler, + HTTPDefaultErrorHandler, HTTPRedirectHandler, + HTTPErrorProcessor, OpenerDirector) + +try: + from httplib import HTTPConnection, BadStatusLine +except ImportError: + from http.client import HTTPConnection, BadStatusLine + +try: + from httplib import HTTPSConnection +except ImportError: + try: + from http.client import HTTPSConnection + except ImportError: + HTTPSConnection = None + +try: + from httplib import FakeSocket +except ImportError: + FakeSocket = None + +try: + from Queue import Queue +except ImportError: + from queue import Queue + +try: + from urlparse import urlparse +except ImportError: + from urllib.parse import urlparse + +try: + from urlparse import parse_qs +except ImportError: + try: + from urllib.parse import parse_qs + except ImportError: + from cgi import parse_qs + +try: + from hashlib import md5 +except ImportError: + from md5 import md5 + +try: + from argparse import ArgumentParser as ArgParser + from argparse import SUPPRESS as ARG_SUPPRESS + PARSER_TYPE_INT = int + PARSER_TYPE_STR = str + PARSER_TYPE_FLOAT = float +except ImportError: + from optparse import OptionParser as ArgParser + from optparse import SUPPRESS_HELP as ARG_SUPPRESS + PARSER_TYPE_INT = 'int' + PARSER_TYPE_STR = 'string' + PARSER_TYPE_FLOAT = 'float' + +try: + from cStringIO import StringIO + BytesIO = None +except ImportError: + try: + from StringIO import StringIO + BytesIO = None + except ImportError: + from io import StringIO, BytesIO + +try: + import __builtin__ +except ImportError: + import builtins + from io import TextIOWrapper, FileIO + + class _Py3Utf8Output(TextIOWrapper): + """UTF-8 encoded wrapper around stdout for py3, to override + ASCII stdout + """ + def __init__(self, f, **kwargs): + buf = FileIO(f.fileno(), 'w') + super(_Py3Utf8Output, self).__init__( + buf, + encoding='utf8', + errors='strict' + ) + + def write(self, s): + super(_Py3Utf8Output, self).write(s) + self.flush() + + _py3_print = getattr(builtins, 'print') + try: + _py3_utf8_stdout = _Py3Utf8Output(sys.stdout) + _py3_utf8_stderr = _Py3Utf8Output(sys.stderr) + except OSError: + # sys.stdout/sys.stderr is not a compatible stdout/stderr object + # just use it and hope things go ok + _py3_utf8_stdout = sys.stdout + _py3_utf8_stderr = sys.stderr + + def to_utf8(v): + """No-op encode to utf-8 for py3""" + return v + + def print_(*args, **kwargs): + """Wrapper function for py3 to print, with a utf-8 encoded stdout""" + if kwargs.get('file') == sys.stderr: + kwargs['file'] = _py3_utf8_stderr + else: + kwargs['file'] = kwargs.get('file', _py3_utf8_stdout) + _py3_print(*args, **kwargs) +else: + del __builtin__ + + def to_utf8(v): + """Encode value to utf-8 if possible for py2""" + try: + return v.encode('utf8', 'strict') + except AttributeError: + return v + + def print_(*args, **kwargs): + """The new-style print function for Python 2.4 and 2.5. + + Taken from https://pypi.python.org/pypi/six/ + + Modified to set encoding to UTF-8 always, and to flush after write + """ + fp = kwargs.pop("file", sys.stdout) + if fp is None: + return + + def write(data): + if not isinstance(data, basestring): + data = str(data) + # If the file has an encoding, encode unicode with it. + encoding = 'utf8' # Always trust UTF-8 for output + if (isinstance(fp, file) and + isinstance(data, unicode) and + encoding is not None): + errors = getattr(fp, "errors", None) + if errors is None: + errors = "strict" + data = data.encode(encoding, errors) + fp.write(data) + fp.flush() + want_unicode = False + sep = kwargs.pop("sep", None) + if sep is not None: + if isinstance(sep, unicode): + want_unicode = True + elif not isinstance(sep, str): + raise TypeError("sep must be None or a string") + end = kwargs.pop("end", None) + if end is not None: + if isinstance(end, unicode): + want_unicode = True + elif not isinstance(end, str): + raise TypeError("end must be None or a string") + if kwargs: + raise TypeError("invalid keyword arguments to print()") + if not want_unicode: + for arg in args: + if isinstance(arg, unicode): + want_unicode = True + break + if want_unicode: + newline = unicode("\n") + space = unicode(" ") + else: + newline = "\n" + space = " " + if sep is None: + sep = space + if end is None: + end = newline + for i, arg in enumerate(args): + if i: + write(sep) + write(arg) + write(end) + +# Exception "constants" to support Python 2 through Python 3 +try: + import ssl + try: + CERT_ERROR = (ssl.CertificateError,) + except AttributeError: + CERT_ERROR = tuple() + + HTTP_ERRORS = ( + (HTTPError, URLError, socket.error, ssl.SSLError, BadStatusLine) + + CERT_ERROR + ) +except ImportError: + ssl = None + HTTP_ERRORS = (HTTPError, URLError, socket.error, BadStatusLine) + +if PY32PLUS: + etree_iter = ET.Element.iter +elif PY25PLUS: + etree_iter = ET_Element.getiterator + +if PY26PLUS: + thread_is_alive = threading.Thread.is_alive +else: + thread_is_alive = threading.Thread.isAlive + + +def event_is_set(event): + try: + return event.is_set() + except AttributeError: + return event.isSet() + + +class SpeedtestException(Exception): + """Base exception for this module""" + + +class SpeedtestCLIError(SpeedtestException): + """Generic exception for raising errors during CLI operation""" + + +class SpeedtestHTTPError(SpeedtestException): + """Base HTTP exception for this module""" + + +class SpeedtestConfigError(SpeedtestException): + """Configuration XML is invalid""" + + +class SpeedtestServersError(SpeedtestException): + """Servers XML is invalid""" + + +class ConfigRetrievalError(SpeedtestHTTPError): + """Could not retrieve config.php""" + + +class ServersRetrievalError(SpeedtestHTTPError): + """Could not retrieve speedtest-servers.php""" + + +class InvalidServerIDType(SpeedtestException): + """Server ID used for filtering was not an integer""" + + +class NoMatchedServers(SpeedtestException): + """No servers matched when filtering""" + + +class SpeedtestMiniConnectFailure(SpeedtestException): + """Could not connect to the provided speedtest mini server""" + + +class InvalidSpeedtestMiniServer(SpeedtestException): + """Server provided as a speedtest mini server does not actually appear + to be a speedtest mini server + """ + + +class ShareResultsConnectFailure(SpeedtestException): + """Could not connect to speedtest.net API to POST results""" + + +class ShareResultsSubmitFailure(SpeedtestException): + """Unable to successfully POST results to speedtest.net API after + connection + """ + + +class SpeedtestUploadTimeout(SpeedtestException): + """testlength configuration reached during upload + Used to ensure the upload halts when no additional data should be sent + """ + + +class SpeedtestBestServerFailure(SpeedtestException): + """Unable to determine best server""" + + +class SpeedtestMissingBestServer(SpeedtestException): + """get_best_server not called or not able to determine best server""" + + +def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, + source_address=None): + """Connect to *address* and return the socket object. + + Convenience function. Connect to *address* (a 2-tuple ``(host, + port)``) and return the socket object. Passing the optional + *timeout* parameter will set the timeout on the socket instance + before attempting to connect. If no *timeout* is supplied, the + global default timeout setting returned by :func:`getdefaulttimeout` + is used. If *source_address* is set it must be a tuple of (host, port) + for the socket to bind as a source address before making the connection. + An host of '' or port 0 tells the OS to use the default. + + Largely vendored from Python 2.7, modified to work with Python 2.4 + """ + + host, port = address + err = None + for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM): + af, socktype, proto, canonname, sa = res + sock = None + try: + sock = socket.socket(af, socktype, proto) + if timeout is not _GLOBAL_DEFAULT_TIMEOUT: + sock.settimeout(float(timeout)) + if source_address: + sock.bind(source_address) + sock.connect(sa) + return sock + + except socket.error: + err = get_exception() + if sock is not None: + sock.close() + + if err is not None: + raise err + else: + raise socket.error("getaddrinfo returns an empty list") + + +class SpeedtestHTTPConnection(HTTPConnection): + """Custom HTTPConnection to support source_address across + Python 2.4 - Python 3 + """ + def __init__(self, *args, **kwargs): + source_address = kwargs.pop('source_address', None) + timeout = kwargs.pop('timeout', 10) + + self._tunnel_host = None + + HTTPConnection.__init__(self, *args, **kwargs) + + self.source_address = source_address + self.timeout = timeout + + def connect(self): + """Connect to the host and port specified in __init__.""" + try: + self.sock = socket.create_connection( + (self.host, self.port), + self.timeout, + self.source_address + ) + except (AttributeError, TypeError): + self.sock = create_connection( + (self.host, self.port), + self.timeout, + self.source_address + ) + + if self._tunnel_host: + self._tunnel() + + +if HTTPSConnection: + class SpeedtestHTTPSConnection(HTTPSConnection): + """Custom HTTPSConnection to support source_address across + Python 2.4 - Python 3 + """ + default_port = 443 + + def __init__(self, *args, **kwargs): + source_address = kwargs.pop('source_address', None) + timeout = kwargs.pop('timeout', 10) + + self._tunnel_host = None + + HTTPSConnection.__init__(self, *args, **kwargs) + + self.timeout = timeout + self.source_address = source_address + + def connect(self): + "Connect to a host on a given (SSL) port." + try: + self.sock = socket.create_connection( + (self.host, self.port), + self.timeout, + self.source_address + ) + except (AttributeError, TypeError): + self.sock = create_connection( + (self.host, self.port), + self.timeout, + self.source_address + ) + + if self._tunnel_host: + self._tunnel() + + if ssl: + try: + kwargs = {} + if hasattr(ssl, 'SSLContext'): + if self._tunnel_host: + kwargs['server_hostname'] = self._tunnel_host + else: + kwargs['server_hostname'] = self.host + self.sock = self._context.wrap_socket(self.sock, **kwargs) + except AttributeError: + self.sock = ssl.wrap_socket(self.sock) + try: + self.sock.server_hostname = self.host + except AttributeError: + pass + elif FakeSocket: + # Python 2.4/2.5 support + try: + self.sock = FakeSocket(self.sock, socket.ssl(self.sock)) + except AttributeError: + raise SpeedtestException( + 'This version of Python does not support HTTPS/SSL ' + 'functionality' + ) + else: + raise SpeedtestException( + 'This version of Python does not support HTTPS/SSL ' + 'functionality' + ) + + +def _build_connection(connection, source_address, timeout, context=None): + """Cross Python 2.4 - Python 3 callable to build an ``HTTPConnection`` or + ``HTTPSConnection`` with the args we need + + Called from ``http(s)_open`` methods of ``SpeedtestHTTPHandler`` or + ``SpeedtestHTTPSHandler`` + """ + def inner(host, **kwargs): + kwargs.update({ + 'source_address': source_address, + 'timeout': timeout + }) + if context: + kwargs['context'] = context + return connection(host, **kwargs) + return inner + + +class SpeedtestHTTPHandler(AbstractHTTPHandler): + """Custom ``HTTPHandler`` that can build a ``HTTPConnection`` with the + args we need for ``source_address`` and ``timeout`` + """ + def __init__(self, debuglevel=0, source_address=None, timeout=10): + AbstractHTTPHandler.__init__(self, debuglevel) + self.source_address = source_address + self.timeout = timeout + + def http_open(self, req): + return self.do_open( + _build_connection( + SpeedtestHTTPConnection, + self.source_address, + self.timeout + ), + req + ) + + http_request = AbstractHTTPHandler.do_request_ + + +class SpeedtestHTTPSHandler(AbstractHTTPHandler): + """Custom ``HTTPSHandler`` that can build a ``HTTPSConnection`` with the + args we need for ``source_address`` and ``timeout`` + """ + def __init__(self, debuglevel=0, context=None, source_address=None, + timeout=10): + AbstractHTTPHandler.__init__(self, debuglevel) + self._context = context + self.source_address = source_address + self.timeout = timeout + + def https_open(self, req): + return self.do_open( + _build_connection( + SpeedtestHTTPSConnection, + self.source_address, + self.timeout, + context=self._context, + ), + req + ) + + https_request = AbstractHTTPHandler.do_request_ + + +def build_opener(source_address=None, timeout=10): + """Function similar to ``urllib2.build_opener`` that will build + an ``OpenerDirector`` with the explicit handlers we want, + ``source_address`` for binding, ``timeout`` and our custom + `User-Agent` + """ + + printer('Timeout set to %d' % timeout, debug=True) + + if source_address: + source_address_tuple = (source_address, 0) + printer('Binding to source address: %r' % (source_address_tuple,), + debug=True) + else: + source_address_tuple = None + + handlers = [ + ProxyHandler(), + SpeedtestHTTPHandler(source_address=source_address_tuple, + timeout=timeout), + SpeedtestHTTPSHandler(source_address=source_address_tuple, + timeout=timeout), + HTTPDefaultErrorHandler(), + HTTPRedirectHandler(), + HTTPErrorProcessor() + ] + + opener = OpenerDirector() + opener.addheaders = [('User-agent', build_user_agent())] + + for handler in handlers: + opener.add_handler(handler) + + return opener + + +class GzipDecodedResponse(GZIP_BASE): + """A file-like object to decode a response encoded with the gzip + method, as described in RFC 1952. + + Largely copied from ``xmlrpclib``/``xmlrpc.client`` and modified + to work for py2.4-py3 + """ + def __init__(self, response): + # response doesn't support tell() and read(), required by + # GzipFile + if not gzip: + raise SpeedtestHTTPError('HTTP response body is gzip encoded, ' + 'but gzip support is not available') + IO = BytesIO or StringIO + self.io = IO() + while 1: + chunk = response.read(1024) + if len(chunk) == 0: + break + self.io.write(chunk) + self.io.seek(0) + gzip.GzipFile.__init__(self, mode='rb', fileobj=self.io) + + def close(self): + try: + gzip.GzipFile.close(self) + finally: + self.io.close() + + +def get_exception(): + """Helper function to work with py2.4-py3 for getting the current + exception in a try/except block + """ + return sys.exc_info()[1] + + +def distance(origin, destination): + """Determine distance between 2 sets of [lat,lon] in km""" + + lat1, lon1 = origin + lat2, lon2 = destination + radius = 6371 # km + + dlat = math.radians(lat2 - lat1) + dlon = math.radians(lon2 - lon1) + a = (math.sin(dlat / 2) * math.sin(dlat / 2) + + math.cos(math.radians(lat1)) * + math.cos(math.radians(lat2)) * math.sin(dlon / 2) * + math.sin(dlon / 2)) + c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a)) + d = radius * c + + return d + + +def build_user_agent(): + """Build a Mozilla/5.0 compatible User-Agent string""" + + ua_tuple = ( + 'Mozilla/5.0', + '(%s; U; %s; en-us)' % (platform.platform(), + platform.architecture()[0]), + 'Python/%s' % platform.python_version(), + '(KHTML, like Gecko)', + 'speedtest-cli/%s' % __version__ + ) + user_agent = ' '.join(ua_tuple) + printer('User-Agent: %s' % user_agent, debug=True) + return user_agent + + +def build_request(url, data=None, headers=None, bump='0', secure=False): + """Build a urllib2 request object + + This function automatically adds a User-Agent header to all requests + + """ + + if not headers: + headers = {} + + if url[0] == ':': + scheme = ('http', 'https')[bool(secure)] + schemed_url = '%s%s' % (scheme, url) + else: + schemed_url = url + + if '?' in url: + delim = '&' + else: + delim = '?' + + # WHO YOU GONNA CALL? CACHE BUSTERS! + final_url = '%s%sx=%s.%s' % (schemed_url, delim, + int(timeit.time.time() * 1000), + bump) + + headers.update({ + 'Cache-Control': 'no-cache', + }) + + printer('%s %s' % (('GET', 'POST')[bool(data)], final_url), + debug=True) + + return Request(final_url, data=data, headers=headers) + + +def catch_request(request, opener=None): + """Helper function to catch common exceptions encountered when + establishing a connection with a HTTP/HTTPS request + + """ + + if opener: + _open = opener.open + else: + _open = urlopen + + try: + uh = _open(request) + if request.get_full_url() != uh.geturl(): + printer('Redirected to %s' % uh.geturl(), debug=True) + return uh, False + except HTTP_ERRORS: + e = get_exception() + return None, e + + +def get_response_stream(response): + """Helper function to return either a Gzip reader if + ``Content-Encoding`` is ``gzip`` otherwise the response itself + + """ + + try: + getheader = response.headers.getheader + except AttributeError: + getheader = response.getheader + + if getheader('content-encoding') == 'gzip': + return GzipDecodedResponse(response) + + return response + + +def get_attributes_by_tag_name(dom, tag_name): + """Retrieve an attribute from an XML document and return it in a + consistent format + + Only used with xml.dom.minidom, which is likely only to be used + with python versions older than 2.5 + """ + elem = dom.getElementsByTagName(tag_name)[0] + return dict(list(elem.attributes.items())) + + +def print_dots(shutdown_event): + """Built in callback function used by Thread classes for printing + status + """ + def inner(current, total, start=False, end=False): + if event_is_set(shutdown_event): + return + + sys.stdout.write('.') + if current + 1 == total and end is True: + sys.stdout.write('\n') + sys.stdout.flush() + return inner + + +def do_nothing(*args, **kwargs): + pass + + +class HTTPDownloader(threading.Thread): + """Thread class for retrieving a URL""" + + def __init__(self, i, request, start, timeout, opener=None, + shutdown_event=None): + threading.Thread.__init__(self) + self.request = request + self.result = [0] + self.starttime = start + self.timeout = timeout + self.i = i + if opener: + self._opener = opener.open + else: + self._opener = urlopen + + if shutdown_event: + self._shutdown_event = shutdown_event + else: + self._shutdown_event = FakeShutdownEvent() + + def run(self): + try: + if (timeit.default_timer() - self.starttime) <= self.timeout: + f = self._opener(self.request) + while (not event_is_set(self._shutdown_event) and + (timeit.default_timer() - self.starttime) <= + self.timeout): + self.result.append(len(f.read(10240))) + if self.result[-1] == 0: + break + f.close() + except IOError: + pass + except HTTP_ERRORS: + pass + + +class HTTPUploaderData(object): + """File like object to improve cutting off the upload once the timeout + has been reached + """ + + def __init__(self, length, start, timeout, shutdown_event=None): + self.length = length + self.start = start + self.timeout = timeout + + if shutdown_event: + self._shutdown_event = shutdown_event + else: + self._shutdown_event = FakeShutdownEvent() + + self._data = None + + self.total = [0] + + def pre_allocate(self): + chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' + multiplier = int(round(int(self.length) / 36.0)) + IO = BytesIO or StringIO + try: + self._data = IO( + ('content1=%s' % + (chars * multiplier)[0:int(self.length) - 9] + ).encode() + ) + except MemoryError: + raise SpeedtestCLIError( + 'Insufficient memory to pre-allocate upload data. Please ' + 'use --no-pre-allocate' + ) + + @property + def data(self): + if not self._data: + self.pre_allocate() + return self._data + + def read(self, n=10240): + if ((timeit.default_timer() - self.start) <= self.timeout and + not event_is_set(self._shutdown_event)): + chunk = self.data.read(n) + self.total.append(len(chunk)) + return chunk + else: + raise SpeedtestUploadTimeout() + + def __len__(self): + return self.length + + +class HTTPUploader(threading.Thread): + """Thread class for putting a URL""" + + def __init__(self, i, request, start, size, timeout, opener=None, + shutdown_event=None): + threading.Thread.__init__(self) + self.request = request + self.request.data.start = self.starttime = start + self.size = size + self.result = 0 + self.timeout = timeout + self.i = i + + if opener: + self._opener = opener.open + else: + self._opener = urlopen + + if shutdown_event: + self._shutdown_event = shutdown_event + else: + self._shutdown_event = FakeShutdownEvent() + + def run(self): + request = self.request + try: + if ((timeit.default_timer() - self.starttime) <= self.timeout and + not event_is_set(self._shutdown_event)): + try: + f = self._opener(request) + except TypeError: + # PY24 expects a string or buffer + # This also causes issues with Ctrl-C, but we will concede + # for the moment that Ctrl-C on PY24 isn't immediate + request = build_request(self.request.get_full_url(), + data=request.data.read(self.size)) + f = self._opener(request) + f.read(11) + f.close() + self.result = sum(self.request.data.total) + else: + self.result = 0 + except (IOError, SpeedtestUploadTimeout): + self.result = sum(self.request.data.total) + except HTTP_ERRORS: + self.result = 0 + + +class SpeedtestResults(object): + """Class for holding the results of a speedtest, including: + + Download speed + Upload speed + Ping/Latency to test server + Data about server that the test was run against + + Additionally this class can return a result data as a dictionary or CSV, + as well as submit a POST of the result data to the speedtest.net API + to get a share results image link. + """ + + def __init__(self, download=0, upload=0, ping=0, server=None, client=None, + opener=None, secure=False): + self.download = download + self.upload = upload + self.ping = ping + if server is None: + self.server = {} + else: + self.server = server + self.client = client or {} + + self._share = None + self.timestamp = '%sZ' % datetime.datetime.utcnow().isoformat() + self.bytes_received = 0 + self.bytes_sent = 0 + + if opener: + self._opener = opener + else: + self._opener = build_opener() + + self._secure = secure + + def __repr__(self): + return repr(self.dict()) + + def share(self): + """POST data to the speedtest.net API to obtain a share results + link + """ + + if self._share: + return self._share + + download = int(round(self.download / 1000.0, 0)) + ping = int(round(self.ping, 0)) + upload = int(round(self.upload / 1000.0, 0)) + + # Build the request to send results back to speedtest.net + # We use a list instead of a dict because the API expects parameters + # in a certain order + api_data = [ + 'recommendedserverid=%s' % self.server['id'], + 'ping=%s' % ping, + 'screenresolution=', + 'promo=', + 'download=%s' % download, + 'screendpi=', + 'upload=%s' % upload, + 'testmethod=http', + 'hash=%s' % md5(('%s-%s-%s-%s' % + (ping, upload, download, '297aae72')) + .encode()).hexdigest(), + 'touchscreen=none', + 'startmode=pingselect', + 'accuracy=1', + 'bytesreceived=%s' % self.bytes_received, + 'bytessent=%s' % self.bytes_sent, + 'serverid=%s' % self.server['id'], + ] + + headers = {'Referer': 'http://c.speedtest.net/flash/speedtest.swf'} + request = build_request('://www.speedtest.net/api/api.php', + data='&'.join(api_data).encode(), + headers=headers, secure=self._secure) + f, e = catch_request(request, opener=self._opener) + if e: + raise ShareResultsConnectFailure(e) + + response = f.read() + code = f.code + f.close() + + if int(code) != 200: + raise ShareResultsSubmitFailure('Could not submit results to ' + 'speedtest.net') + + qsargs = parse_qs(response.decode()) + resultid = qsargs.get('resultid') + if not resultid or len(resultid) != 1: + raise ShareResultsSubmitFailure('Could not submit results to ' + 'speedtest.net') + + self._share = 'http://www.speedtest.net/result/%s.png' % resultid[0] + + return self._share + + def dict(self): + """Return dictionary of result data""" + + return { + 'download': self.download, + 'upload': self.upload, + 'ping': self.ping, + 'server': self.server, + 'timestamp': self.timestamp, + 'bytes_sent': self.bytes_sent, + 'bytes_received': self.bytes_received, + 'share': self._share, + 'client': self.client, + } + + @staticmethod + def csv_header(delimiter=','): + """Return CSV Headers""" + + row = ['Server ID', 'Sponsor', 'Server Name', 'Timestamp', 'Distance', + 'Ping', 'Download', 'Upload', 'Share', 'IP Address'] + out = StringIO() + writer = csv.writer(out, delimiter=delimiter, lineterminator='') + writer.writerow([to_utf8(v) for v in row]) + return out.getvalue() + + def csv(self, delimiter=','): + """Return data in CSV format""" + + data = self.dict() + out = StringIO() + writer = csv.writer(out, delimiter=delimiter, lineterminator='') + row = [data['server']['id'], data['server']['sponsor'], + data['server']['name'], data['timestamp'], + data['server']['d'], data['ping'], data['download'], + data['upload'], self._share or '', self.client['ip']] + writer.writerow([to_utf8(v) for v in row]) + return out.getvalue() + + def json(self, pretty=False): + """Return data in JSON format""" + + kwargs = {} + if pretty: + kwargs.update({ + 'indent': 4, + 'sort_keys': True + }) + return json.dumps(self.dict(), **kwargs) + + +class Speedtest(object): + """Class for performing standard speedtest.net testing operations""" + + def __init__(self, config=None, source_address=None, timeout=10, + secure=False, shutdown_event=None): + self.config = {} + + self._source_address = source_address + self._timeout = timeout + self._opener = build_opener(source_address, timeout) + + self._secure = secure + + if shutdown_event: + self._shutdown_event = shutdown_event + else: + self._shutdown_event = FakeShutdownEvent() + + self.get_config() + if config is not None: + self.config.update(config) + + self.servers = {} + self.closest = [] + self._best = {} + + self.results = SpeedtestResults( + client=self.config['client'], + opener=self._opener, + secure=secure, + ) + + @property + def best(self): + if not self._best: + self.get_best_server() + return self._best + + def get_config(self): + """Download the speedtest.net configuration and return only the data + we are interested in + """ + + headers = {} + if gzip: + headers['Accept-Encoding'] = 'gzip' + request = build_request('://www.speedtest.net/speedtest-config.php', + headers=headers, secure=self._secure) + uh, e = catch_request(request, opener=self._opener) + if e: + raise ConfigRetrievalError(e) + configxml_list = [] + + stream = get_response_stream(uh) + + while 1: + try: + configxml_list.append(stream.read(1024)) + except (OSError, EOFError): + raise ConfigRetrievalError(get_exception()) + if len(configxml_list[-1]) == 0: + break + stream.close() + uh.close() + + if int(uh.code) != 200: + return None + + configxml = ''.encode().join(configxml_list) + + printer('Config XML:\n%s' % configxml, debug=True) + + try: + try: + root = ET.fromstring(configxml) + except ET.ParseError: + e = get_exception() + raise SpeedtestConfigError( + 'Malformed speedtest.net configuration: %s' % e + ) + server_config = root.find('server-config').attrib + download = root.find('download').attrib + upload = root.find('upload').attrib + # times = root.find('times').attrib + client = root.find('client').attrib + + except AttributeError: + try: + root = DOM.parseString(configxml) + except ExpatError: + e = get_exception() + raise SpeedtestConfigError( + 'Malformed speedtest.net configuration: %s' % e + ) + server_config = get_attributes_by_tag_name(root, 'server-config') + download = get_attributes_by_tag_name(root, 'download') + upload = get_attributes_by_tag_name(root, 'upload') + # times = get_attributes_by_tag_name(root, 'times') + client = get_attributes_by_tag_name(root, 'client') + + ignore_servers = [ + int(i) for i in server_config['ignoreids'].split(',') if i + ] + + ratio = int(upload['ratio']) + upload_max = int(upload['maxchunkcount']) + up_sizes = [32768, 65536, 131072, 262144, 524288, 1048576, 7340032] + sizes = { + 'upload': up_sizes[ratio - 1:], + 'download': [350, 500, 750, 1000, 1500, 2000, 2500, + 3000, 3500, 4000] + } + + size_count = len(sizes['upload']) + + upload_count = int(math.ceil(upload_max / size_count)) + + counts = { + 'upload': upload_count, + 'download': int(download['threadsperurl']) + } + + threads = { + 'upload': int(upload['threads']), + 'download': int(server_config['threadcount']) * 2 + } + + length = { + 'upload': int(upload['testlength']), + 'download': int(download['testlength']) + } + + self.config.update({ + 'client': client, + 'ignore_servers': ignore_servers, + 'sizes': sizes, + 'counts': counts, + 'threads': threads, + 'length': length, + 'upload_max': upload_count * size_count + }) + + try: + self.lat_lon = (float(client['lat']), float(client['lon'])) + except ValueError: + raise SpeedtestConfigError( + 'Unknown location: lat=%r lon=%r' % + (client.get('lat'), client.get('lon')) + ) + + printer('Config:\n%r' % self.config, debug=True) + + return self.config + + def get_servers(self, servers=None, exclude=None): + """Retrieve a the list of speedtest.net servers, optionally filtered + to servers matching those specified in the ``servers`` argument + """ + if servers is None: + servers = [] + + if exclude is None: + exclude = [] + + self.servers.clear() + + for server_list in (servers, exclude): + for i, s in enumerate(server_list): + try: + server_list[i] = int(s) + except ValueError: + raise InvalidServerIDType( + '%s is an invalid server type, must be int' % s + ) + + urls = [ + '://www.speedtest.net/speedtest-servers-static.php', + 'http://c.speedtest.net/speedtest-servers-static.php', + '://www.speedtest.net/speedtest-servers.php', + 'http://c.speedtest.net/speedtest-servers.php', + ] + + headers = {} + if gzip: + headers['Accept-Encoding'] = 'gzip' + + errors = [] + for url in urls: + try: + request = build_request( + '%s?threads=%s' % (url, + self.config['threads']['download']), + headers=headers, + secure=self._secure + ) + uh, e = catch_request(request, opener=self._opener) + if e: + errors.append('%s' % e) + raise ServersRetrievalError() + + stream = get_response_stream(uh) + + serversxml_list = [] + while 1: + try: + serversxml_list.append(stream.read(1024)) + except (OSError, EOFError): + raise ServersRetrievalError(get_exception()) + if len(serversxml_list[-1]) == 0: + break + + stream.close() + uh.close() + + if int(uh.code) != 200: + raise ServersRetrievalError() + + serversxml = ''.encode().join(serversxml_list) + + printer('Servers XML:\n%s' % serversxml, debug=True) + + try: + try: + try: + root = ET.fromstring(serversxml) + except ET.ParseError: + e = get_exception() + raise SpeedtestServersError( + 'Malformed speedtest.net server list: %s' % e + ) + elements = etree_iter(root, 'server') + except AttributeError: + try: + root = DOM.parseString(serversxml) + except ExpatError: + e = get_exception() + raise SpeedtestServersError( + 'Malformed speedtest.net server list: %s' % e + ) + elements = root.getElementsByTagName('server') + except (SyntaxError, xml.parsers.expat.ExpatError): + raise ServersRetrievalError() + + for server in elements: + try: + attrib = server.attrib + except AttributeError: + attrib = dict(list(server.attributes.items())) + + if servers and int(attrib.get('id')) not in servers: + continue + + if (int(attrib.get('id')) in self.config['ignore_servers'] + or int(attrib.get('id')) in exclude): + continue + + try: + d = distance(self.lat_lon, + (float(attrib.get('lat')), + float(attrib.get('lon')))) + except Exception: + continue + + attrib['d'] = d + + try: + self.servers[d].append(attrib) + except KeyError: + self.servers[d] = [attrib] + + break + + except ServersRetrievalError: + continue + + if (servers or exclude) and not self.servers: + raise NoMatchedServers() + + return self.servers + + def set_mini_server(self, server): + """Instead of querying for a list of servers, set a link to a + speedtest mini server + """ + + urlparts = urlparse(server) + + name, ext = os.path.splitext(urlparts[2]) + if ext: + url = os.path.dirname(server) + else: + url = server + + request = build_request(url) + uh, e = catch_request(request, opener=self._opener) + if e: + raise SpeedtestMiniConnectFailure('Failed to connect to %s' % + server) + else: + text = uh.read() + uh.close() + + extension = re.findall('upload_?[Ee]xtension: "([^"]+)"', + text.decode()) + if not extension: + for ext in ['php', 'asp', 'aspx', 'jsp']: + try: + f = self._opener.open( + '%s/speedtest/upload.%s' % (url, ext) + ) + except Exception: + pass + else: + data = f.read().strip().decode() + if (f.code == 200 and + len(data.splitlines()) == 1 and + re.match('size=[0-9]', data)): + extension = [ext] + break + if not urlparts or not extension: + raise InvalidSpeedtestMiniServer('Invalid Speedtest Mini Server: ' + '%s' % server) + + self.servers = [{ + 'sponsor': 'Speedtest Mini', + 'name': urlparts[1], + 'd': 0, + 'url': '%s/speedtest/upload.%s' % (url.rstrip('/'), extension[0]), + 'latency': 0, + 'id': 0 + }] + + return self.servers + + def get_closest_servers(self, limit=5): + """Limit servers to the closest speedtest.net servers based on + geographic distance + """ + + if not self.servers: + self.get_servers() + + for d in sorted(self.servers.keys()): + for s in self.servers[d]: + self.closest.append(s) + if len(self.closest) == limit: + break + else: + continue + break + + printer('Closest Servers:\n%r' % self.closest, debug=True) + return self.closest + + def get_best_server(self, servers=None): + """Perform a speedtest.net "ping" to determine which speedtest.net + server has the lowest latency + """ + + if not servers: + if not self.closest: + servers = self.get_closest_servers() + servers = self.closest + + if self._source_address: + source_address_tuple = (self._source_address, 0) + else: + source_address_tuple = None + + user_agent = build_user_agent() + + results = {} + for server in servers: + cum = [] + url = os.path.dirname(server['url']) + stamp = int(timeit.time.time() * 1000) + latency_url = '%s/latency.txt?x=%s' % (url, stamp) + for i in range(0, 3): + this_latency_url = '%s.%s' % (latency_url, i) + printer('%s %s' % ('GET', this_latency_url), + debug=True) + urlparts = urlparse(latency_url) + try: + if urlparts[0] == 'https': + h = SpeedtestHTTPSConnection( + urlparts[1], + source_address=source_address_tuple + ) + else: + h = SpeedtestHTTPConnection( + urlparts[1], + source_address=source_address_tuple + ) + headers = {'User-Agent': user_agent} + path = '%s?%s' % (urlparts[2], urlparts[4]) + start = timeit.default_timer() + h.request("GET", path, headers=headers) + r = h.getresponse() + total = (timeit.default_timer() - start) + except HTTP_ERRORS: + e = get_exception() + printer('ERROR: %r' % e, debug=True) + cum.append(3600) + continue + + text = r.read(9) + if int(r.status) == 200 and text == 'test=test'.encode(): + cum.append(total) + else: + cum.append(3600) + h.close() + + avg = round((sum(cum) / 6) * 1000.0, 3) + results[avg] = server + + try: + fastest = sorted(results.keys())[0] + except IndexError: + raise SpeedtestBestServerFailure('Unable to connect to servers to ' + 'test latency.') + best = results[fastest] + best['latency'] = fastest + + self.results.ping = fastest + self.results.server = best + + self._best.update(best) + printer('Best Server:\n%r' % best, debug=True) + return best + + def download(self, callback=do_nothing, threads=None): + """Test download speed against speedtest.net + + A ``threads`` value of ``None`` will fall back to those dictated + by the speedtest.net configuration + """ + + urls = [] + for size in self.config['sizes']['download']: + for _ in range(0, self.config['counts']['download']): + urls.append('%s/random%sx%s.jpg' % + (os.path.dirname(self.best['url']), size, size)) + + request_count = len(urls) + requests = [] + for i, url in enumerate(urls): + requests.append( + build_request(url, bump=i, secure=self._secure) + ) + + max_threads = threads or self.config['threads']['download'] + in_flight = {'threads': 0} + + def producer(q, requests, request_count): + for i, request in enumerate(requests): + thread = HTTPDownloader( + i, + request, + start, + self.config['length']['download'], + opener=self._opener, + shutdown_event=self._shutdown_event + ) + while in_flight['threads'] >= max_threads: + timeit.time.sleep(0.001) + thread.start() + q.put(thread, True) + in_flight['threads'] += 1 + callback(i, request_count, start=True) + + finished = [] + + def consumer(q, request_count): + _is_alive = thread_is_alive + while len(finished) < request_count: + thread = q.get(True) + while _is_alive(thread): + thread.join(timeout=0.001) + in_flight['threads'] -= 1 + finished.append(sum(thread.result)) + callback(thread.i, request_count, end=True) + + q = Queue(max_threads) + prod_thread = threading.Thread(target=producer, + args=(q, requests, request_count)) + cons_thread = threading.Thread(target=consumer, + args=(q, request_count)) + start = timeit.default_timer() + prod_thread.start() + cons_thread.start() + _is_alive = thread_is_alive + while _is_alive(prod_thread): + prod_thread.join(timeout=0.001) + while _is_alive(cons_thread): + cons_thread.join(timeout=0.001) + + stop = timeit.default_timer() + self.results.bytes_received = sum(finished) + self.results.download = ( + (self.results.bytes_received / (stop - start)) * 8.0 + ) + if self.results.download > 100000: + self.config['threads']['upload'] = 8 + return self.results.download + + def upload(self, callback=do_nothing, pre_allocate=True, threads=None): + """Test upload speed against speedtest.net + + A ``threads`` value of ``None`` will fall back to those dictated + by the speedtest.net configuration + """ + + sizes = [] + + for size in self.config['sizes']['upload']: + for _ in range(0, self.config['counts']['upload']): + sizes.append(size) + + # request_count = len(sizes) + request_count = self.config['upload_max'] + + requests = [] + for i, size in enumerate(sizes): + # We set ``0`` for ``start`` and handle setting the actual + # ``start`` in ``HTTPUploader`` to get better measurements + data = HTTPUploaderData( + size, + 0, + self.config['length']['upload'], + shutdown_event=self._shutdown_event + ) + if pre_allocate: + data.pre_allocate() + + headers = {'Content-length': size} + requests.append( + ( + build_request(self.best['url'], data, secure=self._secure, + headers=headers), + size + ) + ) + + max_threads = threads or self.config['threads']['upload'] + in_flight = {'threads': 0} + + def producer(q, requests, request_count): + for i, request in enumerate(requests[:request_count]): + thread = HTTPUploader( + i, + request[0], + start, + request[1], + self.config['length']['upload'], + opener=self._opener, + shutdown_event=self._shutdown_event + ) + while in_flight['threads'] >= max_threads: + timeit.time.sleep(0.001) + thread.start() + q.put(thread, True) + in_flight['threads'] += 1 + callback(i, request_count, start=True) + + finished = [] + + def consumer(q, request_count): + _is_alive = thread_is_alive + while len(finished) < request_count: + thread = q.get(True) + while _is_alive(thread): + thread.join(timeout=0.001) + in_flight['threads'] -= 1 + finished.append(thread.result) + callback(thread.i, request_count, end=True) + + q = Queue(threads or self.config['threads']['upload']) + prod_thread = threading.Thread(target=producer, + args=(q, requests, request_count)) + cons_thread = threading.Thread(target=consumer, + args=(q, request_count)) + start = timeit.default_timer() + prod_thread.start() + cons_thread.start() + _is_alive = thread_is_alive + while _is_alive(prod_thread): + prod_thread.join(timeout=0.1) + while _is_alive(cons_thread): + cons_thread.join(timeout=0.1) + + stop = timeit.default_timer() + self.results.bytes_sent = sum(finished) + self.results.upload = ( + (self.results.bytes_sent / (stop - start)) * 8.0 + ) + return self.results.upload + + +def ctrl_c(shutdown_event): + """Catch Ctrl-C key sequence and set a SHUTDOWN_EVENT for our threaded + operations + """ + def inner(signum, frame): + shutdown_event.set() + printer('\nCancelling...', error=True) + sys.exit(0) + return inner + + +def version(): + """Print the version""" + + printer('speedtest-cli %s' % __version__) + printer('Python %s' % sys.version.replace('\n', '')) + sys.exit(0) + + +def csv_header(delimiter=','): + """Print the CSV Headers""" + + printer(SpeedtestResults.csv_header(delimiter=delimiter)) + sys.exit(0) + + +def parse_args(): + """Function to handle building and parsing of command line arguments""" + description = ( + 'Command line interface for testing internet bandwidth using ' + 'speedtest.net.\n' + '------------------------------------------------------------' + '--------------\n' + 'https://github.com/sivel/speedtest-cli') + + parser = ArgParser(description=description) + # Give optparse.OptionParser an `add_argument` method for + # compatibility with argparse.ArgumentParser + try: + parser.add_argument = parser.add_option + except AttributeError: + pass + parser.add_argument('--no-download', dest='download', default=True, + action='store_const', const=False, + help='Do not perform download test') + parser.add_argument('--no-upload', dest='upload', default=True, + action='store_const', const=False, + help='Do not perform upload test') + parser.add_argument('--single', default=False, action='store_true', + help='Only use a single connection instead of ' + 'multiple. This simulates a typical file ' + 'transfer.') + parser.add_argument('--bytes', dest='units', action='store_const', + const=('byte', 8), default=('bit', 1), + help='Display values in bytes instead of bits. Does ' + 'not affect the image generated by --share, nor ' + 'output from --json or --csv') + parser.add_argument('--share', action='store_true', + help='Generate and provide a URL to the speedtest.net ' + 'share results image, not displayed with --csv') + parser.add_argument('--simple', action='store_true', default=False, + help='Suppress verbose output, only show basic ' + 'information') + parser.add_argument('--csv', action='store_true', default=False, + help='Suppress verbose output, only show basic ' + 'information in CSV format. Speeds listed in ' + 'bit/s and not affected by --bytes') + parser.add_argument('--csv-delimiter', default=',', type=PARSER_TYPE_STR, + help='Single character delimiter to use in CSV ' + 'output. Default ","') + parser.add_argument('--csv-header', action='store_true', default=False, + help='Print CSV headers') + parser.add_argument('--json', action='store_true', default=False, + help='Suppress verbose output, only show basic ' + 'information in JSON format. Speeds listed in ' + 'bit/s and not affected by --bytes') + parser.add_argument('--list', action='store_true', + help='Display a list of speedtest.net servers ' + 'sorted by distance') + parser.add_argument('--server', type=PARSER_TYPE_INT, action='append', + help='Specify a server ID to test against. Can be ' + 'supplied multiple times') + parser.add_argument('--exclude', type=PARSER_TYPE_INT, action='append', + help='Exclude a server from selection. Can be ' + 'supplied multiple times') + parser.add_argument('--mini', help='URL of the Speedtest Mini server') + parser.add_argument('--source', help='Source IP address to bind to') + parser.add_argument('--timeout', default=10, type=PARSER_TYPE_FLOAT, + help='HTTP timeout in seconds. Default 10') + parser.add_argument('--secure', action='store_true', + help='Use HTTPS instead of HTTP when communicating ' + 'with speedtest.net operated servers') + parser.add_argument('--no-pre-allocate', dest='pre_allocate', + action='store_const', default=True, const=False, + help='Do not pre allocate upload data. Pre allocation ' + 'is enabled by default to improve upload ' + 'performance. To support systems with ' + 'insufficient memory, use this option to avoid a ' + 'MemoryError') + parser.add_argument('--version', action='store_true', + help='Show the version number and exit') + parser.add_argument('--debug', action='store_true', + help=ARG_SUPPRESS, default=ARG_SUPPRESS) + + options = parser.parse_args() + if isinstance(options, tuple): + args = options[0] + else: + args = options + return args + + +def validate_optional_args(args): + """Check if an argument was provided that depends on a module that may + not be part of the Python standard library. + + If such an argument is supplied, and the module does not exist, exit + with an error stating which module is missing. + """ + optional_args = { + 'json': ('json/simplejson python module', json), + 'secure': ('SSL support', HTTPSConnection), + } + + for arg, info in optional_args.items(): + if getattr(args, arg, False) and info[1] is None: + raise SystemExit('%s is not installed. --%s is ' + 'unavailable' % (info[0], arg)) + + +def printer(string, quiet=False, debug=False, error=False, **kwargs): + """Helper function print a string with various features""" + + if debug and not DEBUG: + return + + if debug: + if sys.stdout.isatty(): + out = '\033[1;30mDEBUG: %s\033[0m' % string + else: + out = 'DEBUG: %s' % string + else: + out = string + + if error: + kwargs['file'] = sys.stderr + + if not quiet: + print_(out, **kwargs) + + +def shell(): + """Run the full speedtest.net test""" + + global DEBUG + shutdown_event = threading.Event() + + signal.signal(signal.SIGINT, ctrl_c(shutdown_event)) + + args = parse_args() + + # Print the version and exit + if args.version: + version() + + if not args.download and not args.upload: + raise SpeedtestCLIError('Cannot supply both --no-download and ' + '--no-upload') + + if len(args.csv_delimiter) != 1: + raise SpeedtestCLIError('--csv-delimiter must be a single character') + + if args.csv_header: + csv_header(args.csv_delimiter) + + validate_optional_args(args) + + debug = getattr(args, 'debug', False) + if debug == 'SUPPRESSHELP': + debug = False + if debug: + DEBUG = True + + if args.simple or args.csv or args.json: + quiet = True + else: + quiet = False + + if args.csv or args.json: + machine_format = True + else: + machine_format = False + + # Don't set a callback if we are running quietly + if quiet or debug: + callback = do_nothing + else: + callback = print_dots(shutdown_event) + + printer('Retrieving speedtest.net configuration...', quiet) + try: + speedtest = Speedtest( + source_address=args.source, + timeout=args.timeout, + secure=args.secure + ) + except (ConfigRetrievalError,) + HTTP_ERRORS: + printer('Cannot retrieve speedtest configuration', error=True) + raise SpeedtestCLIError(get_exception()) + + if args.list: + try: + speedtest.get_servers() + except (ServersRetrievalError,) + HTTP_ERRORS: + printer('Cannot retrieve speedtest server list', error=True) + raise SpeedtestCLIError(get_exception()) + + for _, servers in sorted(speedtest.servers.items()): + for server in servers: + line = ('%(id)5s) %(sponsor)s (%(name)s, %(country)s) ' + '[%(d)0.2f km]' % server) + try: + printer(line) + except IOError: + e = get_exception() + if e.errno != errno.EPIPE: + raise + sys.exit(0) + + printer('Testing from %(isp)s (%(ip)s)...' % speedtest.config['client'], + quiet) + + if not args.mini: + printer('Retrieving speedtest.net server list...', quiet) + try: + speedtest.get_servers(servers=args.server, exclude=args.exclude) + except NoMatchedServers: + raise SpeedtestCLIError( + 'No matched servers: %s' % + ', '.join('%s' % s for s in args.server) + ) + except (ServersRetrievalError,) + HTTP_ERRORS: + printer('Cannot retrieve speedtest server list', error=True) + raise SpeedtestCLIError(get_exception()) + except InvalidServerIDType: + raise SpeedtestCLIError( + '%s is an invalid server type, must ' + 'be an int' % ', '.join('%s' % s for s in args.server) + ) + + if args.server and len(args.server) == 1: + printer('Retrieving information for the selected server...', quiet) + else: + printer('Selecting best server based on ping...', quiet) + speedtest.get_best_server() + elif args.mini: + speedtest.get_best_server(speedtest.set_mini_server(args.mini)) + + results = speedtest.results + + printer('Hosted by %(sponsor)s (%(name)s) [%(d)0.2f km]: ' + '%(latency)s ms' % results.server, quiet) + + if args.download: + printer('Testing download speed', quiet, + end=('', '\n')[bool(debug)]) + speedtest.download( + callback=callback, + threads=(None, 1)[args.single] + ) + printer('Download: %0.2f M%s/s' % + ((results.download / 1000.0 / 1000.0) / args.units[1], + args.units[0]), + quiet) + else: + printer('Skipping download test', quiet) + + if args.upload: + printer('Testing upload speed', quiet, + end=('', '\n')[bool(debug)]) + speedtest.upload( + callback=callback, + pre_allocate=args.pre_allocate, + threads=(None, 1)[args.single] + ) + printer('Upload: %0.2f M%s/s' % + ((results.upload / 1000.0 / 1000.0) / args.units[1], + args.units[0]), + quiet) + else: + printer('Skipping upload test', quiet) + + printer('Results:\n%r' % results.dict(), debug=True) + + if not args.simple and args.share: + results.share() + + if args.simple: + printer('Ping: %s ms\nDownload: %0.2f M%s/s\nUpload: %0.2f M%s/s' % + (results.ping, + (results.download / 1000.0 / 1000.0) / args.units[1], + args.units[0], + (results.upload / 1000.0 / 1000.0) / args.units[1], + args.units[0])) + elif args.csv: + printer(results.csv(delimiter=args.csv_delimiter)) + elif args.json: + printer(results.json()) + + if args.share and not machine_format: + printer('Share results: %s' % results.share()) + + +def main(): + try: + shell() + except KeyboardInterrupt: + printer('\nCancelling...', error=True) + except (SpeedtestException, SystemExit): + e = get_exception() + # Ignore a successful exit, or argparse exit + if getattr(e, 'code', 1) not in (0, 2): + msg = '%s' % e + if not msg: + msg = '%r' % e + raise SystemExit('ERROR: %s' % msg) + + +if __name__ == '__main__': + main() diff --git a/back/update_vendors.sh b/back/update_vendors.sh index 9d93574b..0514b88b 100644 --- a/back/update_vendors.sh +++ b/back/update_vendors.sh @@ -24,17 +24,17 @@ sudo mkdir -p 2_backup sudo cp *.txt 2_backup sudo cp *.csv 2_backup -sudo curl $1 -# -O http://standards-oui.ieee.org/iab/iab.csv -sudo curl $1 -# -O http://standards-oui.ieee.org/iab/iab.txt +sudo curl $1 -# -O https://standards-oui.ieee.org/iab/iab.csv +sudo curl $1 -# -O https://standards-oui.ieee.org/iab/iab.txt -sudo curl $1 -# -O http://standards-oui.ieee.org/oui28/mam.csv -sudo curl $1 -# -O http://standards-oui.ieee.org/oui28/mam.txt +sudo curl $1 -# -O https://standards-oui.ieee.org/oui28/mam.csv +sudo curl $1 -# -O https://standards-oui.ieee.org/oui28/mam.txt -sudo curl $1 -# -O http://standards-oui.ieee.org/oui36/oui36.csv -sudo curl $1 -# -O http://standards-oui.ieee.org/oui36/oui36.txt +sudo curl $1 -# -O https://standards-oui.ieee.org/oui36/oui36.csv +sudo curl $1 -# -O https://standards-oui.ieee.org/oui36/oui36.txt -sudo curl $1 -# -O http://standards-oui.ieee.org/oui/oui.csv -sudo curl $1 -# -O http://standards-oui.ieee.org/oui/oui.txt +sudo curl $1 -# -O https://standards-oui.ieee.org/oui/oui.csv +sudo curl $1 -# -O https://standards-oui.ieee.org/oui/oui.txt # ---------------------------------------------------------------------- diff --git a/config/pialert.conf b/config/pialert.conf index 65c0bf03..cbb6420a 100644 --- a/config/pialert.conf +++ b/config/pialert.conf @@ -7,34 +7,51 @@ # Puche 2021 pi.alert.application@gmail.com GNU GPLv3 #------------------------------------------------------------------------------- -PIALERT_PATH = '/home/pi/pialert' -DB_PATH = PIALERT_PATH + '/db/pialert.db' -LOG_PATH = PIALERT_PATH + '/log' -VENDORS_DB = '/usr/share/arp-scan/ieee-oui.txt' -PRINT_LOG = False +PIALERT_PATH = '/home/pi/pialert' +DB_PATH = PIALERT_PATH + '/db/pialert.db' +LOG_PATH = PIALERT_PATH + '/log' +VENDORS_DB = '/usr/share/arp-scan/ieee-oui.txt' +PRINT_LOG = False +TIMEZONE = 'Europe/Berlin' +PIALERT_WEB_PROTECTION = False +PIALERT_WEB_PASSWORD = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92' -SMTP_SERVER = 'smtp.gmail.com' -SMTP_PORT = 587 -SMTP_USER = 'user@gmail.com' -SMTP_PASS = 'password' +# EMAIL settings +SMTP_SERVER = 'smtp.gmail.com' +SMTP_PORT = 587 +SMTP_USER = 'user@gmail.com' +SMTP_PASS = 'password' +SMTP_SKIP_TLS = False +SMTP_SKIP_LOGIN = False -REPORT_MAIL = False -REPORT_FROM = 'Pi.Alert <' + SMTP_USER +'>' -REPORT_TO = 'user@gmail.com' -REPORT_DEVICE_URL = 'http://pi.alert/deviceDetails.php?mac=' +REPORT_MAIL = False +REPORT_FROM = 'Pi.Alert <' + SMTP_USER +'>' +REPORT_TO = 'user@gmail.com' +REPORT_DEVICE_URL = 'http://pi.alert/deviceDetails.php?mac=' +REPORT_DASHBOARD_URL = 'http://pi.alert/' -# QUERY_MYIP_SERVER = 'https://diagnostic.opendns.com/myip' -QUERY_MYIP_SERVER = 'http://ipv4.icanhazip.com' -DDNS_ACTIVE = False -DDNS_DOMAIN = 'your_domain.freeddns.org' -DDNS_USER = 'dynu_user' -DDNS_PASSWORD = 'A0000000B0000000C0000000D0000000' -DDNS_UPDATE_URL = 'https://api.dynu.com/nic/update?' +# NTFY (https://ntfy.sh/) settings +REPORT_NTFY = False +NTFY_TOPIC = 'replace_my_secure_topicname_91h889f28' +REPORT_DASHBOARD_URL = 'http://pi.alert/' -PIHOLE_ACTIVE = False -PIHOLE_DB = '/etc/pihole/pihole-FTL.db' -DHCP_ACTIVE = False -DHCP_LEASES = '/etc/pihole/dhcp.leases' +# PUSHSAFER (https://www.pushsafer.com/) settings +REPORT_PUSHSAFER = False +PUSHSAFER_TOKEN = 'ApiKey' + +# QUERY_MYIP_SERVER = 'https://diagnostic.opendns.com/myip' +QUERY_MYIP_SERVER = 'http://ipv4.icanhazip.com' +DDNS_ACTIVE = False +DDNS_DOMAIN = 'your_domain.freeddns.org' +DDNS_USER = 'dynu_user' +DDNS_PASSWORD = 'A0000000B0000000C0000000D0000000' +DDNS_UPDATE_URL = 'https://api.dynu.com/nic/update?' + +# PIHOLE settings +PIHOLE_ACTIVE = False +PIHOLE_DB = '/etc/pihole/pihole-FTL.db' +DHCP_ACTIVE = False +DHCP_LEASES = '/etc/pihole/dhcp.leases' # arp-scan options & samples # @@ -47,4 +64,4 @@ DHCP_LEASES = '/etc/pihole/dhcp.leases' # Scan using interface eth0 # SCAN_SUBNETS = '--localnet --interface=eth0' -SCAN_SUBNETS = '--localnet' +SCAN_SUBNETS = '--localnet' diff --git a/config/reset_password.sh b/config/reset_password.sh new file mode 100644 index 00000000..6f79e7a4 --- /dev/null +++ b/config/reset_password.sh @@ -0,0 +1,32 @@ +#!/bin/sh +PIA_CONF_FILE='pialert.conf' +PIA_PASS=$1 +echo "Check of key PIALERT_WEB_PROTECTION exists:" +CHECK_PROT=$(grep "PIALERT_WEB_PROTECTION" $PIA_CONF_FILE | wc -l) +if [ $CHECK_PROT -eq 0 ] +then + cp $PIA_CONF_FILE $PIA_CONF_FILE.bak1 + echo " Key not found. Key 'PIALERT_WEB_PROTECTION' will be created." + echo " Check Config after the script is finished." + sed -i "/^VENDORS_DB.*/a PIALERT_WEB_PROTECTION = False" $PIA_CONF_FILE > pialert.tmp +else + echo " Key exists. Nothing to do." +fi +echo "" +echo "Check of key PIALERT_WEB_PASSWORD exists:" +CHECK_PWD=$(grep "PIALERT_WEB_PASSWORD" $PIA_CONF_FILE | wc -l) +if [ $CHECK_PWD -eq 0 ] +then + cp $PIA_CONF_FILE $PIA_CONF_FILE.bak2 + echo " Key not found. Key 'PIALERT_WEB_PASSWORD' will be created." + echo " Check Config after the script is finished." + echo " If the key is just created, please run the script again to set a new password". + sed -i "/^PIALERT_WEB_PROTECTION.*/a PIALERT_WEB_PASSWORD = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92'" $PIA_CONF_FILE +else + echo " The password '$1' is hashed" + PIA_PASS_HASH=$(echo -n $PIA_PASS | sha256sum | awk '{print $1}') + echo " The hashed password is:" + echo " $PIA_PASS_HASH" + sed -i "/PIALERT_WEB_PASSWORD/c\PIALERT_WEB_PASSWORD = '$PIA_PASS_HASH'" $PIA_CONF_FILE + echo " The hash was saved in the configuration file" +fi diff --git a/config/version.conf b/config/version.conf index 95646137..5dc33c9d 100644 --- a/config/version.conf +++ b/config/version.conf @@ -1,3 +1,3 @@ -VERSION = '3.02' -VERSION_YEAR = '2021' -VERSION_DATE = '2021-04-24' +VERSION = '3.5_leiweibau' +VERSION_YEAR = '2022' +VERSION_DATE = '2022-07-07' \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..b1ec288d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,16 @@ +version: "3" +services: + pialert: + build: . + container_name: pialert + network_mode: "host" + restart: always + volumes: + - ${APP_DATA_LOCATION}/pialert/config:/home/pi/pialert/config + - ${APP_DATA_LOCATION}/pialert/db/pialert.db:/home/pi/pialert/db/pialert.db + - ${LOGS_LOCATION}/tmp:/home/pi/pialert/log + environment: + - TZ=${TZ} + - PORT=${PORT} + - HOST_USER_ID=${HOST_USER_ID} + - HOST_USER_GID=${HOST_USER_GID} diff --git a/front/lib/AdminLTE/bower_components/jvectormap/LICENSE-AGPL b/dockerfiles/LICENSE similarity index 84% rename from front/lib/AdminLTE/bower_components/jvectormap/LICENSE-AGPL rename to dockerfiles/LICENSE index 2def0e88..3877ae0a 100644 --- a/front/lib/AdminLTE/bower_components/jvectormap/LICENSE-AGPL +++ b/dockerfiles/LICENSE @@ -1,661 +1,674 @@ - GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU Affero General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero 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 Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -. \ No newline at end of file + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/dockerfiles/README.md b/dockerfiles/README.md new file mode 100644 index 00000000..8cd5c096 --- /dev/null +++ b/dockerfiles/README.md @@ -0,0 +1,114 @@ +[![Docker](https://github.com/jokob-sk/Pi.Alert/actions/workflows/docker.yml/badge.svg)](https://github.com/jokob-sk/Pi.Alert/actions/workflows/docker.yml) +[![Docker Image Size](https://img.shields.io/docker/image-size/jokobsk/pi.alert?logo=Docker)](https://hub.docker.com/r/jokobsk/pi.alert) + + Docker Pulls + + +# 🐳 A docker image for Pi.Alert + +🥇 Pi.Alert credit goes to [pucherot/Pi.Alert](https://github.com/pucherot/Pi.Alert).
+🐳 Docker Image: [jokobsk/Pi.Alert](https://registry.hub.docker.com/r/jokobsk/pi.alert).
+📄 [Dockerfile](https://github.com/jokob-sk/Pi.Alert/blob/main/Dockerfile)
+📚 [Dockerfile instructions](https://github.com/jokob-sk/Pi.Alert/blob/main//dockerfiles/README.md). + +Big thanks to @Macleykun for help and tips&tricks for Dockerfile(s): + + + + + +## ℹ Usage + +pialert.conf + - Everytime you rebuilt the container with a new image check if new settings have been added in [pialert.conf](https://github.com/jokob-sk/Pi.Alert/blob/main/config/pialert.conf). + +Network + - You will have to run the container on the host network, e.g: `sudo docker run --rm --net=host jokobsk/pi.alert` + +Default Port + - The app is accessible on the port `:20211`. + +> Please note - the cronjob is executed every 3 and 5 minutes so wait that long for all of the scans to run. + +## 💾 Setup and Backups + +1. (**required**) Download `pialert.conf` and `version.conf` from [here](https://github.com/jokob-sk/Pi.Alert/tree/main/config). +2. (**required**) In `pialert.conf` specify your network adapter (will probably be `eth0` or `eth1`) and the network filter (which **significantly** speeds up the scan process), e.g. if your DHCP server assigns IPs in the 192.168.1.0 to 192.168.1.255 range specify it the following way: + * `SCAN_SUBNETS = '192.168.1.0/24 --interface=eth0'` +3. (**required**) Use your configuration by: + * Mapping the container folder `/home/pi/pialert/config` to a persistent folder containing `pialert.conf` and `version.conf`, + * ... or by mapping the files individually `pialert.conf:/home/pi/pialert/config/pialert.conf` and `version.conf:/home/pi/pialert/config/version.conf` +4. Set the `TZ` environment variable to your current time zone (e.g.`Europe/Paris`). Find your time zone [here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). +5. Database backup + * The DB is stored under `/home/pi/pialert/db/pialert.db`. Map this file to a persistent location (see [Examples](https://github.com/jokob-sk/Pi.Alert/tree/main/dockerfiles#page_facing_up-examples) for details). If facing issues (AJAX errors, can't write to DB, etc, make sure permissions are set correctly, alternatively check the logs under `/home/pi/pialert/log`) +6. The container supports mapping to local User nad Group IDs. Specify the enviroment variables `HOST_USER_ID` and `HOST_USER_GID` if needed. +7. You can override the port by specifying the `PORT` env variable. + +Config examples can be found below. + +## 📄 Examples + +### Example 1 + +`docker-compose.yml` + +```yaml +version: "3" +services: + pialert: + container_name: pialert + image: "jokobsk/pi.alert:latest" + network_mode: "host" + restart: always + volumes: + - ${APP_DATA_LOCATION}/pialert/config:/home/pi/pialert/config + - ${APP_DATA_LOCATION}/pialert/db/pialert.db:/home/pi/pialert/db/pialert.db + - ${LOGS_LOCATION}/tmp:/home/pi/pialert/log + environment: + - TZ=${TZ} + - PORT=${PORT} + - HOST_USER_ID=${HOST_USER_ID} + - HOST_USER_GID=${HOST_USER_GID} +``` + +`.env` file + +```yaml +#GLOBAL +APP_DATA_LOCATION=/path/to/docker_appdata +APP_CONFIG_LOCATION=/path/to/docker_config +LOGS_LOCATION=/path/to/docker_logs +TZ=Europe/Paris +HOST_USER_ID=1000 +HOST_USER_GID=1000 +PORT=20211 +``` + +To run the container execute: `sudo docker-compose --env-file /path/to/.env up` + +### Example 2 + +Courtesy of [pbek](https://github.com/pbek). The volume `pialert_db` is used by the db directory. The two config files are mounted directly from a local folder to their places in the config folder. You can backup the `docker-compose.yaml` folder and the docker volumes folder. + +```yaml + pialert: + image: jokobsk/pi.alert + ports: + - "80:20211/tcp" + environment: + - TZ=Europe/Vienna + networks: + local: + ipv4_address: 192.168.1.2 + restart: unless-stopped + volumes: + - pialert_db:/home/pi/pialert/db + - ./pialert/pialert.conf:/home/pi/pialert/config/pialert.conf + - ./pialert/version.conf:/home/pi/pialert/config/version.conf +``` + +## ☕ Support + +> Disclaimer: This is my second container and I might have used unconventional hacks so if anyone is more experienced, feel free to fork/create pull requests. Also, please only donate if you don't have any debt yourself. Support yourself first, then others. + +Buy Me A Coffee diff --git a/dockerfiles/start.sh b/dockerfiles/start.sh new file mode 100755 index 00000000..247ba2d4 --- /dev/null +++ b/dockerfiles/start.sh @@ -0,0 +1,15 @@ +#!/bin/sh +/home/pi/pialert/dockerfiles/user-mapping.sh + +# if custom variables not set we do not need to do anything +if [ -n "${TZ}" ]; then + sed -ie "s|Europe/Berlin|${TZ}|g" /home/pi/pialert/install/pialert.cron + sed -ie "s|Europe/Berlin|${TZ}|g" /home/pi/pialert/config/pialert.conf + crontab < /home/pi/pialert/install/pialert.cron +fi +if [ -n "${PORT}" ]; then + sed -ie 's/= 20211/= '${PORT}'/g' /etc/lighttpd/lighttpd.conf +fi + +/etc/init.d/lighttpd start +cron -f diff --git a/dockerfiles/user-mapping.sh b/dockerfiles/user-mapping.sh new file mode 100644 index 00000000..54803092 --- /dev/null +++ b/dockerfiles/user-mapping.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +if [ -z "${USER}" ]; then + echo "We need USER to be set!"; exit 100 +fi + +# if both not set we do not need to do anything +if [ -z "${HOST_USER_ID}" -a -z "${HOST_USER_GID}" ]; then + echo "Nothing to do here." ; exit 0 +fi + +# reset user_?id to either new id or if empty old (still one of above +# might not be set) +USER_ID=${HOST_USER_ID:=$USER_ID} +USER_GID=${HOST_USER_GID:=$USER_GID} + +LINE=$(grep -F "${USER}" /etc/passwd) +# replace all ':' with a space and create array +array=( ${LINE//:/ } ) + +# home is 5th element +USER_HOME=${array[4]} + +sed -i -e "s/^${USER}:\([^:]*\):[0-9]*:[0-9]*/${USER}:\1:${USER_ID}:${USER_GID}/" /etc/passwd +sed -i -e "s/^${USER}:\([^:]*\):[0-9]*/${USER}:\1:${USER_GID}/" /etc/group + +chown -R ${USER_ID}:${USER_GID} ${USER_HOME} + +exec su - "${USER}" \ No newline at end of file diff --git a/docs/img/1_devices.jpg b/docs/img/1_devices.jpg index 7eca5b23..4f0a499c 100644 Binary files a/docs/img/1_devices.jpg and b/docs/img/1_devices.jpg differ diff --git a/docs/img/1_devices_dark.jpg b/docs/img/1_devices_dark.jpg new file mode 100644 index 00000000..1b768f8f Binary files /dev/null and b/docs/img/1_devices_dark.jpg differ diff --git a/docs/img/2_1_device_details.jpg b/docs/img/2_1_device_details.jpg index 8303b4c8..90ad2133 100644 Binary files a/docs/img/2_1_device_details.jpg and b/docs/img/2_1_device_details.jpg differ diff --git a/docs/img/2_2_device_sessions.jpg b/docs/img/2_2_device_sessions.jpg index b1c3b69e..063c63c1 100644 Binary files a/docs/img/2_2_device_sessions.jpg and b/docs/img/2_2_device_sessions.jpg differ diff --git a/docs/img/2_3_device_presence.jpg b/docs/img/2_3_device_presence.jpg index 19de25b8..b74fd744 100644 Binary files a/docs/img/2_3_device_presence.jpg and b/docs/img/2_3_device_presence.jpg differ diff --git a/docs/img/2_4_device_nmap.jpg b/docs/img/2_4_device_nmap.jpg new file mode 100644 index 00000000..301b6744 Binary files /dev/null and b/docs/img/2_4_device_nmap.jpg differ diff --git a/docs/img/2_5_device_nmap_ready.jpg b/docs/img/2_5_device_nmap_ready.jpg new file mode 100644 index 00000000..6184fa49 Binary files /dev/null and b/docs/img/2_5_device_nmap_ready.jpg differ diff --git a/docs/img/3_presence.jpg b/docs/img/3_presence.jpg index 09a4a6cb..7589dcca 100644 Binary files a/docs/img/3_presence.jpg and b/docs/img/3_presence.jpg differ diff --git a/docs/img/5_maintain.jpg b/docs/img/5_maintain.jpg new file mode 100644 index 00000000..69c2f569 Binary files /dev/null and b/docs/img/5_maintain.jpg differ diff --git a/front/css/dark-patch-cal.css b/front/css/dark-patch-cal.css new file mode 100644 index 00000000..317cf696 --- /dev/null +++ b/front/css/dark-patch-cal.css @@ -0,0 +1,17 @@ +.fc-sat { +background-color: #444D56; } +.fc-sun { +background-color: #444D56; } +.fc-today { + background-color: #8D9AAC !important; + border: none !important; +} +.fc-cell-content { + background-color: #272c30; +} +.fc-widget-header { + background-color: #353c42; +} +.fc-unthemed .fc-content, .fc-unthemed .fc-divider, .fc-unthemed .fc-list-heading td, .fc-unthemed .fc-list-view, .fc-unthemed .fc-popover, .fc-unthemed .fc-row, .fc-unthemed tbody, .fc-unthemed td, .fc-unthemed th, .fc-unthemed thead{ + border-color: #353c42 !important; +} diff --git a/front/css/dark-patch.css b/front/css/dark-patch.css new file mode 100644 index 00000000..0c9ed484 --- /dev/null +++ b/front/css/dark-patch.css @@ -0,0 +1,725 @@ +/* Pi-hole: A black hole for Internet advertisements +* (c) 2020 Pi-hole, LLC (https://pi-hole.net) +* Network-wide ad blocking via your own hardware. +* +* This file is copyright under the latest version of the EUPL. +* Please see LICENSE file for your rights under this license. +* +* The colors used in this theme has been inspired by +* https://github.com/anvyst/adminlte-skin-midnight +* +* Additional fixes For Pi.Alert UI by leiweibau */ + +:root { + --datatable-bgcolor: rgba(64, 76, 88, 0.8); +} +html { + background-color: #353c42; +} + +body { + background-color: #353c42; + color: #bec5cb; +} +h4 { + color: #44def1; +} +.content-header > .breadcrumb > li > a { + color: #bec5cb; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + border-top: 0; +} +.table > thead > tr.odd, +.table > tbody > tr.odd, +.table > tfoot > tr.odd { + background-color: #2a2f34; +} +.table > thead > tr.odd:hover, +.table > tbody > tr.odd:hover, +.table > tfoot > tr.odd:hover, +.table > thead > tr.even:hover, +.table > tbody > tr.even:hover, +.table > tfoot > tr.even:hover { + background-color: #1e2226; +} +.table-bordered, +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #353c42; +} +.dataTables_wrapper input[type="search"] { + border-radius: 4px; + background-color: #353c42; + border: 0; + color: #bec5cb; +} +.dataTables_paginate .pagination li > a { + background-color: #353c42; + border-color: #353c42; +} +.pagination > .disabled > a, +.pagination > .disabled > a:focus, +.pagination > .disabled > a:hover, +.pagination > .disabled > span, +.pagination > .disabled > span:focus, +.pagination > .disabled > span:hover { + cursor: not-allowed; + color: #bec5cb; + background-color: #353c42; + border-color: #353c42; +} +.pagination > li > a:focus, +.pagination > li > a:hover, +.pagination > li > span:focus, +.pagination > li > span:hover { + z-index: 2; + color: #bec5cb; + background-color: #54606b; + border-color: #54606b; +} +.wrapper, +.main-sidebar, +.left-side { + background-color: #272c30; +} +.user-panel > .info, +.user-panel > .info > a { + color: #fff; +} +.sidebar-menu > li.header { + color: #556068; + background-color: #1e2225; +} +.sidebar-menu > li > a { + border-left: 3px solid transparent; +} +.sidebar-menu > li:hover > a, +.sidebar-menu > li > a:focus, +.sidebar-menu > li.active > a { + color: #fff; + background-color: #22272a; + border-color: #3c8dbc; +} +.sidebar-menu > li > .treeview-menu { + margin: 0 1px; + background-color: #32393e; +} +.sidebar a { + color: #bec5cb; +} +.sidebar a:hover { + text-decoration: none; +} +.treeview-menu > li > a { + color: #949fa8; +} +.treeview-menu > li.active > a, +.treeview-menu > li > a:hover, +.treeview-menu > li > a:focus { + color: #fff; +} +.sidebar-form { + border-radius: 3px; + border: 1px solid #3e464c; + margin: 10px; +} +.sidebar-form input[type="text"], +.sidebar-form .btn { + box-shadow: none; + background-color: #3e464c; + border: 1px solid transparent; + height: 35px; +} +.sidebar-form input[type="text"] { + color: #666; + border-top-left-radius: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 2px; +} +.sidebar-form input[type="text"]:focus, +.sidebar-form input[type="text"]:focus + .input-group-btn .btn { + background-color: #fff; + color: #666; +} +.sidebar-form input[type="text"]:focus + .input-group-btn .btn { + border-left-color: #fff; +} +.sidebar-form .btn { + color: #999; + border-top-left-radius: 0; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 0; +} +.box, +.box-footer, +.info-box, +.box-comment, +.comment-text, +.comment-text .username { + color: #bec5cb; + background-color: #272c30; +} +.box-comments .box-comment { + border-bottom-color: #353c42; +} +.box-footer { + border-top: 1px solid #353c42; +} +.box-header.with-border { + border-bottom: 1px solid #353c42; +} +.box-solid, +.box { + border: 1px solid #272c30; +} +.box-solid > .box-header, +.box > .box-header { + color: #bec5cb; +} +.box-solid > .box-header .btn, +.box > .box-header .btn { + color: #bec5cb; +} +.box.box-info, +.box.box-primary, +.box.box-success, +.box.box-warning, +.box.box-danger { + border-top-width: 3px; +} +.main-header .navbar { + background-color: #272c30; +} +.main-header .navbar .nav > li > a, +.main-header .navbar .nav > li > .navbar-text { + color: #bec5cb; + max-height: 50px; +} +.main-header .navbar .nav > li > a:hover, +.main-header .navbar .nav > li > a:active, +.main-header .navbar .nav > li > a:focus, +.main-header .navbar .nav .open > a, +.main-header .navbar .nav .open > a:hover, +.main-header .navbar .nav .open > a:focus, +.main-header .navbar .nav > .active > a { + background-color: rgba(0, 0, 0, 0.1); + color: #f6f6f6; +} +.main-header .navbar .sidebar-toggle { + color: #bec5cb; +} +.main-header .navbar .sidebar-toggle:hover { + color: #f6f6f6; + background-color: rgba(0, 0, 0, 0.1); +} +.timeline li .timeline-item { + color: #bec5cb; + background-color: #272c30; + border-color: #353c42; +} +.timeline li .timeline-header { + border-bottom-color: #353c42; +} +.nav-stacked > li > a { + color: #bec5cb; +} +.nav-stacked > li > a:hover { + color: white; + background-color: #1e2226; +} +.content-wrapper, +.right-side { + background-color: #353c42; +} +.main-footer, +.nav-tabs-custom { + background-color: #272c30; + border-top-color: #353c42; + color: #bec5cb; +} +.main-footer .nav-tabs, +.nav-tabs-custom .nav-tabs { + background-color: #30383f; + border-bottom-color: #2f363b; +} +.main-footer .tab-content, +.nav-tabs-custom .tab-content { + background-color: #30383f; +} +.nav-tabs-custom > .nav-tabs { + background: rgba(64, 72, 80, 0.666); +} +.nav-tabs-custom > .nav-tabs > li { + margin-right: 1px; + color: #bec5cb; +} +.nav-tabs-custom > .nav-tabs > li.active > a, +.nav-tabs-custom > .nav-tabs > li.active:hover > a { + border-left-color: #30383f; + border-right-color: #30383f; + background-color: #30383f; + color: #bec5cb; +} +.nav-tabs-custom > .nav-tabs > li:not(.active):hover { + border-top-color: #d2d6de; + background-color: transparent; +} +.nav-tabs-custom > .nav-tabs > li > a { + color: #8e959b; +} +.nav-tabs-custom > .nav-tabs > li > a:focus { + color: #3c8dbc; +} +.nav-tabs-custom > .nav-tabs > li:hover > a, +.nav-tabs-custom > .nav-tabs > li.active:hover > a { + background-color: #353c42; + color: #bec5cb; +} + +.list-group { + color: #bec5cb; + background-color: #272c30; +} +.list-group .list-group-item { + border-color: #353c42; + background-color: #272c30; +} +.input-group .input-group-addon { + border-right: 1px solid #272c30; +} +.select2 .select2-selection { + background-color: #353c42; + color: #bec5cb; + border: 1px solid #353c42; +} +.select2 .select2-selection .select2-container--default, +.select2 .select2-selection .select2-selection--single, +.select2 .select2-selection .select2-selection--multiple, +.select2 .select2-selection .select2-selection__rendered { + color: #bec5cb; +} +.select2-dropdown { + background-color: #353c42; + color: #bec5cb; + border: 1px solid #353c42; +} +.select2-dropdown .select2-search__field { + background-color: #272c30; + color: #bec5cb; + border: 1px solid #353c42; +} +.select2-container--default.select2-container--open { + background-color: #272c30; +} + +.layout-boxed { + background: url("../../img/boxed-bg-dark.png") repeat fixed; +} +.not-used { + background-color: #eee; +} +.not-used:hover { + background-color: #c5c5c5; +} +.used { + background-color: #fff; +} +.used:hover { + background-color: #ddd; +} + +.graphs-grid { + background-color: rgba(255, 255, 255, 0.2); +} +.graphs-ticks { + color: #b8c7ce; +} +.queries-permitted { + background-color: #00a65a; +} +.queries-blocked { + background-color: #999; +} +.progress { + background-color: #333; +} + +.bg-green { + background-color: #005c32 !important; +} +.bg-aqua { + background-color: #007997 !important; +} +.bg-yellow { + background-color: #b1720c !important; +} +.bg-red { + background-color: #913225 !important; +} + +code, +pre { + padding: 2px 4px; + font-size: 90%; + color: #bec5cb; + background-color: #353c42; + border-radius: 4px; +} + +/* Used in the Query Log table */ +.text-green-light { + color: #5ca314 !important; +} +.text-green { + color: #00aa60 !important; +} +.text-orange { + color: #b1720c !important; +} +.text-red { + color: #bd2c19 !important; +} +.text-vivid-blue { + color: #007997 !important; +} +td.highlight { + background-color: rgba(255, 204, 0, 0.333); +} +.btn-default { + box-shadow: none; + background-color: #3e464c; + color: #bec5cb; + border: 1px solid #353c42; +} + +/* Used in debug log page */ +.log-red { + color: #ff4038; +} +.log-green { + color: #4c4; +} +.log-yellow { + color: #fb0; +} +.log-blue { + color: #48f; +} +.log-purple { + color: #b8e; +} +.log-cyan { + color: #0df; +} +.log-gray { + color: #999; +} + +#output { + border-color: #505458; + background: #272c30; +} + +/* Used by the long-term pages */ +.daterangepicker { + background-color: #3e464c; + border-radius: 4px; + border: 1px solid #353c42; +} +.daterangepicker .ranges li:hover { + background-color: #353c42; +} +.daterangepicker .ranges li.active { + background-color: #1e2226; /* Color also used in table pagination */ +} +.daterangepicker .calendar-table { + background-color: #3e464c; + border-radius: 4px; + border: 1px solid #353c42; +} +.daterangepicker td.off, +.daterangepicker td.off.in-range, +.daterangepicker td.off.start-date, +.daterangepicker td.off.end-date { + background-color: #485158; +} +.daterangepicker td.available:hover, +.daterangepicker th.available:hover { + background-color: #1e2226; +} +.daterangepicker td.active, +.daterangepicker td.active:hover, +.daterangepicker td.in-range:hover { + background-color: #225e92; +} +.daterangepicker td.in-range { + background-color: #1e2226; + color: #bec5cb; +} +input, +select, +select.form-control, +.form-group .input-group-addon, +.input-group .input-group-addon, +.form-group input, +.input-group input, +.form-group textarea, +.input-group textarea, +.daterangepicker select.hourselect, +.daterangepicker select.minuteselect, +.daterangepicker select.secondselect, +.daterangepicker select.ampmselect, +.form-control, +div.dataTables_wrapper div.dataTables_length select { + background-color: #353c42; + color: #bec5cb; + border: 1px solid #3d444b; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #353c42; + opacity: 1; +} +.navbar-custom-menu > .navbar-nav > li > .dropdown-menu { + background-color: #4c5761; + color: #bec5cb; + border: 1px solid #171c20; +} +.table-striped > tbody > tr:nth-of-type(2n + 1) { + background-color: #2d343a; +} +.panel, +.panel-body, +.panel-default > .panel-heading { + background-color: #3e464c; + border-radius: 4px; + border: 1px solid #353c42; + color: #bec5cb; +} +.box.box-solid.box-info, +.box.box-solid.box-info > .box-header { + color: #bec5cb; + background-color: #367fa9 !important; + border: 1px solid #367fa9; +} +input[type="password"]::-webkit-credentials-auto-fill-button { + background: #bfc5ca; +} +input[type="password"]::-webkit-caps-lock-indicator { + filter: invert(100%); +} + +.network-never { + background-color: #661b02; +} +.network-recent { + background-color: #114100; +} +.network-old { + background-color: #525200; +} +.network-older { + background-color: #502b00; +} +.network-gradient { + background-image: linear-gradient(to right, #114100 0%, #525200 100%); +} + +.icheckbox_polaris, +.icheckbox_futurico, +.icheckbox_minimal-blue { + margin-right: 10px; +} +.iradio_polaris, +.iradio_futurico, +.iradio_minimal-blue { + margin-right: 8px; +} + +/* Overlay box with spinners as shown during data collection for graphs */ +.box .overlay, +.overlay-wrapper .overlay { + z-index: 50; + background-color: rgba(53, 60, 66, 0.733); + border-radius: 3px; +} +.box .overlay > .fa, +.overlay-wrapper .overlay > .fa, +.navbar-nav > .user-menu > .dropdown-menu > .user-body a { + color: #bec5cb !important; +} + +.navbar-nav > .user-menu > .dropdown-menu > .user-footer { + background-color: #353c42bb; + padding: 10px; +} + +.modal-content { + background: #272c30; +} +.modal-header { + border-bottom-color: #353c42; +} +.modal-footer { + border-top-color: #353c42; +} +.close { + color: #383838; +} + +/*** Fix login input visual misalignment ***/ +#loginform, +#loginform input { + color: rgb(120, 127, 133); +} + +.login-options input, +.login-options [class*="icheck-"] > input:first-child + input[type="hidden"] + label::before, +.login-options [class*="icheck-"] > input:first-child + label::before { + background: none; + border-color: rgb(120, 127, 133); +} + +/*** Additional fixes For Pi.Alert UI ***/ +.small-box { + border-radius: 10px; + border-top: 0px; +} +.pa-small-box-aqua .inner { + background-color: rgb(45,108,133); + border-top-left-radius: 10px; + border-top-right-radius: 10px; +} +.pa-small-box-green .inner { + background-color: rgb(31,76,46); + border-top-left-radius: 10px; + border-top-right-radius: 10px; +} +.pa-small-box-yellow .inner { + background-color: rgb(151,104,37); + border-top-left-radius: 10px; + border-top-right-radius: 10px; +} +.pa-small-box-red .inner { + background-color: rgb(120,50,38); + border-top-left-radius: 10px; + border-top-right-radius: 10px; +} +.pa-small-box-gray .inner { + background-color: #777; + /* color: rgba(20,20,20,30%); */ + border-top-left-radius: 10px; + border-top-right-radius: 10px; +} +.pa-small-box-gray .inner h3 { + color: #bbb; +} +.text-gray-20 { + color: rgba(220,220,220,30%); +} +.bg-gray { + background-color: #888888 !important; +} +.badge.bg-green { + background-color: #00A000 !important; +} +.badge.bg-gray { + background-color: #888 !important; +} +#txtRecord { + background-color: #353c42; + border-color: #888888; +} +.table-hover tbody tr:hover td, .table-hover tbody tr:hover th { + background-color: rgb(189,192,198); + color: #444; +} + +.db_info_table_cell:nth-child(1) {background: #272c30} +.db_info_table_cell:nth-child(2) {background: #272c30} +.db_tools_table_cell_a:nth-child(1) {background: #272c30} +.db_tools_table_cell_a:nth-child(2) {background: #272c30} +.db_tools_table_cell_b:nth-child(1) {background: #272c30} +.db_tools_table_cell_b:nth-child(2) {background: #272c30} + +.db_info_table { + display: table; + border-spacing: 0em; + font-weight: 400; + font-size: 15px; + width: 100%; + margin: auto; +} + +.nav-tabs-custom > .nav-tabs > li:hover > a, .nav-tabs-custom > .nav-tabs > li.active:hover > a { + background-color: #272c30; + color: #bec5cb; +} + +.nav-tabs-custom > .nav-tabs > li.active > a, .nav-tabs-custom > .nav-tabs > li.active:hover > a { + border-left-color: #30383f; + border-right-color: #30383f; + background-color: #272c30; + color: #bec5cb; +} +.nav-tabs-custom > .nav-tabs { + background-color: #353c42; +} +.nav-tabs-custom .tab-content { + background-color: #272c30; +} +.top_small_box_gray_text { + color: white !important; +} + +/* remove white border that appears on mobile screen sizes */ +.box-body { + border: 0px; +} +/* remove white border that appears on mobile screen sizes */ +.table-responsive { + border: 0px; +} + +.login-page { + background-color: transparent; +} + +.login-logo a { + color: white; +} + +.login-box-body { + color: #bec5cb; + background-color: #272c30; +} +/* Add border radius to bottom of the status boxes*/ +.pa-small-box-footer { + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; +} + +.small-box > .inner h3, .small-box > .inner p { + margin-bottom: 0px; + margin-left: 0px; +} +.small-box:hover .icon { + font-size: 3.74em; +} +.small-box .icon { + top: 0.01em; + font-size: 3.25em; +} diff --git a/front/css/font/SourceSans3-Black.otf.woff2 b/front/css/font/SourceSans3-Black.otf.woff2 new file mode 100644 index 00000000..e2b2f15e Binary files /dev/null and b/front/css/font/SourceSans3-Black.otf.woff2 differ diff --git a/front/css/font/SourceSans3-BlackIt.otf.woff2 b/front/css/font/SourceSans3-BlackIt.otf.woff2 new file mode 100644 index 00000000..f0887137 Binary files /dev/null and b/front/css/font/SourceSans3-BlackIt.otf.woff2 differ diff --git a/front/css/font/SourceSans3-Bold.otf.woff2 b/front/css/font/SourceSans3-Bold.otf.woff2 new file mode 100644 index 00000000..815b88e0 Binary files /dev/null and b/front/css/font/SourceSans3-Bold.otf.woff2 differ diff --git a/front/css/font/SourceSans3-BoldIt.otf.woff2 b/front/css/font/SourceSans3-BoldIt.otf.woff2 new file mode 100644 index 00000000..89db4758 Binary files /dev/null and b/front/css/font/SourceSans3-BoldIt.otf.woff2 differ diff --git a/front/css/font/SourceSans3-ExtraLight.otf.woff2 b/front/css/font/SourceSans3-ExtraLight.otf.woff2 new file mode 100644 index 00000000..28771286 Binary files /dev/null and b/front/css/font/SourceSans3-ExtraLight.otf.woff2 differ diff --git a/front/css/font/SourceSans3-ExtraLightIt.otf.woff2 b/front/css/font/SourceSans3-ExtraLightIt.otf.woff2 new file mode 100644 index 00000000..72b11708 Binary files /dev/null and b/front/css/font/SourceSans3-ExtraLightIt.otf.woff2 differ diff --git a/front/css/font/SourceSans3-It.otf.woff2 b/front/css/font/SourceSans3-It.otf.woff2 new file mode 100644 index 00000000..351d44c5 Binary files /dev/null and b/front/css/font/SourceSans3-It.otf.woff2 differ diff --git a/front/css/font/SourceSans3-Light.otf.woff2 b/front/css/font/SourceSans3-Light.otf.woff2 new file mode 100644 index 00000000..3a105af0 Binary files /dev/null and b/front/css/font/SourceSans3-Light.otf.woff2 differ diff --git a/front/css/font/SourceSans3-LightIt.otf.woff2 b/front/css/font/SourceSans3-LightIt.otf.woff2 new file mode 100644 index 00000000..a10fb8fb Binary files /dev/null and b/front/css/font/SourceSans3-LightIt.otf.woff2 differ diff --git a/front/css/font/SourceSans3-Regular.otf.woff2 b/front/css/font/SourceSans3-Regular.otf.woff2 new file mode 100644 index 00000000..2326558a Binary files /dev/null and b/front/css/font/SourceSans3-Regular.otf.woff2 differ diff --git a/front/css/font/SourceSans3-Semibold.otf.woff2 b/front/css/font/SourceSans3-Semibold.otf.woff2 new file mode 100644 index 00000000..503c7c51 Binary files /dev/null and b/front/css/font/SourceSans3-Semibold.otf.woff2 differ diff --git a/front/css/font/SourceSans3-SemiboldIt.otf.woff2 b/front/css/font/SourceSans3-SemiboldIt.otf.woff2 new file mode 100644 index 00000000..ed97e5f3 Binary files /dev/null and b/front/css/font/SourceSans3-SemiboldIt.otf.woff2 differ diff --git a/front/css/font/SourceSans3VF-Italic.otf.woff2 b/front/css/font/SourceSans3VF-Italic.otf.woff2 new file mode 100644 index 00000000..05eb65c4 Binary files /dev/null and b/front/css/font/SourceSans3VF-Italic.otf.woff2 differ diff --git a/front/css/font/SourceSans3VF-Roman.otf.woff2 b/front/css/font/SourceSans3VF-Roman.otf.woff2 new file mode 100644 index 00000000..2d2b6fb7 Binary files /dev/null and b/front/css/font/SourceSans3VF-Roman.otf.woff2 differ diff --git a/front/css/offline-font.css b/front/css/offline-font.css new file mode 100644 index 00000000..94aab1ca --- /dev/null +++ b/front/css/offline-font.css @@ -0,0 +1,4 @@ +@font-face { + font-family: 'Source Sans Pro'; + src: url('font/SourceSans3-Regular.otf.woff2') format('woff2'); +} \ No newline at end of file diff --git a/front/css/pialert.css b/front/css/pialert.css index 8cdb7702..9f329b8d 100644 --- a/front/css/pialert.css +++ b/front/css/pialert.css @@ -11,50 +11,49 @@ Global Variables ----------------------------------------------------------------------------- */ :root { - --color-aqua: #00c0ef; - --color-green: #00a65a; + --color-aqua: #00c0ef; + --color-green: #00a65a; --color-yellow: #f39c12; - --color-red: #dd4b39; + --color-red: #dd4b39; } - /* ----------------------------------------------------------------------------- Text Classes ----------------------------------------------------------------------------- */ .text-center { - text-align: center; + text-align: center; } .text-right { - text-align: right; + text-align: right; } .text-white { - color: white; + color: white; } .text-gray50 { - color: #808080; + color: #808080; } .text-gray-20 { - color: rgba(192,192,192,20%); + color: rgba(192, 192, 192, 20%); } .text-aqua-20 { - color: rgba(0,192,239,20%); + color: rgba(0, 192, 239, 20%); } .text-green-20 { - color: rgba(0,166,90,20%); + color: rgba(0, 166, 90, 20%); } .text-yellow-20 { - color: rgba(243,156,18,20%); + color: rgba(243, 156, 18, 20%); } .text-red-20 { - color: rgba(221,75,57,20%); + color: rgba(221, 75, 57, 20%); } .no-border { @@ -65,82 +64,82 @@ Main Sections ----------------------------------------------------------------------------- */ .content-header { - padding-top: 5px; + padding-top: 5px; } -.content-header > .breadcrumb { - background: transparent; +.content-header>.breadcrumb { + background: transparent; } .content { - padding-bottom: 0px; + padding-bottom: 0px; } .box-body { - padding-top: 0px; - padding-bottom: 0px; + padding-top: 0px; + padding-bottom: 0px; } .main-footer { - padding: 5px; - color: gray; + padding: 5px; + color: gray; } - /* ----------------------------------------------------------------------------- Customized Main Menu ----------------------------------------------------------------------------- */ .main-header .logo { - width: 150px; + width: 150px; } -.main-header > .navbar { - margin-left: 150px; +.main-header>.navbar { + margin-left: 150px; } -.main-sidebar, .left-side { - width: 150px; +.main-sidebar, +.left-side { + width: 150px; } -.content-wrapper, .right-side, .main-footer { - margin-left: 150px; +.content-wrapper, +.right-side, +.main-footer { + margin-left: 150px; } @media (max-width: 767px) { - .main-header .logo { - width: 100%; - } + .main-header .logo { + width: 100%; + } - .main-header .navbar { - margin: 0; - } - - .content-wrapper, .main-footer { - margin-left: 0px; - } + .main-header .navbar { + margin: 0; + } + .content-wrapper, + .main-footer { + margin-left: 0px; + } } -.sidebar-open .content-wrapper, .sidebar-open .main-footer { +.sidebar-open .content-wrapper, +.sidebar-open .main-footer { -webkit-transform: translate(150px, 0); -ms-transform: translate(150px, 0); -o-transform: translate(150px, 0); transform: translate(150px, 0) } - -.skin-yellow-light .sidebar-menu > li > a:hover { +.skin-yellow-light .sidebar-menu>li>a:hover { background: #f0f0f0; border-left-color: rgb(243, 156, 18); } -.skin-yellow-light .sidebar-menu > li.active > a { +.skin-yellow-light .sidebar-menu>li.active>a { background: #e0e0e0; border-left-color: rgb(243, 156, 18); } - - /* ----------------------------------------------------------------------------- Customized Boxes ----------------------------------------------------------------------------- */ @@ -151,185 +150,183 @@ } .pa-small-box-2 .inner h3 { - margin-left: 0em; - margin-bottom: 1.3em; + margin-left: 0em; + margin-bottom: 1.3em; } .pa-small-box-footer { - color: white !important; - font-size: 18px; + color: white !important; + font-size: 18px; } - /* -------------------------------------------------------------------------- */ .pa-small-box-aqua { - border-top: 3px solid #00c0ef; - box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); + /* border-top: 3px solid #00c0ef; */ + box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); } .pa-small-box-aqua .inner { - color: #00c0ef; - background-color:#FFFFFF; + color: #00c0ef; + background-color: #FFFFFF; } .pa-small-box-aqua .inner h3 { - margin-left: 0.5em; + margin-left: 0.5em; } .pa-small-box-aqua .icon { - color: #00c0ef; + color: #00c0ef; } /* -------------------------------------------------------------------------- */ .pa-small-box-green { - border-top: 3px solid #00a65a; - box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); + /* border-top: 3px solid #00a65a; */ + box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); } .pa-small-box-green .inner { - color: #00a65a; - background-color:#FFFFFF; + color: #00a65a; + background-color: #FFFFFF; } .pa-small-box-green .inner h3 { - margin-left: 0.5em; + margin-left: 0.5em; } .pa-small-box-green .icon { - color: #00a65a; + color: #00a65a; } /* -------------------------------------------------------------------------- */ -.pa-small-box-yellow { - border-top: 3px solid #f39c12; - box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); +.pa-small-box-yellow { + /* border-top: 3px solid #f39c12; */ + box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); } .pa-small-box-yellow .inner { - color: #f39c12; - background-color:#FFFFFF; + color: #f39c12; + background-color: #FFFFFF; } .pa-small-box-yellow .inner h3 { - margin-left: 0.5em; + margin-left: 0.5em; } .pa-small-box-yellow .icon { - color: #f39c12; + color: #f39c12; } /* -------------------------------------------------------------------------- */ .pa-small-box-red { - border-top: 3px solid #dd4b39; - box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); + /* border-top: 3px solid #dd4b39; */ + box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); } .pa-small-box-red .inner { - color: #dd4b39; - background-color:#FFFFFF; + color: #dd4b39; + background-color: #FFFFFF; } .pa-small-box-red .inner h3 { - margin-left: 0.5em; + margin-left: 0.5em; } .pa-small-box-red .icon { - color: #dd4b39; + color: #dd4b39; } - /* -------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------------- */ .pa-small-box-gray { - border-top: 3px solid #a0a0a0; - box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); + /* border-top: 3px solid #a0a0a0; */ + box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); } .pa-small-box-gray .inner { - color: #a0a0a0; - background-color:#FFFFFF; + color: #a0a0a0; + background-color: #FFFFFF; } .pa-small-box-gray .inner h3 { - margin-left: 0.5em; + margin-left: 0.5em; } .pa-small-box-gray .icon { - color: #a0a0a0; + color: #a0a0a0; } - /* ----------------------------------------------------------------------------- Customized Box Borders ----------------------------------------------------------------------------- */ -.box.box-aqua { - border-top-color: #00c0ef; +/* .box.box-aqua { + border-top-color: #00c0ef; } .box.box-green { - border-top-color: #00a65a; + border-top-color: #00a65a; } .box.box-yellow { - border-top-color: #f39c12; + border-top-color: #f39c12; } .box.box-red { - border-top-color: #dd4b39; -} - + border-top-color: #dd4b39; +} */ /* ----------------------------------------------------------------------------- Custom Border ----------------------------------------------------------------------------- */ .bottom-border-aqua { - border-bottom-color: #00c0ef; - border-bottom-style: solid; - border-bottom-width: 3px + border-bottom-color: #00c0ef; + border-bottom-style: solid; + border-bottom-width: 3px } .bottom-border-primary { - border-bottom-color: #3c8dbc; - border-bottom-style: solid; - border-bottom-width: 3px + border-bottom-color: #3c8dbc; + border-bottom-style: solid; + border-bottom-width: 3px } - /* ----------------------------------------------------------------------------- Customized Tabs ----------------------------------------------------------------------------- */ .nav-tabs-custom { - background: transparent; + background: transparent; } -.nav > li > a { +.nav>li>a { position: relative; display: block; padding: 10px 10px; } - /* ----------------------------------------------------------------------------- Customized Menu dropdown ----------------------------------------------------------------------------- */ .dropdown-menu { max-height: 250px; overflow-x: hidden; - box-shadow: 0px 3px 20px rgba(0,0,0,0.2); + box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.2); } - /* ----------------------------------------------------------------------------- Default Table config ----------------------------------------------------------------------------- */ -.table > tbody > tr > td { - padding:4px; +.table>tbody>tr>td { + padding: 4px; } -.table-hover tbody tr:hover td, .table-hover tbody tr:hover th { - background-color: #FFFFD0; +.table-hover tbody tr:hover td, +.table-hover tbody tr:hover th { + background-color: #FFFFD0; } -.dataTables_info, .dataTables_paginate, .dataTables_length, .dataTables_filter { - color: #B0B0B0; +.dataTables_info, +.dataTables_paginate, +.dataTables_length, +.dataTables_filter { + color: #B0B0B0; } /* ----------------------------------------------------------------------------- @@ -341,27 +338,29 @@ } .pa-btn-delete { - border-color:#ffb060; - background-color:#ffd080; + border-color: #ffb060; + background-color: #ffd080; } .pa-btn-delete:hover { - border-color:#ffb060; - background-color:#ffb060; + border-color: #ffb060; + background-color: #ffb060; } -.pa-btn-records, .pa-btn-records:hover, .pa-btn-records:focus, .pa-btn-records:active { - border-color:#ddd; - background-color:#f4f4f4; +.pa-btn-records, +.pa-btn-records:hover, +.pa-btn-records:focus, +.pa-btn-records:active { + border-color: #ddd; + background-color: #f4f4f4; cursor: default; } - /* ----------------------------------------------------------------------------- Customized Full Calendar ----------------------------------------------------------------------------- */ .fc h2 { - font-size: 20px; + font-size: 20px; } .fc-weekend { @@ -380,7 +379,9 @@ background-color: #FFF0E0; } -.fc-resized-row { height: 26px !important; } +.fc-resized-row { + height: 26px !important; +} .fc-transparent-border { border-Color: transparent !important; @@ -395,60 +396,149 @@ border-right: 5px solid #606060; } - - /* ----------------------------------------------------------------------------- Spin ----------------------------------------------------------------------------- */ .pa_semitransparent-panel { position: absolute; - width: 100%; //calc (100% -40px); - height: 100%; + width: 100%; //calc (100% -40px); + height: 100%; left: 0; top: 0; - display: block; + display: block; - opacity: 0.8; + opacity: 0.8; background-color: #fff; - z-index: 99; + z-index: 99; } .pa_spinner { - position: absolute; - left: 0; - right: 0; - top: 20px; - margin-left: auto; + position: absolute; + left: 0; + right: 0; + top: 20px; + margin-left: auto; margin-right: auto; - padding: 15px; - width: 200px; + padding: 15px; + width: 200px; background-color: #fff; - z-index: 100; + z-index: 100; } /* ----------------------------------------------------------------------------- Notification float banner ----------------------------------------------------------------------------- */ .pa_alert_notification { - text-align: center; - font-size: large; - font-weight: bold; - color: #258744; + text-align: center; + font-size: large; + font-weight: bold; + color: #258744; background-color: #d4edda; - border-color: #c3e6cb; - border-radius: 5px; + border-color: #c3e6cb; + border-radius: 5px; - max-width: 1000px; /* 80% wrapper 1250px */ - width: 80%; - z-index: 9999; + max-width: 1000px; + /* 80% wrapper 1250px */ + width: 80%; + z-index: 9999; - position: fixed; - top: 30px; - margin: auto; - transform: translate(0,0); + position: fixed; + top: 30px; + margin: auto; + transform: translate(0, 0); - display: none; + display: none; } +.dbtools-button { + display: inline-block; + width: 160px; + height: 60px; + white-space: normal; + word-wrap: break-word; + font-size: 16px; + padding: 4px; +} + +.db_info_table_cell:nth-child(1) { + background: white +} + +.db_info_table_cell:nth-child(2) { + background: white +} + +.db_tools_table_cell_a:nth-child(1) { + background: white +} + +.db_tools_table_cell_a:nth-child(2) { + background: white +} +.db_tools_table_cell_b:nth-child(1) { + background: white +} + +.db_tools_table_cell_b:nth-child(2) { + background: white +} +.db_info_table { + display: table; + border-spacing: 0em; + font-weight: 400; + font-size: 15px; + width: 100%; + margin: auto; +} + +.db_info_table_row { + display: table-row; + padding: 3px; +} + +.db_info_table_cell { + display: table-cell; + padding: 3px; + padding-left: 10px; +} + +.db_tools_table_cell_a { + display: table-cell; + text-align: center; + padding: 10px; + min-width: 180px; + width: 20%; + vertical-align: middle; +} +.db_tools_table_cell_b { + display: table-cell; + text-align: justify; + font-size: 16px; + vertical-align: middle; + padding: 10px; +} + +.ajax_scripts_loading { +background-image: url('../img/Loading_Animation.gif'); +background-repeat: no-repeat; +background-position: center; +height: 50px; +} + +.nav-tabs-custom .tab-content { + background-color: white; +} + +.top_small_box_gray_text { + color: white !important; +} + +.bg-gray { + background-color: #b2b6be !important; +} + +.infobox_label { + font-size: 16px !important; +} \ No newline at end of file diff --git a/front/deviceDetails.php b/front/deviceDetails.php index 47cf35fe..5bb283bc 100644 --- a/front/deviceDetails.php +++ b/front/deviceDetails.php @@ -8,6 +8,14 @@ #--------------------------------------------------------------------------- --> @@ -25,11 +33,11 @@ @@ -42,10 +50,11 @@
- @@ -53,10 +62,11 @@
- @@ -64,10 +74,11 @@
- @@ -75,10 +86,11 @@
- @@ -94,10 +106,14 @@ @@ -324,7 +340,7 @@
- +
@@ -332,7 +348,7 @@
- +
@@ -340,10 +356,10 @@
- +
- +
@@ -361,7 +377,7 @@
- +
@@ -369,7 +385,7 @@
- +
@@ -377,7 +393,7 @@
- +
    @@ -385,7 +401,7 @@ - +
@@ -397,11 +413,13 @@
+ id="btnDeleteEvents" onclick="askDeleteDeviceEvents()"> + + id="btnRestore" onclick="getDeviceData(true)"> + id="btnSave" onclick="setDeviceData()" >
@@ -415,17 +433,97 @@ - - - - - - + + + + + +
OrderConnectionDisconnectionDurationIPAdditional info
+ + + + +
+ + +

Online Speedtest

+
+ +
+ + + +

Nmap Scans

+
+ + + + + + +
+
    +
  • +
  • +
  • +
+
+
+ +
+ + + +
+ + + + + + +
@@ -449,7 +547,7 @@
@@ -477,7 +575,6 @@
-
@@ -505,7 +602,14 @@ + + +'; +} +?> + +
+
+ +
+
+
+ +
@@ -110,19 +150,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + +
NameOwnerTypeFavoriteGroupFirst SessionLast SessionLast IPMACStatusMACLast IP OrderRowid
@@ -197,12 +237,19 @@ function main () { // ----------------------------------------------------------------------------- function initializeDatatable () { + // If the device has a small width (mobile) only show name, ip, and status columns. + if (window.screen.width < 400) { + var tableColumnShow = [10,11,12,1,2,3,4,5,6,8]; + } else { + var tableColumnShow = [10, 11, 12]; + }; var table= $('#tableDevices').DataTable({ 'paging' : true, 'lengthChange' : true, - 'lengthMenu' : [[10, 25, 50, 100, 500, -1], [10, 25, 50, 100, 500, 'All']], + 'lengthMenu' : [[10, 25, 50, 100, 500, -1], [10, 25, 50, 100, 500, '']], 'searching' : true, + 'ordering' : true, 'info' : true, 'autoWidth' : false, @@ -213,7 +260,7 @@ function initializeDatatable () { // 'order' : [[3,'desc'], [0,'asc']], 'columnDefs' : [ - {visible: false, targets: [10, 11, 12] }, + {visible: false, targets: tableColumnShow }, {className: 'text-center', targets: [3, 8, 9] }, {width: '80px', targets: [5, 6] }, {width: '0px', targets: 9 }, @@ -263,7 +310,7 @@ function initializeDatatable () { default: color='aqua'; break; }; - $(td).html (''+ cellData +''); + $(td).html (''+ cellData.replace('-', '') +''); } }, ], @@ -271,7 +318,14 @@ function initializeDatatable () { 'processing' : true, 'language' : { processing: '
Loading...
', - emptyTable: 'No data' + emptyTable: 'No data', + "lengthMenu": "", + "search": ": ", + "paginate": { + "next": "", + "previous": "" + }, + "info": "", } }); @@ -288,6 +342,7 @@ function initializeDatatable () { $('#tableDevices').on( 'search.dt', function () { setCookie ('devicesList', JSON.stringify (table.column(12, { 'search': 'applied' }).data().toArray()) ); } ); + }; @@ -320,13 +375,13 @@ function getDevicesList (status) { // Define color & title for the status selected switch (deviceStatus) { - case 'all': tableTitle = 'All Devices'; color = 'aqua'; break; - case 'connected': tableTitle = 'Connected Devices'; color = 'green'; break; - case 'favorites': tableTitle = 'Favorites'; color = 'yellow'; break; - case 'new': tableTitle = 'New Devices'; color = 'yellow'; break; - case 'down': tableTitle = 'Down Alerts'; color = 'red'; break; - case 'archived': tableTitle = 'Archived Devices'; color = 'gray'; break; - default: tableTitle = 'Devices'; color = 'gray'; break; + case 'all': tableTitle = ''; color = 'aqua'; break; + case 'connected': tableTitle = ''; color = 'green'; break; + case 'favorites': tableTitle = ''; color = 'yellow'; break; + case 'new': tableTitle = ''; color = 'yellow'; break; + case 'down': tableTitle = ''; color = 'red'; break; + case 'archived': tableTitle = ''; color = 'gray'; break; + default: tableTitle = ''; color = 'gray'; break; } // Set title and color diff --git a/front/events.php b/front/events.php index 9fbb916b..597cca30 100644 --- a/front/events.php +++ b/front/events.php @@ -8,6 +8,14 @@ #--------------------------------------------------------------------------- --> @@ -17,17 +25,17 @@

- Events +

@@ -40,10 +48,11 @@
- @@ -51,10 +60,11 @@
- @@ -62,10 +72,11 @@
- @@ -73,10 +84,11 @@
- @@ -84,10 +96,11 @@
- @@ -95,10 +108,11 @@
- @@ -121,18 +135,18 @@ - - - - - - - - - - - - + + + + + + + + + + + +
OrderDeviceOwnerDateEvent TypeConnectionDisconnectionDurationDuration OrderIPIP OrderAdditional Info
@@ -245,7 +259,14 @@ function initializeDatatable () { 'processing' : true, 'language' : { processing: '
Loading...
', - emptyTable: 'No data' + emptyTable: 'No data', + "lengthMenu": "", + "search": ": ", + "paginate": { + "next": "", + "previous": "" + }, + "info": "", } }); @@ -297,13 +318,13 @@ function getEvents (p_eventsType) { // Define color & title for the status selected switch (eventsType) { - case 'all': tableTitle = 'All Events'; color = 'aqua'; sesionCols = false; break; - case 'sessions': tableTitle = 'Sessions'; color = 'green'; sesionCols = true; break; - case 'missing': tableTitle = 'Missing Events'; color = 'yellow'; sesionCols = true; break; - case 'voided': tableTitle = 'Voided Events'; color = 'yellow'; sesionCols = false; break; - case 'new': tableTitle = 'New Devices Events'; color = 'yellow'; sesionCols = false; break; - case 'down': tableTitle = 'Down Alerts'; color = 'red'; sesionCols = false; break; - default: tableTitle = 'Events'; boxClass = ''; sesionCols = false; break; + case 'all': tableTitle = ''; color = 'aqua'; sesionCols = false; break; + case 'sessions': tableTitle = ''; color = 'green'; sesionCols = true; break; + case 'missing': tableTitle = ''; color = 'yellow'; sesionCols = true; break; + case 'voided': tableTitle = ''; color = 'yellow'; sesionCols = false; break; + case 'new': tableTitle = ''; color = 'yellow'; sesionCols = false; break; + case 'down': tableTitle = ''; color = 'red'; sesionCols = false; break; + default: tableTitle = ''; boxClass = ''; sesionCols = false; break; } // Set title and color diff --git a/front/img/Loading_Animation.gif b/front/img/Loading_Animation.gif new file mode 100644 index 00000000..d40e4816 Binary files /dev/null and b/front/img/Loading_Animation.gif differ diff --git a/front/img/boxed-bg-dark.png b/front/img/boxed-bg-dark.png new file mode 100644 index 00000000..d200749c Binary files /dev/null and b/front/img/boxed-bg-dark.png differ diff --git a/front/img/manifest.json b/front/img/manifest.json new file mode 100644 index 00000000..0e0dfe2c --- /dev/null +++ b/front/img/manifest.json @@ -0,0 +1,14 @@ +{ + "name": "Pi-Alert Console", + "short_name": "Pi-Alert", + "display": "standalone", + "icons": [ + { + "src": "", + "sizes": "180x180", + "type": "image/png" + } + ], + "theme_color": "#000", + "background_color": "#000" +} diff --git a/front/index.php b/front/index.php index c784b3a9..4aae0831 100644 --- a/front/index.php +++ b/front/index.php @@ -1,342 +1,159 @@ - + - -
+ + + + + + + + + Pi-Alert | Log in + + + + + + + + + + + + - -
-

- Devices -

-
+ +'; + $BACKGROUND_IMAGE_PATCH='style="background-image: url(\'img/boxed-bg-dark.png\');"'; +} else { $BACKGROUND_IMAGE_PATCH='style="background-image: url(\'img/background.png\');"';} +?> - -
- - -
- - - - - - - - - - - - - - - - - + + + +
-
- + + +
+
+ +

Password Alert!

+

+

To set a new password run:
./reset_password.sh yournewpassword
in the config folder.

+
+
- - +
+ - - - - - - - - + + + + + + + + + + diff --git a/front/js/graph_online_history.js b/front/js/graph_online_history.js new file mode 100644 index 00000000..268acdc4 --- /dev/null +++ b/front/js/graph_online_history.js @@ -0,0 +1,63 @@ +function pia_draw_graph_online_history(pia_js_graph_online_history_time, pia_js_graph_online_history_ondev, pia_js_graph_online_history_dodev, pia_js_graph_online_history_ardev) { + var xValues = pia_js_graph_online_history_time; + new Chart("OnlineChart", { + type: "bar", + data: { + labels: xValues, + datasets: [{ + label: 'Online', + data: pia_js_graph_online_history_ondev, + borderColor: "rgba(0, 166, 89)", + fill: true, + backgroundColor: "rgba(0, 166, 89, .6)", + pointStyle: 'circle', + pointRadius: 3, + pointHoverRadius: 3 + }, { + label: 'Offline/Down', + data: pia_js_graph_online_history_dodev, + borderColor: "rgba(222, 74, 56)", + fill: true, + backgroundColor: "rgba(222, 74, 56, .6)", + }, { + label: 'Archived', + data: pia_js_graph_online_history_ardev, + borderColor: "rgba(220,220,220)", + fill: true, + backgroundColor: "rgba(220,220,220, .6)", + }] + }, + options: { + legend: { + display: true, + labels: { + fontColor: "#A0A0A0", + } + }, + scales: { + yAxes: [{ + ticks: { + beginAtZero:true, + fontColor: '#A0A0A0' + }, + gridLines: { + color: "rgba(0, 0, 0, 0)", + }, + stacked: true, + }], + xAxes: [{ + ticks: { + fontColor: '#A0A0A0', + }, + gridLines: { + color: "rgba(0, 0, 0, 0)", + }, + stacked: true, + }], + }, + tooltips: { + mode: 'index' + } + } + }); +} \ No newline at end of file diff --git a/front/lib/AdminLTE/.npmignore b/front/lib/AdminLTE/.npmignore new file mode 100644 index 00000000..4d34fd0b --- /dev/null +++ b/front/lib/AdminLTE/.npmignore @@ -0,0 +1,2 @@ +documentation/ +composer.json diff --git a/front/lib/AdminLTE/.travis.yml b/front/lib/AdminLTE/.travis.yml new file mode 100644 index 00000000..b8f81d1a --- /dev/null +++ b/front/lib/AdminLTE/.travis.yml @@ -0,0 +1,24 @@ +language: node_js + +node_js: + - 8 + - 9 + - 10 + - 11 + - 12 + +env: + - INSTALL=bower + - INSTALL=yarn + - INSTALL=npm + +matrix: + fast_finish: true + +install: + - if [ "bower" == $INSTALL ]; then yarn global add bower && bower install; fi + - if [ "yarn" == $INSTALL ]; then yarn install; fi + - if [ "npm" == $INSTALL ]; then npm install; fi + +script: + - echo 'Tests must be configured' diff --git a/front/lib/AdminLTE/Gruntfile.js b/front/lib/AdminLTE/Gruntfile.js new file mode 100644 index 00000000..67450e9d --- /dev/null +++ b/front/lib/AdminLTE/Gruntfile.js @@ -0,0 +1,312 @@ +// AdminLTE Gruntfile +module.exports = function (grunt) { // jshint ignore:line + 'use strict'; + + grunt.initConfig({ + pkg : grunt.file.readJSON('package.json'), + watch : { + less : { + // Compiles less files upon saving + files: ['build/less/*.less'], + tasks: ['less:development', 'less:production', 'replace', 'notify:less'] + }, + js : { + // Compile js files upon saving + files: ['build/js/*.js'], + tasks: ['js', 'notify:js'] + }, + skins: { + // Compile any skin less files upon saving + files: ['build/less/skins/*.less'], + tasks: ['less:skins', 'less:minifiedSkins', 'notify:less'] + } + }, + // Notify end of tasks + notify: { + less: { + options: { + title : 'AdminLTE', + message: 'LESS finished running' + } + }, + js : { + options: { + title : 'AdminLTE', + message: 'JS bundler finished running' + } + } + }, + // 'less'-task configuration + // This task will compile all less files upon saving to create both AdminLTE.css and AdminLTE.min.css + less : { + // Development not compressed + development : { + files: { + // compilation.css : source.less + 'dist/css/AdminLTE.css' : 'build/less/AdminLTE.less', + // AdminLTE without plugins + 'dist/css/alt/AdminLTE-without-plugins.css' : 'build/less/AdminLTE-without-plugins.less', + // Separate plugins + 'dist/css/alt/AdminLTE-select2.css' : 'build/less/select2.less', + 'dist/css/alt/AdminLTE-fullcalendar.css' : 'build/less/fullcalendar.less', + 'dist/css/alt/AdminLTE-bootstrap-social.css': 'build/less/bootstrap-social.less' + } + }, + // Production compressed version + production : { + options: { + compress: true + }, + files : { + // compilation.css : source.less + 'dist/css/AdminLTE.min.css' : 'build/less/AdminLTE.less', + // AdminLTE without plugins + 'dist/css/alt/AdminLTE-without-plugins.min.css' : 'build/less/AdminLTE-without-plugins.less', + // Separate plugins + 'dist/css/alt/AdminLTE-select2.min.css' : 'build/less/select2.less', + 'dist/css/alt/AdminLTE-fullcalendar.min.css' : 'build/less/fullcalendar.less', + 'dist/css/alt/AdminLTE-bootstrap-social.min.css': 'build/less/bootstrap-social.less' + } + }, + // Non minified skin files + skins : { + files: { + 'dist/css/skins/skin-blue.css' : 'build/less/skins/skin-blue.less', + 'dist/css/skins/skin-black.css' : 'build/less/skins/skin-black.less', + 'dist/css/skins/skin-yellow.css' : 'build/less/skins/skin-yellow.less', + 'dist/css/skins/skin-green.css' : 'build/less/skins/skin-green.less', + 'dist/css/skins/skin-red.css' : 'build/less/skins/skin-red.less', + 'dist/css/skins/skin-purple.css' : 'build/less/skins/skin-purple.less', + 'dist/css/skins/skin-blue-light.css' : 'build/less/skins/skin-blue-light.less', + 'dist/css/skins/skin-black-light.css' : 'build/less/skins/skin-black-light.less', + 'dist/css/skins/skin-yellow-light.css': 'build/less/skins/skin-yellow-light.less', + 'dist/css/skins/skin-green-light.css' : 'build/less/skins/skin-green-light.less', + 'dist/css/skins/skin-red-light.css' : 'build/less/skins/skin-red-light.less', + 'dist/css/skins/skin-purple-light.css': 'build/less/skins/skin-purple-light.less', + 'dist/css/skins/_all-skins.css' : 'build/less/skins/_all-skins.less' + } + }, + // Skins minified + minifiedSkins: { + options: { + compress: true + }, + files : { + 'dist/css/skins/skin-blue.min.css' : 'build/less/skins/skin-blue.less', + 'dist/css/skins/skin-black.min.css' : 'build/less/skins/skin-black.less', + 'dist/css/skins/skin-yellow.min.css' : 'build/less/skins/skin-yellow.less', + 'dist/css/skins/skin-green.min.css' : 'build/less/skins/skin-green.less', + 'dist/css/skins/skin-red.min.css' : 'build/less/skins/skin-red.less', + 'dist/css/skins/skin-purple.min.css' : 'build/less/skins/skin-purple.less', + 'dist/css/skins/skin-blue-light.min.css' : 'build/less/skins/skin-blue-light.less', + 'dist/css/skins/skin-black-light.min.css' : 'build/less/skins/skin-black-light.less', + 'dist/css/skins/skin-yellow-light.min.css': 'build/less/skins/skin-yellow-light.less', + 'dist/css/skins/skin-green-light.min.css' : 'build/less/skins/skin-green-light.less', + 'dist/css/skins/skin-red-light.min.css' : 'build/less/skins/skin-red-light.less', + 'dist/css/skins/skin-purple-light.min.css': 'build/less/skins/skin-purple-light.less', + 'dist/css/skins/_all-skins.min.css' : 'build/less/skins/_all-skins.less' + } + } + }, + + // Uglify task info. Compress the js files. + uglify: { + options : { + mangle : true, + output: { + comments: 'some' + }, + }, + production: { + files: { + 'dist/js/adminlte.min.js': ['dist/js/adminlte.js'] + } + } + }, + + // Concatenate JS Files + concat: { + options: { + separator: '\n\n', + banner : '/*! AdminLTE app.js\n' + + '* ================\n' + + '* Main JS application file for AdminLTE v2. This file\n' + + '* should be included in all pages. It controls some layout\n' + + '* options and implements exclusive AdminLTE plugins.\n' + + '*\n' + + '* @author Colorlib\n' + + '* @support \n' + + '* @version <%= pkg.version %>\n' + + '* @repository <%= pkg.repository.url %>\n' + + '* @license MIT \n' + + '*/\n\n' + + '// Make sure jQuery has been loaded\n' + + 'if (typeof jQuery === \'undefined\') {\n' + + 'throw new Error(\'AdminLTE requires jQuery\')\n' + + '}\n\n' + }, + dist : { + src : [ + 'build/js/BoxRefresh.js', + 'build/js/BoxWidget.js', + 'build/js/ControlSidebar.js', + 'build/js/DirectChat.js', + 'build/js/PushMenu.js', + 'build/js/TodoList.js', + 'build/js/Tree.js', + 'build/js/Layout.js', + ], + dest: 'dist/js/adminlte.js' + } + }, + + // Replace image paths in AdminLTE without plugins + replace: { + withoutPlugins : { + src : ['dist/css/alt/AdminLTE-without-plugins.css'], + dest : 'dist/css/alt/AdminLTE-without-plugins.css', + replacements: [ + { + from: '../img', + to : '../../img' + } + ] + }, + withoutPluginsMin: { + src : ['dist/css/alt/AdminLTE-without-plugins.min.css'], + dest : 'dist/css/alt/AdminLTE-without-plugins.min.css', + replacements: [ + { + from: '../img', + to : '../../img' + } + ] + } + }, + + // Build the documentation files + includes: { + build: { + src : ['*.html'], // Source files + dest : 'documentation/', // Destination directory + flatten: true, + cwd : 'documentation/build', + options: { + silent : true, + includePath: 'documentation/build/include' + } + } + }, + + // Optimize images + image: { + dynamic: { + files: [ + { + expand: true, + cwd : 'build/img/', + src : ['**/*.{png,jpg,gif,svg,jpeg}'], + dest : 'dist/img/' + } + ] + } + }, + + // Validate JS code + jshint: { + options: { + jshintrc: 'build/js/.jshintrc' + }, + grunt : { + options: { + jshintrc: 'build/grunt/.jshintrc' + }, + src : 'Gruntfile.js' + }, + core : { + src: 'build/js/*.js' + }, + demo : { + src: 'dist/js/demo.js' + }, + pages : { + src: 'dist/js/pages/*.js' + } + }, + + jscs: { + options: { + config: 'build/js/.jscsrc' + }, + core : { + src: '<%= jshint.core.src %>' + }, + pages : { + src: '<%= jshint.pages.src %>' + } + }, + + // Validate CSS files + csslint: { + options: { + csslintrc: 'build/less/.csslintrc' + }, + dist : [ + 'dist/css/AdminLTE.css' + ] + }, + + // Validate Bootstrap HTML + bootlint: { + options: { + relaxerror: ['W005'] + }, + files : ['pages/**/*.html', '*.html'] + }, + + // Delete images in build directory + // After compressing the images in the build/img dir, there is no need + // for them + clean: { + build: ['build/img/*'] + } + }); + + // Load all grunt tasks + + // LESS Compiler + grunt.loadNpmTasks('grunt-contrib-less'); + // Watch File Changes + grunt.loadNpmTasks('grunt-contrib-watch'); + // Compress JS Files + grunt.loadNpmTasks('grunt-contrib-uglify'); + // Include Files Within HTML + grunt.loadNpmTasks('grunt-includes'); + // Optimize images + grunt.loadNpmTasks('grunt-image'); + // Validate JS code + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-jscs'); + // Delete not needed files + grunt.loadNpmTasks('grunt-contrib-clean'); + // Lint CSS + grunt.loadNpmTasks('grunt-contrib-csslint'); + // Lint Bootstrap + grunt.loadNpmTasks('grunt-bootlint'); + // Concatenate JS files + grunt.loadNpmTasks('grunt-contrib-concat'); + // Notify + grunt.loadNpmTasks('grunt-notify'); + // Replace + grunt.loadNpmTasks('grunt-text-replace'); + + // Linting task + grunt.registerTask('lint', ['jshint', 'csslint', 'bootlint']); + // JS task + grunt.registerTask('js', ['concat', 'uglify']); + // CSS Task + grunt.registerTask('css', ['less:development', 'less:production', 'replace']); + + // The default task (running 'grunt' in console) is 'watch' + grunt.registerTask('default', ['watch']); +}; diff --git a/front/lib/AdminLTE/LICENSE b/front/lib/AdminLTE/LICENSE new file mode 100644 index 00000000..7ea2b872 --- /dev/null +++ b/front/lib/AdminLTE/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014-2017 Abdullah Almsaeed + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/front/lib/AdminLTE/README.md b/front/lib/AdminLTE/README.md new file mode 100644 index 00000000..da77cf13 --- /dev/null +++ b/front/lib/AdminLTE/README.md @@ -0,0 +1,55 @@ +Introduction +============ + +[![Build Status](https://img.shields.io/travis/ColorlibHQ/AdminLTE.svg)](https://travis-ci.org/ColorlibHQ/AdminLTE) +![Bower version](https://img.shields.io/bower/v/adminlte.svg) +[![npm version](https://img.shields.io/npm/v/admin-lte.svg)](https://www.npmjs.com/package/admin-lte) +[![Packagist](https://img.shields.io/packagist/v/almasaeed2010/adminlte.svg)](https://packagist.org/packages/almasaeed2010/adminlte) +[![CDNJS](https://img.shields.io/cdnjs/v/admin-lte.svg)](https://cdnjs.com/libraries/admin-lte) + +**AdminLTE** -- is a fully responsive admin template. Based on **[Bootstrap 3 & 4](https://github.com/twbs/bootstrap)** framework. Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops. Check out the live preview now and see for yourself. + +**Download & Preview on [AdminLTE.IO](https://adminlte.io)** + +### Looking for More Templates? +- **[Admin Templates](http://dashboardpack.com/)** by DashboardPack +- **[Bootstrap Templates](https://colorlib.com/wp/cat/bootstrap/)** by Colorlib +- **[Admin Dashboards](https://colorlib.com/wp/free-bootstrap-admin-dashboard-templates/)** by varios template designers and developers based on Bootstrap, Vue, React, Angular and more. + +## Documentation & Installation Guide +Visit the [online documentation](https://adminlte.io/docs) for the most +updated guide. + +!["AdminLTE Presentation"](https://adminlte.io/AdminLTE2.png "AdminLTE Presentation") + +### Contribution +Contribution are always **welcome and recommended**! Here is how: + +- Fork the repository ([here is the guide](https://help.github.com/articles/fork-a-repo/)). +- Clone to your machine ```git clone https://github.com/YOUR_USERNAME/AdminLTE.git``` +- Make your changes +- Create a pull request + +#### Contribution Requirements: + +- When you contribute, you agree to give a non-exclusive license to AdminLTE.IO to use that contribution in any context as we (AdminLTE.IO) see appropriate. +- If you use content provided by another party, it must be appropriately licensed using an [open source](http://opensource.org/licenses) license. +- Contributions are only accepted through Github pull requests. +- Finally, contributed code must work in all supported browsers (see above for browser support). + +### License +AdminLTE is an open source project by [AdminLTE.IO](https://adminlte.io) that is licensed under [MIT](http://opensource.org/licenses/MIT). AdminLTE.IO +reserves the right to change the license of future releases. Wondering what you can or can't do? View the [license guide](https://adminlte.io/docs/license). + +### Legacy Releases +AdminLTE 1.x can be easily upgraded to 2.x using [this guide](https://adminlte.io/themes/AdminLTE/documentation/index.html#upgrade), but if you intend to keep using AdminLTE 1.x, you can download the latest release from the [releases](https://github.com/ColorlibHQ/AdminLTE/releases) section above. + +### Change log +**For the most recent change log, visit the [releases page](https://github.com/ColorlibHQ/AdminLTE/releases).** We will add detailed release notes to each new release. + +### Image Credits +- [Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd) +- [Graphicsfuel](http://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/) +- [Pickaface](http://pickaface.net/) +- [Unsplash](https://unsplash.com/) +- [Uifaces](http://uifaces.com/) diff --git a/front/lib/AdminLTE/bower.json b/front/lib/AdminLTE/bower.json new file mode 100644 index 00000000..17df42d0 --- /dev/null +++ b/front/lib/AdminLTE/bower.json @@ -0,0 +1,64 @@ +{ + "name": "admin-lte", + "homepage": "https://adminlte.io", + "authors": [ + "Abdullah Almsaeed " + ], + "description": "Admin dashboard and control panel template", + "main": [ + "index2.html", + "dist/css/AdminLTE.css", + "dist/js/adminlte.js", + "build/less/AdminLTE.less" + ], + "keywords": [ + "css", + "js", + "html", + "template", + "admin", + "bootstrap", + "theme", + "backend", + "responsive" + ], + "license": "MIT", + "ignore": [ + "/.*", + "node_modules", + "bower_components", + "composer.json", + "documentation" + ], + "dependencies": { + "chart.js": "^1.0", + "ckeditor": "^4.7", + "bootstrap-colorpicker": "^2.5.1", + "bootstrap": "^3.4", + "jquery": "^3.4.1", + "datatables.net": "^1.10.15", + "datatables.net-bs": "^2.1.1", + "bootstrap-datepicker": "^1.7", + "bootstrap-daterangepicker": "^2.1.25", + "moment": "^2.18.1", + "fastclick": "^1.0.6", + "Flot": "flot#^0.8.3", + "fullcalendar": "^3.4", + "inputmask": "jquery.inputmask#^3.3.7", + "ion.rangeSlider": "ionrangeslider#^2.2", + "jvectormap": "^1.2.2", + "jquery-knob": "^1.2.13", + "morris.js": "^0.5.1", + "PACE": "pace#^1.0.2", + "select2": "^4.0.7", + "jquery-slimscroll": "slimscroll#^1.3.8", + "jquery-sparkline": "^2.1.3", + "font-awesome": "^4.7", + "Ionicons": "ionicons#^2.0.1", + "jquery-ui": "^1.12.1", + "seiyria-bootstrap-slider": "^10.6.2" + }, + "resolutions": { + "jquery": "^3.4.1" + } +} diff --git a/front/lib/AdminLTE/bower_components/Flot/.gitignore b/front/lib/AdminLTE/bower_components/Flot/.gitignore deleted file mode 100644 index 477d588c..00000000 --- a/front/lib/AdminLTE/bower_components/Flot/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.min.js -!excanvas.min.js -node_modules/ diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/alert-circled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/alert-circled.svg index b6fccd72..89d11434 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/alert-circled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/alert-circled.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/alert.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/alert.svg index b1a1c1f3..f0c4e2c5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/alert.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/alert.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-add-circle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-add-circle.svg index af6a7c65..1a362a0f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-add-circle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-add-circle.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-add.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-add.svg index 3ef4c9df..a0d2605d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-add.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-add.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-alarm-clock.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-alarm-clock.svg index 395e52f4..d074e987 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-alarm-clock.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-alarm-clock.svg @@ -1,15 +1,15 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-alert.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-alert.svg index 00671978..1eb63d66 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-alert.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-alert.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-apps.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-apps.svg index db32fe51..f8bb1d75 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-apps.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-apps.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-archive.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-archive.svg index 1f0ce3ad..e7691094 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-archive.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-archive.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-back.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-back.svg index 309afd31..79cfe814 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-back.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-back.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-down.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-down.svg index 9e9a2cdf..9e455d4f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-down.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-down.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropdown-circle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropdown-circle.svg index 6393ec77..7aac1cc7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropdown-circle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropdown-circle.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropdown.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropdown.svg index 55ee520d..d46e9629 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropdown.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropdown.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropleft-circle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropleft-circle.svg index 9dd3aaba..27e24a8a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropleft-circle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropleft-circle.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropleft.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropleft.svg index d693f531..2457270c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropleft.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropleft.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropright-circle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropright-circle.svg index 932b7917..cc112e0f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropright-circle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropright-circle.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropright.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropright.svg index 88fc3b84..4930becb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropright.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropright.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropup-circle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropup-circle.svg index 4633fba3..fa6e20f9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropup-circle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropup-circle.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropup.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropup.svg index 1400388c..5cdfca0c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropup.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-dropup.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-forward.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-forward.svg index e40696fd..d63794dc 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-forward.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-forward.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-up.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-up.svg index e63ef5aa..dfd73ba1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-up.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-arrow-up.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-attach.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-attach.svg index ae889ab1..a5ffa065 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-attach.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-attach.svg @@ -1,15 +1,15 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bar.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bar.svg index a1f2bce0..7a6927cf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bar.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bar.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bicycle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bicycle.svg index fa8400a7..0e8c9081 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bicycle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bicycle.svg @@ -1,19 +1,19 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-boat.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-boat.svg index 23000b4a..6bd0277b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-boat.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-boat.svg @@ -1,16 +1,16 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bookmark.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bookmark.svg index 799c8823..a5330b5d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bookmark.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bookmark.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bulb.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bulb.svg index 248bae16..393840be 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bulb.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bulb.svg @@ -1,18 +1,18 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bus.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bus.svg index b55c0c20..6a2e3a93 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-bus.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-bus.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-calendar.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-calendar.svg index 5fd9ed68..705649ee 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-calendar.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-calendar.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-call.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-call.svg index e687edf4..7117b8b6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-call.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-call.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-camera.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-camera.svg index 2dd4720a..73aeaabe 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-camera.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-camera.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cancel.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cancel.svg index ddcbee55..95027068 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cancel.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cancel.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-car.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-car.svg index 7b66a2e4..e3f44a11 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-car.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-car.svg @@ -1,15 +1,15 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cart.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cart.svg index 1d97e720..9b28db7f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cart.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cart.svg @@ -1,14 +1,14 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-chat.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-chat.svg index 66d00096..b2ecd61b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-chat.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-chat.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-blank.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-blank.svg index ff50d6bb..a1cee7d2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-blank.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-blank.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-outline-blank.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-outline-blank.svg index dfce6d6a..4bb1dc4f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-outline-blank.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-outline-blank.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-outline.svg index 96fb444e..cad84f51 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox-outline.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox.svg index f7718a02..347eba24 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkbox.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkmark-circle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkmark-circle.svg index 32fe509c..086baf3f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkmark-circle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-checkmark-circle.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-clipboard.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-clipboard.svg index 97f22819..b9be4fba 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-clipboard.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-clipboard.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-close.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-close.svg index 3184bc13..aee0f9f6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-close.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-close.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-circle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-circle.svg index bd8a656e..b0d8b0c1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-circle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-circle.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-done.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-done.svg index 8aa97173..14c4e4ee 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-done.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-done.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-outline.svg index 98b34b15..9c3dc553 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud-outline.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud.svg index 0869972a..fb481181 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-cloud.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-color-palette.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-color-palette.svg index fddb19cf..d700fe6b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-color-palette.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-color-palette.svg @@ -1,17 +1,17 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-compass.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-compass.svg index 6ae34a9e..2312530a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-compass.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-compass.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-contact.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-contact.svg index 3b9b5aec..2750ed72 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-contact.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-contact.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-contacts.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-contacts.svg index 271a5405..bced7571 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-contacts.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-contacts.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-contract.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-contract.svg index 8c4708c7..03e8295e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-contract.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-contract.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-create.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-create.svg index d2cc74e6..cdcecbb7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-create.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-create.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-delete.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-delete.svg index 9159a485..49cfa5ad 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-delete.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-delete.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-desktop.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-desktop.svg index adcd30ee..441f994a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-desktop.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-desktop.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-document.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-document.svg index 91cd9d03..82f16e40 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-document.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-document.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-done-all.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-done-all.svg index 8260759d..b9416a48 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-done-all.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-done-all.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-done.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-done.svg index fbd6e5cd..4bcb946f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-done.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-done.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-download.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-download.svg index 2d629944..c5832fd9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-download.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-download.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-drafts.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-drafts.svg index 18745a76..922b056f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-drafts.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-drafts.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-exit.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-exit.svg index cf92b342..686e46a6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-exit.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-exit.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-expand.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-expand.svg index beb08b2e..51be003c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-expand.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-expand.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-favorite-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-favorite-outline.svg index 15d6e6b9..97ef8d63 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-favorite-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-favorite-outline.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-favorite.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-favorite.svg index 3b836628..9c43f437 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-favorite.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-favorite.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-film.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-film.svg index 13fbeb63..acedf655 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-film.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-film.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-folder-open.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-folder-open.svg index 19545aa6..fa77fea2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-folder-open.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-folder-open.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-folder.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-folder.svg index eb17131f..626a4519 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-folder.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-folder.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-funnel.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-funnel.svg index 0c9f0e1a..4abd54ca 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-funnel.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-funnel.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-globe.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-globe.svg index c65393e3..677b2ac2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-globe.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-globe.svg @@ -1,24 +1,24 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-hand.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-hand.svg index 5fdc8100..5035d875 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-hand.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-hand.svg @@ -1,15 +1,15 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-hangout.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-hangout.svg index 08ba43be..8714343e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-hangout.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-hangout.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-happy.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-happy.svg index 26072707..88baffe5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-happy.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-happy.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-home.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-home.svg index 44d4234d..52197f1a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-home.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-home.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-image.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-image.svg index 568dfe46..78239587 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-image.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-image.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-laptop.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-laptop.svg index 07dcfb54..1ad44f2a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-laptop.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-laptop.svg @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-list.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-list.svg index 95a27cc2..51bf4ae1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-list.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-list.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-locate.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-locate.svg index a7b72bc4..e2dd098c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-locate.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-locate.svg @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-lock.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-lock.svg index fbc6418d..7b81e3cd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-lock.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-lock.svg @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-mail.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-mail.svg index 1afcfa1e..c1a6bb9b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-mail.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-mail.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-map.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-map.svg index 5be7a01b..d84e924f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-map.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-map.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-menu.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-menu.svg index 4d1cb7c0..edf92f3d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-menu.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-menu.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-microphone-off.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-microphone-off.svg index 297562b6..07434e99 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-microphone-off.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-microphone-off.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-microphone.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-microphone.svg index 35881609..e827d13b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-microphone.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-microphone.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-more-horizontal.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-more-horizontal.svg index c6f4af42..40fd414f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-more-horizontal.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-more-horizontal.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-more-vertical.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-more-vertical.svg index fbca23d0..c1a71c81 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-more-vertical.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-more-vertical.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-navigate.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-navigate.svg index 8bf06e12..9ece18bc 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-navigate.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-navigate.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications-none.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications-none.svg index d0400309..0ee68519 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications-none.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications-none.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications-off.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications-off.svg index 5b65dd80..c999351d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications-off.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications-off.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications.svg index eb28dd22..4e40cee4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-notifications.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-open.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-open.svg index b004029c..9e15136c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-open.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-open.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-options.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-options.svg index e95040b6..b714269d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-options.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-options.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-people.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-people.svg index 0897dfd0..a0cc61e9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-people.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-people.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-person-add.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-person-add.svg index e5ac6c6e..3a9f32ae 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-person-add.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-person-add.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-person.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-person.svg index ac083d29..4fa23a9f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-person.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-person.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-phone-landscape.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-phone-landscape.svg index 1311cb62..9735e7ab 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-phone-landscape.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-phone-landscape.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-phone-portrait.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-phone-portrait.svg index ff141828..60874547 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-phone-portrait.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-phone-portrait.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-pin.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-pin.svg index 54c59a8f..4164e7bf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-pin.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-pin.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-plane.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-plane.svg index bbe5d47e..7f6bf29f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-plane.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-plane.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-playstore.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-playstore.svg index a1ad5dc0..bff9f047 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-playstore.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-playstore.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-print.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-print.svg index 89fa7e03..7e3e746f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-print.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-print.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-radio-button-off.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-radio-button-off.svg index 59042e31..d36fa657 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-radio-button-off.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-radio-button-off.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-radio-button-on.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-radio-button-on.svg index 06c0235e..1f7f54c0 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-radio-button-on.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-radio-button-on.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-refresh.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-refresh.svg index 5b8867c2..066f7d22 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-refresh.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-refresh.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-remove-circle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-remove-circle.svg index 341b22ea..2959055e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-remove-circle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-remove-circle.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-remove.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-remove.svg index d3cacf5f..3b2de40f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-remove.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-remove.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-restaurant.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-restaurant.svg index 582e9bff..449b1910 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-restaurant.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-restaurant.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-sad.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-sad.svg index 11a9d9e1..2417e6f3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-sad.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-sad.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-search.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-search.svg index ef9d3f66..2f284553 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-search.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-search.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-send.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-send.svg index 8f80fb4b..ffc8c8e6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-send.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-send.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-settings.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-settings.svg index c16b089b..c42d7931 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-settings.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-settings.svg @@ -1,19 +1,19 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-share-alt.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-share-alt.svg index 821b4e21..c391be54 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-share-alt.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-share-alt.svg @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-share.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-share.svg index a38c4aba..567b5870 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-share.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-share.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-star-half.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-star-half.svg index 53a14d00..c68272da 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-star-half.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-star-half.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-star-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-star-outline.svg index 3a143120..42be227f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-star-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-star-outline.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-star.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-star.svg index 4e0265f6..47cc2fac 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-star.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-star.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-stopwatch.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-stopwatch.svg index 93a6fd44..2a62b4d8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-stopwatch.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-stopwatch.svg @@ -1,21 +1,21 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-subway.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-subway.svg index ad497847..9b48417a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-subway.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-subway.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-sunny.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-sunny.svg index c40c5807..491fc817 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-sunny.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-sunny.svg @@ -1,18 +1,18 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-sync.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-sync.svg index d91eeec0..8c0a0d79 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-sync.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-sync.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-textsms.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-textsms.svg index 294516bc..34a16c3a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-textsms.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-textsms.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-time.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-time.svg index 929b2370..f81f46e2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-time.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-time.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-train.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-train.svg index 1cd6da6d..2bb1ad25 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-train.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-train.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-unlock.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-unlock.svg index 6b816ac2..7cc62220 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-unlock.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-unlock.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-upload.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-upload.svg index ed7edd2a..713bb609 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-upload.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-upload.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-down.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-down.svg index ceac980e..7cde6871 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-down.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-down.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-mute.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-mute.svg index 6cb847b7..634777d6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-mute.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-mute.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-off.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-off.svg index 517c3138..4fbbf05d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-off.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-off.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-up.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-up.svg index 0a8b8b53..76f69f6d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-up.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-volume-up.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-walk.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-walk.svg index 38252ac8..c7d60fe7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-walk.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-walk.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-warning.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-warning.svg index 1525a3eb..e56e4cb6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-warning.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-warning.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-watch.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-watch.svg index 6ecfdf7c..992a6666 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-watch.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-watch.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/android-wifi.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/android-wifi.svg index 73615429..1f8ce078 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/android-wifi.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/android-wifi.svg @@ -1,14 +1,14 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/aperture.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/aperture.svg index 41cf7ebe..b3aaedd9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/aperture.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/aperture.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/archive.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/archive.svg index 44eb44b6..4635da5f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/archive.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/archive.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-a.svg index 7d476caf..4668ad13 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-a.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-b.svg index 247b81f4..2ab1b5c8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-b.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-c.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-c.svg index d8ef45b3..8f1bfa3e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-c.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-down-c.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-expand.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-expand.svg index 268973dc..1cbcdf9d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-expand.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-expand.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-down-left.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-down-left.svg index 85f8dce0..4b146fd1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-down-left.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-down-left.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-down-right.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-down-right.svg index bd77539a..937f142c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-down-right.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-down-right.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-up-left.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-up-left.svg index 57ea68cb..7149289f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-up-left.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-up-left.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-up-right.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-up-right.svg index 689af444..be6fa6c0 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-up-right.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-graph-up-right.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-a.svg index ad3fb71f..2d35f143 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-a.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-b.svg index 43602dbe..8b4753ea 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-b.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-c.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-c.svg index b4a07c85..37f3511b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-c.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-left-c.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-move.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-move.svg index 52541875..1d4263f4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-move.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-move.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-resize.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-resize.svg index 24feb255..a9c3b3cc 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-resize.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-resize.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-return-left.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-return-left.svg index a2dbb861..a4b5e6f7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-return-left.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-return-left.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-return-right.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-return-right.svg index 79deb8b8..fabb15e5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-return-right.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-return-right.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-a.svg index fb6d0d67..b83f923e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-a.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-b.svg index 847718b3..b51f8169 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-b.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-c.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-c.svg index 97f20cad..332708ba 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-c.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-right-c.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-shrink.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-shrink.svg index 5c29eddb..a73a075f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-shrink.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-shrink.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-swap.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-swap.svg index aabe881e..50740f70 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-swap.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-swap.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-a.svg index f908a1bd..e333a386 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-a.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-b.svg index 01b790de..0def4b36 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-b.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-c.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-c.svg index cc291b3d..b0398edf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-c.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/arrow-up-c.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/asterisk.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/asterisk.svg index 34f54922..520d9cae 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/asterisk.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/asterisk.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/at.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/at.svg index 7d8a68b6..40cf157f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/at.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/at.svg @@ -1,25 +1,25 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/backspace-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/backspace-outline.svg index 19d2fe2c..78f9c8e4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/backspace-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/backspace-outline.svg @@ -1,21 +1,21 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/backspace.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/backspace.svg index f02fff97..075e412c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/backspace.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/backspace.svg @@ -1,17 +1,17 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/bag.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/bag.svg index f66c5ac3..c6560a7f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/bag.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/bag.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-charging.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-charging.svg index 01586130..575ff46e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-charging.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-charging.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-empty.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-empty.svg index 6659cb26..a1aec8ba 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-empty.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-empty.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-full.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-full.svg index a833ec4d..3eaa12d9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-full.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-full.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-half.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-half.svg index 9b992d00..6c502ac4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-half.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-half.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-low.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-low.svg index 7848ebbb..fe61ef6c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/battery-low.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/battery-low.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/beaker.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/beaker.svg index ecc33942..83217eb6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/beaker.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/beaker.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/beer.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/beer.svg index be420d0a..36b64243 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/beer.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/beer.svg @@ -1,28 +1,28 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/bluetooth.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/bluetooth.svg index 798ef293..fe17d95c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/bluetooth.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/bluetooth.svg @@ -1,18 +1,18 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/bonfire.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/bonfire.svg index e3a69b89..1d8a680f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/bonfire.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/bonfire.svg @@ -1,32 +1,32 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/bookmark.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/bookmark.svg index 425f97e5..9ae06710 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/bookmark.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/bookmark.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/bowtie.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/bowtie.svg index 0c9a67ad..955db03f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/bowtie.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/bowtie.svg @@ -1,22 +1,22 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/briefcase.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/briefcase.svg index 8b3875dc..d832d0fb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/briefcase.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/briefcase.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/bug.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/bug.svg index 837bc7e5..8d213a5c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/bug.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/bug.svg @@ -1,30 +1,30 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/calculator.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/calculator.svg index 93ef2c0e..bce682dc 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/calculator.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/calculator.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/calendar.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/calendar.svg index e6e173a1..4630f427 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/calendar.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/calendar.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/camera.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/camera.svg index 7857f61a..5369eebe 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/camera.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/camera.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/card.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/card.svg index e18e8486..c55c1ed2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/card.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/card.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/cash.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/cash.svg index 3618133a..8e6dc150 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/cash.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/cash.svg @@ -1,31 +1,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbox-working.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbox-working.svg index 1a6d1a66..cad6327e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbox-working.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbox-working.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbox.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbox.svg index 4e3070b4..0c2a7e77 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbox.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbox.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chatboxes.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chatboxes.svg index 259cc814..dba6e29c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chatboxes.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chatboxes.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubble-working.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubble-working.svg index da15d59e..ca69e3b8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubble-working.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubble-working.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubble.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubble.svg index f9ab693a..5c3148fb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubble.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubble.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubbles.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubbles.svg index d1a8ba84..8cc5f34e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubbles.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chatbubbles.svg @@ -1,16 +1,16 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark-circled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark-circled.svg index 818f4e30..7544fbc9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark-circled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark-circled.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark-round.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark-round.svg index 0f9e5e0b..e7a62338 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark-round.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark-round.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark.svg index 5d091529..3f14a4de 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/checkmark.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-down.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-down.svg index 4d96e34b..792e3cee 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-down.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-down.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-left.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-left.svg index 2a5847d3..556425eb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-left.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-left.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-right.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-right.svg index c7806956..7ac591a0 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-right.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-right.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-up.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-up.svg index 7ab9d97d..34355f39 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-up.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/chevron-up.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/clipboard.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/clipboard.svg index abebc336..db9e767a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/clipboard.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/clipboard.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/clock.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/clock.svg index 717c3189..964e57a8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/clock.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/clock.svg @@ -1,21 +1,21 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/close-circled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/close-circled.svg index 8705b057..8eee9a33 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/close-circled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/close-circled.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/close-round.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/close-round.svg index e011f7bd..d8b5554c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/close-round.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/close-round.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/close.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/close.svg index aa6b81c1..2e111a9e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/close.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/close.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/closed-captioning.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/closed-captioning.svg index dc1c9394..232b529e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/closed-captioning.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/closed-captioning.svg @@ -1,31 +1,31 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/cloud.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/cloud.svg index 7a687a60..c3a4292e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/cloud.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/cloud.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/code-download.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/code-download.svg index bcdd4ac0..5f889f93 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/code-download.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/code-download.svg @@ -1,31 +1,31 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/code-working.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/code-working.svg index b0d367a3..0e91bdda 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/code-working.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/code-working.svg @@ -1,21 +1,21 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/code.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/code.svg index 26cbd299..3569f52b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/code.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/code.svg @@ -1,14 +1,14 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/coffee.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/coffee.svg index 2a69c9f4..a6f3801c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/coffee.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/coffee.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/compass.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/compass.svg index 89bde8b0..dfa3da0e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/compass.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/compass.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/compose.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/compose.svg index 82f190dc..21eb048e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/compose.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/compose.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/connection-bars.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/connection-bars.svg index ffd98bed..14f9bc25 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/connection-bars.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/connection-bars.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/contrast.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/contrast.svg index ffcecdf7..7fe98e19 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/contrast.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/contrast.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/crop.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/crop.svg index 6892bc8d..9a92875e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/crop.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/crop.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/cube.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/cube.svg index cf94545d..79ef629e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/cube.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/cube.svg @@ -1,19 +1,19 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/disc.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/disc.svg index ef17856a..6feda5e9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/disc.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/disc.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/document-text.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/document-text.svg index 1a037e5b..8c9d75b9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/document-text.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/document-text.svg @@ -1,15 +1,15 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/document.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/document.svg index ed201709..4b810d0e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/document.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/document.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/drag.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/drag.svg index 2961cd43..ce748324 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/drag.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/drag.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/earth.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/earth.svg index 81258dc6..078e7f71 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/earth.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/earth.svg @@ -1,44 +1,44 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/easel.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/easel.svg index 75301a32..d56168df 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/easel.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/easel.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/edit.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/edit.svg index 50d410ce..a0be3454 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/edit.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/edit.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/egg.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/egg.svg index 4ac5a56f..d0a71740 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/egg.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/egg.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/eject.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/eject.svg index c9e173e6..4308c4b9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/eject.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/eject.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/email-unread.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/email-unread.svg index ea4b15b3..80abe431 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/email-unread.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/email-unread.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/email.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/email.svg index e99edb3a..4e8bf7d6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/email.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/email.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/erlenmeyer-flask-bubbles.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/erlenmeyer-flask-bubbles.svg index a7ae8868..13cbae2a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/erlenmeyer-flask-bubbles.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/erlenmeyer-flask-bubbles.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/erlenmeyer-flask.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/erlenmeyer-flask.svg index dba43584..1da686b6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/erlenmeyer-flask.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/erlenmeyer-flask.svg @@ -1,21 +1,21 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/eye-disabled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/eye-disabled.svg index bdb110dd..7a270cb4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/eye-disabled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/eye-disabled.svg @@ -1,18 +1,18 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/eye.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/eye.svg index 4b83a783..6b64633f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/eye.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/eye.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/female.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/female.svg index 2e8af488..e3f70c57 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/female.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/female.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/filing.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/filing.svg index 89a2b2ed..90ac607e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/filing.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/filing.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/film-marker.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/film-marker.svg index 73814adc..5dcf8a70 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/film-marker.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/film-marker.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/fireball.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/fireball.svg index 97b5521b..ac558bf3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/fireball.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/fireball.svg @@ -1,16 +1,16 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/flag.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/flag.svg index 5f7ded31..3e1d38a1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/flag.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/flag.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/flame.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/flame.svg index 5b7c6401..1e9d7711 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/flame.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/flame.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/flash-off.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/flash-off.svg index eca230e2..bdb1204e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/flash-off.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/flash-off.svg @@ -1,16 +1,16 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/flash.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/flash.svg index 84c0032b..6fe26df2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/flash.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/flash.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/folder.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/folder.svg index 0cb47be8..610c0cf5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/folder.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/folder.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/fork-repo.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/fork-repo.svg index 7136045b..f6b51ba2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/fork-repo.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/fork-repo.svg @@ -1,20 +1,20 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/fork.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/fork.svg index 79f076ea..eb1591c4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/fork.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/fork.svg @@ -1,14 +1,14 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/forward.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/forward.svg index 55f0815e..7b9baf89 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/forward.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/forward.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/funnel.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/funnel.svg index 0174f908..a59da655 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/funnel.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/funnel.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/gear-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/gear-a.svg index d8953415..5153f6c7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/gear-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/gear-a.svg @@ -1,15 +1,15 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/gear-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/gear-b.svg index 88b31299..ca69c328 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/gear-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/gear-b.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/grid.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/grid.svg index 7100f22e..456e5011 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/grid.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/grid.svg @@ -1,32 +1,32 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/hammer.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/hammer.svg index a6b2d085..75840f3e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/hammer.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/hammer.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/happy-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/happy-outline.svg index f5d7cc4b..7284ce5f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/happy-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/happy-outline.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/happy.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/happy.svg index cba963ed..e0ddbedd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/happy.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/happy.svg @@ -1,20 +1,20 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/headphone.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/headphone.svg index b49c9340..838a773a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/headphone.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/headphone.svg @@ -1,15 +1,15 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/heart-broken.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/heart-broken.svg index 984e31aa..b9838016 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/heart-broken.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/heart-broken.svg @@ -1,17 +1,17 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/heart.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/heart.svg index 945b5103..34aa83d9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/heart.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/heart.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/help-buoy.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/help-buoy.svg index 106cff94..5f6f1cef 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/help-buoy.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/help-buoy.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/help-circled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/help-circled.svg index f70e8313..fa1d79e5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/help-circled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/help-circled.svg @@ -1,15 +1,15 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/help.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/help.svg index cd4dcb8b..a5e0d16d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/help.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/help.svg @@ -1,14 +1,14 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/home.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/home.svg index 7a642ddf..13c6dc08 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/home.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/home.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/icecream.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/icecream.svg index 21bfc9aa..2949175c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/icecream.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/icecream.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/image.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/image.svg index 7faf9bb3..b33d4ea6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/image.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/image.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/images.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/images.svg index c14db6c6..708c4158 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/images.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/images.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/information-circled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/information-circled.svg index bed4eda7..dcddcab2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/information-circled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/information-circled.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/information.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/information.svg index 6a72ba5f..e70c4ced 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/information.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/information.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ionic.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ionic.svg index 1db7b69a..b8332f49 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ionic.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ionic.svg @@ -1,18 +1,18 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-alarm-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-alarm-outline.svg index e53ca3e2..83a64b96 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-alarm-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-alarm-outline.svg @@ -1,21 +1,21 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-alarm.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-alarm.svg index b8339b6a..bea64f17 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-alarm.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-alarm.svg @@ -1,14 +1,14 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-albums-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-albums-outline.svg index d0d248fd..d001b26e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-albums-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-albums-outline.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-albums.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-albums.svg index 5b2b384a..1b9291d3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-albums.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-albums.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-americanfootball-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-americanfootball-outline.svg index 0f98a8bd..53bdff3f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-americanfootball-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-americanfootball-outline.svg @@ -1,24 +1,24 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-americanfootball.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-americanfootball.svg index 635968b3..41bac4a3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-americanfootball.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-americanfootball.svg @@ -1,21 +1,21 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-analytics-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-analytics-outline.svg index da7dca0b..a3671ec9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-analytics-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-analytics-outline.svg @@ -1,24 +1,24 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-analytics.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-analytics.svg index 578484b5..e4800eec 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-analytics.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-analytics.svg @@ -1,17 +1,17 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-back.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-back.svg index ab05ca65..a6cf2538 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-back.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-back.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-down.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-down.svg index f956e925..2139e774 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-down.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-down.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-forward.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-forward.svg index 68fd7eb5..58a56af3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-forward.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-forward.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-left.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-left.svg index 840ed365..ce334d38 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-left.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-left.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-right.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-right.svg index 489f14c9..7bbc225e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-right.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-right.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-down.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-down.svg index bd1634e2..36576603 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-down.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-down.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-left.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-left.svg index d1223cd6..a61de1a9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-left.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-left.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-right.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-right.svg index ae5e0497..dc81ef83 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-right.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-right.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-up.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-up.svg index 38ed41e4..03593870 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-up.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-thin-up.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-up.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-up.svg index 9d53f771..63d6119f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-up.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-arrow-up.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-at-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-at-outline.svg index 9d3b02f1..0310e367 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-at-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-at-outline.svg @@ -1,26 +1,26 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-at.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-at.svg index 917d984c..4b0d5a2a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-at.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-at.svg @@ -1,24 +1,24 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-barcode-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-barcode-outline.svg index fcdfd3f5..9c890deb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-barcode-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-barcode-outline.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-barcode.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-barcode.svg index 16d59dff..937154f8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-barcode.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-barcode.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-baseball-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-baseball-outline.svg index a992fea7..8b88e1f1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-baseball-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-baseball-outline.svg @@ -1,35 +1,35 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-baseball.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-baseball.svg index 49a50bb2..a76add85 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-baseball.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-baseball.svg @@ -1,27 +1,27 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-basketball-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-basketball-outline.svg index 9c171547..0cdd80cf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-basketball-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-basketball-outline.svg @@ -1,25 +1,25 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-basketball.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-basketball.svg index 9d749565..a422eee4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-basketball.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-basketball.svg @@ -1,21 +1,21 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bell-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bell-outline.svg index bf8fae90..cce7aff3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bell-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bell-outline.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bell.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bell.svg index f9e21a5a..80f35a6a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bell.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bell.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-body-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-body-outline.svg index 809da99c..2aee0016 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-body-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-body-outline.svg @@ -1,27 +1,27 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-body.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-body.svg index c47f4c67..6837e69b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-body.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-body.svg @@ -1,17 +1,17 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bolt-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bolt-outline.svg index 52bd7b43..b622ede9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bolt-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bolt-outline.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bolt.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bolt.svg index 51a27ee9..4e341288 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bolt.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bolt.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-book-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-book-outline.svg index d2857099..77fd4883 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-book-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-book-outline.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-book.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-book.svg index b8c6da3f..7e13f9e8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-book.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-book.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bookmarks-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bookmarks-outline.svg index ee4fba02..09a0af90 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bookmarks-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bookmarks-outline.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bookmarks.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bookmarks.svg index bb680400..3bf6dce8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bookmarks.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-bookmarks.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-box-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-box-outline.svg index 1045d489..470890ac 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-box-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-box-outline.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-box.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-box.svg index 7ed0eb52..e7c07f1c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-box.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-box.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-briefcase-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-briefcase-outline.svg index b9ccbd2b..d61b8cad 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-briefcase-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-briefcase-outline.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-briefcase.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-briefcase.svg index 90b9cf20..93eb4b01 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-briefcase.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-briefcase.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-browsers-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-browsers-outline.svg index 3c29db9a..50029f9a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-browsers-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-browsers-outline.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-browsers.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-browsers.svg index 36ab92e6..e8b9c489 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-browsers.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-browsers.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calculator-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calculator-outline.svg index 9006a345..722f4ceb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calculator-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calculator-outline.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calculator.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calculator.svg index 64b08607..b6caeb90 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calculator.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calculator.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calendar-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calendar-outline.svg index cd81cbd1..85a84db6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calendar-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calendar-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calendar.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calendar.svg index 8fd1de32..bd5b00ce 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calendar.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-calendar.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-camera-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-camera-outline.svg index 3feed556..358ee7cc 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-camera-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-camera-outline.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-camera.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-camera.svg index 11ce8753..8c255ea9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-camera.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-camera.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cart-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cart-outline.svg index 9fe49fb7..a7e936c5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cart-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cart-outline.svg @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cart.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cart.svg index b7fdd4b8..15c92d27 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cart.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cart.svg @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatboxes-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatboxes-outline.svg index d87a8861..c65fb058 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatboxes-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatboxes-outline.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatboxes.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatboxes.svg index 1e975b1b..0123bb5a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatboxes.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatboxes.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatbubble-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatbubble-outline.svg index 251db96a..9c5044a1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatbubble-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatbubble-outline.svg @@ -1,14 +1,14 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatbubble.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatbubble.svg index c2efd7f2..4db7dc11 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatbubble.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-chatbubble.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark-empty.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark-empty.svg index baf44785..2eaf85c7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark-empty.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark-empty.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark-outline.svg index 57145a66..641c40c5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark.svg index 42e46244..72c0bee5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-checkmark.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-circle-filled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-circle-filled.svg index 0cebbc00..a8c68508 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-circle-filled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-circle-filled.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-circle-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-circle-outline.svg index ce8c36e8..f72ae810 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-circle-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-circle-outline.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-clock-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-clock-outline.svg index 4db33fc8..5d8be8d9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-clock-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-clock-outline.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-clock.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-clock.svg index a083faa1..d4db9f6f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-clock.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-clock.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close-empty.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close-empty.svg index 71c7d70f..84602253 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close-empty.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close-empty.svg @@ -1,13 +1,13 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close-outline.svg index d67ac63f..908ae678 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close-outline.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close.svg index eb4d0e6c..dbc3ab59 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-close.svg @@ -1,16 +1,16 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-download-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-download-outline.svg index c1629540..c00a6167 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-download-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-download-outline.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-download.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-download.svg index 526465a7..0c7f691f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-download.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-download.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-outline.svg index 1665c917..2b2c80ef 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-outline.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-upload-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-upload-outline.svg index 5cb54317..39ac0f9f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-upload-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-upload-outline.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-upload.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-upload.svg index cff5dc7a..d7d118c9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-upload.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud-upload.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud.svg index 29b64a67..1393d85a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloud.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-night-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-night-outline.svg index c45c348a..e50357d4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-night-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-night-outline.svg @@ -1,24 +1,24 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-night.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-night.svg index 51a16221..9c124c47 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-night.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-night.svg @@ -1,21 +1,21 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-outline.svg index 2bfbadd7..086af58a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy-outline.svg @@ -1,17 +1,17 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy.svg index 634632e6..16cd7336 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cloudy.svg @@ -1,14 +1,14 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cog-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cog-outline.svg index cca3e715..8d340b56 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cog-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cog-outline.svg @@ -1,29 +1,29 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cog.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cog.svg index e0d22afb..7b762937 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cog.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-cog.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-filter-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-filter-outline.svg index 2d44608e..c4e11553 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-filter-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-filter-outline.svg @@ -1,25 +1,25 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-filter.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-filter.svg index eee02aa4..09c96d12 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-filter.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-filter.svg @@ -1,29 +1,29 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-wand-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-wand-outline.svg index 6583acb6..3220e72f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-wand-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-wand-outline.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-wand.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-wand.svg index 1865c8bd..05bab769 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-wand.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-color-wand.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-compose-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-compose-outline.svg index c11f6394..4ff04de5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-compose-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-compose-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-compose.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-compose.svg index 08d818ff..6191aa7b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-compose.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-compose.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-contact-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-contact-outline.svg index 79ae9110..152a8fca 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-contact-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-contact-outline.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-contact.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-contact.svg index 61829b03..ed7f6fcb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-contact.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-contact.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-copy-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-copy-outline.svg index 75b8c0ba..0f6dbfbb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-copy-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-copy-outline.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-copy.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-copy.svg index 57132a74..8f6791c9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-copy.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-copy.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-crop-strong.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-crop-strong.svg index fcb8b3a2..968c0c4a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-crop-strong.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-crop-strong.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-crop.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-crop.svg index 735b51a6..c25aa530 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-crop.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-crop.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-download-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-download-outline.svg index 7ca9a121..172543b8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-download-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-download-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-download.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-download.svg index 0ffdb50a..4a70a74d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-download.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-download.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-drag.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-drag.svg index 1cd687a8..e66b45a7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-drag.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-drag.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-email-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-email-outline.svg index 1f3dcfdc..c666d944 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-email-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-email-outline.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-email.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-email.svg index 049197b2..ba821ccf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-email.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-email.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-eye-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-eye-outline.svg index 1bb77f68..2ee9397f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-eye-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-eye-outline.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-eye.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-eye.svg index e3267565..a7e47b73 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-eye.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-eye.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-fastforward-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-fastforward-outline.svg index dff7d376..b09e66d0 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-fastforward-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-fastforward-outline.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-fastforward.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-fastforward.svg index ddbdc86f..abb255ae 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-fastforward.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-fastforward.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-filing-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-filing-outline.svg index 31d8329c..20e9daf9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-filing-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-filing-outline.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-filing.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-filing.svg index 8857ecbd..f893c96d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-filing.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-filing.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-film-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-film-outline.svg index 2d257378..cc7b7238 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-film-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-film-outline.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-film.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-film.svg index 081f1d2c..a1f3d40b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-film.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-film.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flag-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flag-outline.svg index 2ecb7d2f..b0a68a5a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flag-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flag-outline.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flag.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flag.svg index 8ed7781e..ac6fdcfe 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flag.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flag.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flame-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flame-outline.svg index f774dbc5..0c3b55b6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flame-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flame-outline.svg @@ -1,14 +1,14 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flame.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flame.svg index 4004d5ba..06053d45 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flame.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flame.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flask-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flask-outline.svg index 1b3faa07..81dddc04 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flask-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flask-outline.svg @@ -1,19 +1,19 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flask.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flask.svg index 1a5e04ff..23774d02 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flask.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flask.svg @@ -1,17 +1,17 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flower-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flower-outline.svg index 83f58dd0..3486711a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flower-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flower-outline.svg @@ -1,75 +1,75 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flower.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flower.svg index 38029b5b..c08f9eed 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flower.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-flower.svg @@ -1,38 +1,38 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-folder-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-folder-outline.svg index c337acbe..0198388f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-folder-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-folder-outline.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-folder.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-folder.svg index bd31bf59..8b7073e4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-folder.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-folder.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-football-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-football-outline.svg index 23844844..ac0e6a8a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-football-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-football-outline.svg @@ -1,20 +1,20 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-football.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-football.svg index 34151ac0..d8eea2e8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-football.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-football.svg @@ -1,14 +1,14 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-a-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-a-outline.svg index 9721587c..56ded0b8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-a-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-a-outline.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-a.svg index db7240be..211202e6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-a.svg @@ -1,19 +1,19 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-b-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-b-outline.svg index e462f00c..8b826517 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-b-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-b-outline.svg @@ -1,35 +1,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-b.svg index 97fdcaee..da93d14a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-game-controller-b.svg @@ -1,23 +1,23 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-gear-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-gear-outline.svg index e5473bc4..997bb7f9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-gear-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-gear-outline.svg @@ -1,40 +1,40 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-gear.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-gear.svg index 857d91ed..78ba9f00 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-gear.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-gear.svg @@ -1,17 +1,17 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-glasses-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-glasses-outline.svg index e492b987..9c2b042f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-glasses-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-glasses-outline.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-glasses.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-glasses.svg index 0bf51ee9..85ad3d25 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-glasses.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-glasses.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-grid-view-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-grid-view-outline.svg index 86f4b545..1b4e0251 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-grid-view-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-grid-view-outline.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-grid-view.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-grid-view.svg index e384d4b1..a7bac3f1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-grid-view.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-grid-view.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-heart-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-heart-outline.svg index 227163dd..4f4945f2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-heart-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-heart-outline.svg @@ -1,15 +1,15 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-heart.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-heart.svg index 73b087ae..bf26efc4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-heart.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-heart.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help-empty.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help-empty.svg index a1ec8ddd..0299cdb6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help-empty.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help-empty.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help-outline.svg index 63574389..c9a5c886 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help-outline.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help.svg index acc21edf..cbb461cb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-help.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-home-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-home-outline.svg index fdb70719..15f770e6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-home-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-home-outline.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-home.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-home.svg index 5fb5efbf..e182df09 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-home.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-home.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-infinite-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-infinite-outline.svg index fac58bbb..b7f6d131 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-infinite-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-infinite-outline.svg @@ -1,17 +1,17 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-infinite.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-infinite.svg index aae8d1d3..dac1a6f6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-infinite.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-infinite.svg @@ -1,16 +1,16 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information-empty.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information-empty.svg index 387abc47..beef0092 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information-empty.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information-empty.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information-outline.svg index b16b6c44..542e185e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information-outline.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information.svg index 2ef04fc8..a146265a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-information.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-ionic-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-ionic-outline.svg index 694a603c..86f6e582 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-ionic-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-ionic-outline.svg @@ -1,18 +1,18 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-keypad-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-keypad-outline.svg index d6556355..da662ee1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-keypad-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-keypad-outline.svg @@ -1,28 +1,28 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-keypad.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-keypad.svg index 9eae5d1b..c5985ae3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-keypad.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-keypad.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-lightbulb-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-lightbulb-outline.svg index 8390f3ef..6fb8fe80 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-lightbulb-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-lightbulb-outline.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-lightbulb.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-lightbulb.svg index b6580713..bc432bb3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-lightbulb.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-lightbulb.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-list-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-list-outline.svg index 38049cc9..3d3693bd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-list-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-list-outline.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-list.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-list.svg index ba40a539..59e7fcb9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-list.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-list.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-location-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-location-outline.svg index 98751071..5b0632f9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-location-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-location-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-location.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-location.svg index d15131c7..df8a18ec 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-location.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-location.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-locked-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-locked-outline.svg index 8c951256..c0c28529 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-locked-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-locked-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-locked.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-locked.svg index 621572fd..015762fe 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-locked.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-locked.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-loop-strong.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-loop-strong.svg index 9edcdfaa..3087f4a6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-loop-strong.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-loop-strong.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-loop.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-loop.svg index 18efda65..666c8080 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-loop.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-loop.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medical-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medical-outline.svg index 831a19da..28804e34 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medical-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medical-outline.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medical.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medical.svg index f713d868..4ad44162 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medical.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medical.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medkit-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medkit-outline.svg index 40c58517..4ad7c006 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medkit-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medkit-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medkit.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medkit.svg index 4eb5d94e..01be4f08 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medkit.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-medkit.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic-off.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic-off.svg index da69e6c3..c5c67af8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic-off.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic-off.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic-outline.svg index 829d61b9..a68513ac 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic-outline.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic.svg index cf73a7b8..ca9734cb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-mic.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus-empty.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus-empty.svg index 7c294f8f..79abef61 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus-empty.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus-empty.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus-outline.svg index 668b4045..1e00d547 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus-outline.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus.svg index 077900dc..bf772fda 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-minus.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-monitor-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-monitor-outline.svg index 386e94f4..9412b5f6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-monitor-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-monitor-outline.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-monitor.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-monitor.svg index 9bd65ed2..3d20ea3d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-monitor.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-monitor.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-moon-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-moon-outline.svg index 5b8e1de2..20563b0f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-moon-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-moon-outline.svg @@ -1,15 +1,15 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-moon.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-moon.svg index 059f2b9a..887cbca7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-moon.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-moon.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-more-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-more-outline.svg index 010cd1ad..c20ca135 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-more-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-more-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-more.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-more.svg index 9768cd87..f9852ebf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-more.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-more.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-musical-note.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-musical-note.svg index 2ee22164..43b7385a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-musical-note.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-musical-note.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-musical-notes.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-musical-notes.svg index 0fe310c5..da83264c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-musical-notes.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-musical-notes.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-navigate-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-navigate-outline.svg index 74e4180b..07179b08 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-navigate-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-navigate-outline.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-navigate.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-navigate.svg index 2a265c9e..40f24572 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-navigate.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-navigate.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-nutrition-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-nutrition-outline.svg index b8d04ea4..e0654332 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-nutrition-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-nutrition-outline.svg @@ -1,29 +1,29 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-nutrition.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-nutrition.svg index 375b45e5..4dc1f7c5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-nutrition.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-nutrition.svg @@ -1,17 +1,17 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paper-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paper-outline.svg index 7704053f..ca798b03 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paper-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paper-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paper.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paper.svg index 5c0f3bfb..b2ff0c1b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paper.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paper.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paperplane-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paperplane-outline.svg index ceb46f16..9b43e0f9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paperplane-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paperplane-outline.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paperplane.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paperplane.svg index 6b74591d..979f6790 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paperplane.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paperplane.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-partlysunny-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-partlysunny-outline.svg index f5010f9d..a40a7431 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-partlysunny-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-partlysunny-outline.svg @@ -1,33 +1,33 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-partlysunny.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-partlysunny.svg index 1f20c73f..39e63f30 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-partlysunny.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-partlysunny.svg @@ -1,28 +1,28 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pause-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pause-outline.svg index c1907cf6..6dbf0c2b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pause-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pause-outline.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pause.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pause.svg index acf5ee2b..9b6cfc66 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pause.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pause.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paw-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paw-outline.svg index 78d693c1..5b65f8e5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paw-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paw-outline.svg @@ -1,43 +1,43 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paw.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paw.svg index c83a883e..d054bbca 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paw.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-paw.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-people-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-people-outline.svg index df702908..063f877c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-people-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-people-outline.svg @@ -1,44 +1,44 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-people.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-people.svg index d478f537..08900678 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-people.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-people.svg @@ -1,29 +1,29 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-person-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-person-outline.svg index 23a0bc19..cf016c21 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-person-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-person-outline.svg @@ -1,22 +1,22 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-person.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-person.svg index d9b5d999..ec206050 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-person.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-person.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-personadd-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-personadd-outline.svg index acd809d8..3e35e681 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-personadd-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-personadd-outline.svg @@ -1,25 +1,25 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-personadd.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-personadd.svg index 1ecf3429..5b77dc10 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-personadd.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-personadd.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-photos-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-photos-outline.svg index df323c13..fa4ad73f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-photos-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-photos-outline.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-photos.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-photos.svg index 9a3b09e9..e22ed2c8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-photos.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-photos.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pie-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pie-outline.svg index 6c79a5d9..8af22ce8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pie-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pie-outline.svg @@ -1,16 +1,16 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pie.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pie.svg index 13e2e345..7e3f1eec 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pie.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pie.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pint-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pint-outline.svg index 63753e05..c170ac4e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pint-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pint-outline.svg @@ -1,17 +1,17 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pint.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pint.svg index 0f6f784e..21e5e612 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pint.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pint.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-play-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-play-outline.svg index 8e95177e..de40b5dd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-play-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-play-outline.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-play.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-play.svg index 48366336..4d91c6e3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-play.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-play.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus-empty.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus-empty.svg index 4fdb3bf4..d999feda 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus-empty.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus-empty.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus-outline.svg index 3979af47..d5a2840f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus-outline.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus.svg index 73f7272c..27dbdef2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-plus.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetag-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetag-outline.svg index 59e41e33..4b83cc9e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetag-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetag-outline.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetag.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetag.svg index 577a9c70..922c92b3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetag.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetag.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetags-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetags-outline.svg index ea8650c2..60d5b75d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetags-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetags-outline.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetags.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetags.svg index 67f45a46..4fefdf86 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetags.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pricetags.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-printer-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-printer-outline.svg index a0530d7a..ac041088 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-printer-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-printer-outline.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-printer.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-printer.svg index 70b36892..be6ad1c6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-printer.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-printer.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pulse-strong.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pulse-strong.svg index c1542904..6867fafe 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pulse-strong.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pulse-strong.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pulse.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pulse.svg index f347850a..9a8fef3a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pulse.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-pulse.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rainy-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rainy-outline.svg index 815f6aa7..ef4dc371 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rainy-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rainy-outline.svg @@ -1,20 +1,20 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rainy.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rainy.svg index 143caf0e..d0fa23c8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rainy.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rainy.svg @@ -1,17 +1,17 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-recording-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-recording-outline.svg index 20995a38..75b8cbbb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-recording-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-recording-outline.svg @@ -1,15 +1,15 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-recording.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-recording.svg index 97ecfed7..55fc0934 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-recording.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-recording.svg @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-redo-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-redo-outline.svg index 02a6d2cc..479a8cde 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-redo-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-redo-outline.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-redo.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-redo.svg index abd3c15a..059be571 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-redo.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-redo.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh-empty.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh-empty.svg index bf6b8410..6d0551dc 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh-empty.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh-empty.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh-outline.svg index c2048a17..32617c95 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh-outline.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh.svg index 95bc848a..072f614b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-refresh.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reload.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reload.svg index c730d6db..4f391c3c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reload.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reload.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reverse-camera-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reverse-camera-outline.svg index 49dd4b14..46165255 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reverse-camera-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reverse-camera-outline.svg @@ -1,20 +1,20 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reverse-camera.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reverse-camera.svg index 4acec0a6..91868df8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reverse-camera.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-reverse-camera.svg @@ -1,15 +1,15 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rewind-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rewind-outline.svg index 2b722c86..b68ee0c7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rewind-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rewind-outline.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rewind.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rewind.svg index 808e3a4e..c10e0a8b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rewind.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rewind.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rose-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rose-outline.svg index 30e04110..34513616 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rose-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rose-outline.svg @@ -1,29 +1,29 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rose.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rose.svg index 7bf76c5f..e5c6bdd6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rose.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-rose.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-search-strong.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-search-strong.svg index 6960eb1a..dff40d6a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-search-strong.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-search-strong.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-search.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-search.svg index ff477918..c49fcc95 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-search.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-search.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-settings-strong.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-settings-strong.svg index cb15e18b..65edc04d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-settings-strong.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-settings-strong.svg @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-settings.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-settings.svg index bb60a997..9722d507 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-settings.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-settings.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-shuffle-strong.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-shuffle-strong.svg index 006b090d..268de5fd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-shuffle-strong.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-shuffle-strong.svg @@ -1,18 +1,18 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-shuffle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-shuffle.svg index 84bdbcbc..4123e470 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-shuffle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-shuffle.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipbackward-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipbackward-outline.svg index 2bbaa94a..244e96d2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipbackward-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipbackward-outline.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipbackward.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipbackward.svg index 6f8dc87f..058275be 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipbackward.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipbackward.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipforward-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipforward-outline.svg index 1c9e1f5b..f23b52c0 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipforward-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipforward-outline.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipforward.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipforward.svg index 139a170b..fa8fb9e9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipforward.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-skipforward.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-snowy.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-snowy.svg index 2dd8a843..776a4697 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-snowy.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-snowy.svg @@ -1,26 +1,26 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-speedometer-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-speedometer-outline.svg index 28949166..1fa43aa5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-speedometer-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-speedometer-outline.svg @@ -1,24 +1,24 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-speedometer.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-speedometer.svg index 4117c002..0fbe8ce1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-speedometer.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-speedometer.svg @@ -1,28 +1,28 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star-half.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star-half.svg index 183b2f55..d1e3625e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star-half.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star-half.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star-outline.svg index 868de184..380a7dcc 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star-outline.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star.svg index 74f7f026..24a508fa 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-star.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-stopwatch-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-stopwatch-outline.svg index 66cf46da..a7ab8b2e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-stopwatch-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-stopwatch-outline.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-stopwatch.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-stopwatch.svg index ff2e680a..643430cc 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-stopwatch.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-stopwatch.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-sunny-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-sunny-outline.svg index 3beb31f4..f9dd08c4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-sunny-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-sunny-outline.svg @@ -1,27 +1,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-sunny.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-sunny.svg index 5793306e..fa6f4737 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-sunny.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-sunny.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-telephone-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-telephone-outline.svg index d34da021..9870b4d4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-telephone-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-telephone-outline.svg @@ -1,17 +1,17 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-telephone.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-telephone.svg index 794e51a7..ff1beb60 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-telephone.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-telephone.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-tennisball-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-tennisball-outline.svg index aa743654..50f6daff 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-tennisball-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-tennisball-outline.svg @@ -1,19 +1,19 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-tennisball.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-tennisball.svg index 1939c456..df930021 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-tennisball.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-tennisball.svg @@ -1,25 +1,25 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-thunderstorm-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-thunderstorm-outline.svg index f49c64ea..dbba1d4c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-thunderstorm-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-thunderstorm-outline.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-thunderstorm.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-thunderstorm.svg index 73afbf0e..88ece357 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-thunderstorm.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-thunderstorm.svg @@ -1,17 +1,17 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-time-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-time-outline.svg index 9276bc63..236a4906 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-time-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-time-outline.svg @@ -1,36 +1,36 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-time.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-time.svg index 0d0bc47b..adb31f59 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-time.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-time.svg @@ -1,27 +1,27 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-timer-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-timer-outline.svg index d2d852c9..cf102018 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-timer-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-timer-outline.svg @@ -1,11 +1,11 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-timer.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-timer.svg index 10ebab9e..b7fd9fe5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-timer.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-timer.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-toggle-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-toggle-outline.svg index 2677364c..3e1a4cf9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-toggle-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-toggle-outline.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-toggle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-toggle.svg index f4374246..6390a17b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-toggle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-toggle.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-trash-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-trash-outline.svg index 2b362bbf..469cbe11 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-trash-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-trash-outline.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-trash.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-trash.svg index 1b645676..8956abdf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-trash.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-trash.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-undo-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-undo-outline.svg index 03c35e30..be76607e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-undo-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-undo-outline.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-undo.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-undo.svg index e1bd3f15..8409bbdd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-undo.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-undo.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-unlocked-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-unlocked-outline.svg index ed67ed4f..6a90f511 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-unlocked-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-unlocked-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-unlocked.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-unlocked.svg index e547e801..d0391ece 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-unlocked.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-unlocked.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-upload-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-upload-outline.svg index e836efa4..4931a123 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-upload-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-upload-outline.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-upload.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-upload.svg index 5352c0af..5de06a59 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-upload.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-upload.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-videocam-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-videocam-outline.svg index 11cc9bbe..37b01954 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-videocam-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-videocam-outline.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-videocam.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-videocam.svg index dbcbceec..8e06c828 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-videocam.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-videocam.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-volume-high.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-volume-high.svg index 7f62cac4..1acaae4e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-volume-high.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-volume-high.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-volume-low.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-volume-low.svg index 127e9766..06ca2171 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-volume-low.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-volume-low.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-wineglass-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-wineglass-outline.svg index c193875c..0809c634 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-wineglass-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-wineglass-outline.svg @@ -1,15 +1,15 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-wineglass.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-wineglass.svg index 4ac498d6..6010f98a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-wineglass.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-wineglass.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-world-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-world-outline.svg index a90af05c..2679e987 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-world-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-world-outline.svg @@ -1,22 +1,22 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-world.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-world.svg index 97d6a83c..e0db9444 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ios-world.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ios-world.svg @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ipad.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ipad.svg index b1263d90..5f5b473b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ipad.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ipad.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/iphone.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/iphone.svg index 31b50736..a67df0ab 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/iphone.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/iphone.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ipod.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ipod.svg index ad02aec3..63c62066 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ipod.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ipod.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/jet.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/jet.svg index c7238e20..0478b79a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/jet.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/jet.svg @@ -1,14 +1,14 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/key.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/key.svg index 3bc445dc..3803effe 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/key.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/key.svg @@ -1,14 +1,14 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/knife.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/knife.svg index c70faa3b..917b7d35 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/knife.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/knife.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/laptop.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/laptop.svg index 669df211..b14770eb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/laptop.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/laptop.svg @@ -1,10 +1,10 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/leaf.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/leaf.svg index da913165..2b2ca6e8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/leaf.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/leaf.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/levels.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/levels.svg index 34d7254f..fba561a9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/levels.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/levels.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/lightbulb.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/lightbulb.svg index 65d968b1..bfd57c15 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/lightbulb.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/lightbulb.svg @@ -1,21 +1,21 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/link.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/link.svg index 97465186..791b0d77 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/link.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/link.svg @@ -1,15 +1,15 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/load-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/load-a.svg index b41fdfc3..469054bd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/load-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/load-a.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/load-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/load-b.svg index b3254f65..f2839bc8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/load-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/load-b.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/load-c.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/load-c.svg index e8cf4ebc..36644cb1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/load-c.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/load-c.svg @@ -1,21 +1,21 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/load-d.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/load-d.svg index bdedb934..d50a5964 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/load-d.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/load-d.svg @@ -1,28 +1,28 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/location.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/location.svg index 60c274d2..1b95b73a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/location.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/location.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/lock-combination.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/lock-combination.svg index c06e0009..92f2db09 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/lock-combination.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/lock-combination.svg @@ -1,28 +1,28 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/locked.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/locked.svg index 4690abc8..beb41f19 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/locked.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/locked.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/log-in.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/log-in.svg index 580dfe25..84bb8e29 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/log-in.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/log-in.svg @@ -1,14 +1,14 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/log-out.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/log-out.svg index e8a3d06a..70065377 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/log-out.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/log-out.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/loop.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/loop.svg index 72ccc5f0..865781ed 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/loop.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/loop.svg @@ -1,14 +1,14 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/magnet.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/magnet.svg index 3696d318..15c01325 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/magnet.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/magnet.svg @@ -1,14 +1,14 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/male.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/male.svg index 941be49e..77a48ac9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/male.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/male.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/man.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/man.svg index b4a02cf7..e9ec1f57 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/man.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/man.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/map.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/map.svg index 40f3363a..834b3fd5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/map.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/map.svg @@ -1,30 +1,30 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/medkit.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/medkit.svg index 1e827a75..99da333b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/medkit.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/medkit.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/merge.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/merge.svg index d055d31b..080458c4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/merge.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/merge.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/mic-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/mic-a.svg index 32dbe94d..43d37aac 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/mic-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/mic-a.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/mic-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/mic-b.svg index c4a9e812..d47c9675 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/mic-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/mic-b.svg @@ -1,17 +1,17 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/mic-c.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/mic-c.svg index 42f1b046..5e5d0217 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/mic-c.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/mic-c.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/minus-circled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/minus-circled.svg index ccfc53fc..70ac083d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/minus-circled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/minus-circled.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/minus-round.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/minus-round.svg index 3364cd29..36127185 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/minus-round.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/minus-round.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/minus.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/minus.svg index 0ef5565b..43a684e9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/minus.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/minus.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/model-s.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/model-s.svg index 085b1347..8bfe5d2c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/model-s.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/model-s.svg @@ -1,33 +1,33 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/monitor.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/monitor.svg index acd51f7f..fb811fbc 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/monitor.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/monitor.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/more.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/more.svg index 55294f5d..66bdeef6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/more.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/more.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/mouse.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/mouse.svg index 31585834..60dc686d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/mouse.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/mouse.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/music-note.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/music-note.svg index 51a07b97..61f25489 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/music-note.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/music-note.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/navicon-round.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/navicon-round.svg index f3adc265..586a4105 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/navicon-round.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/navicon-round.svg @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/navicon.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/navicon.svg index 7323a62d..efd08182 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/navicon.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/navicon.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/navigate.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/navigate.svg index ad3338f1..3ee3a366 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/navigate.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/navigate.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/network.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/network.svg index c00db46e..6a738fd4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/network.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/network.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/no-smoking.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/no-smoking.svg index 3cd5697e..df1bebd1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/no-smoking.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/no-smoking.svg @@ -1,33 +1,33 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/nuclear.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/nuclear.svg index ef31f138..c39c2604 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/nuclear.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/nuclear.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/outlet.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/outlet.svg index 990f64d5..2a7a8414 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/outlet.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/outlet.svg @@ -1,16 +1,16 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/paintbrush.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/paintbrush.svg index 597f84ae..78305f8d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/paintbrush.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/paintbrush.svg @@ -1,18 +1,18 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/paintbucket.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/paintbucket.svg index 046eea6f..5776b54d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/paintbucket.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/paintbucket.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/paper-airplane.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/paper-airplane.svg index 47c1973f..fc5fb149 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/paper-airplane.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/paper-airplane.svg @@ -1,13 +1,13 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/paperclip.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/paperclip.svg index ee1bd36f..6c21efbf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/paperclip.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/paperclip.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/pause.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/pause.svg index dd8b47dd..360b7ce2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/pause.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/pause.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/person-add.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/person-add.svg index 2e1520ea..74a4b847 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/person-add.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/person-add.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/person-stalker.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/person-stalker.svg index c4606769..cc471733 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/person-stalker.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/person-stalker.svg @@ -1,18 +1,18 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/person.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/person.svg index aac76d4c..0b305ce6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/person.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/person.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/pie-graph.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/pie-graph.svg index 5054884e..f18ebd40 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/pie-graph.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/pie-graph.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/pin.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/pin.svg index 7bdc8775..f68b9f6c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/pin.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/pin.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/pinpoint.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/pinpoint.svg index d18b9bbd..0af315ec 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/pinpoint.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/pinpoint.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/pizza.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/pizza.svg index 4595a207..20bcfd9c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/pizza.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/pizza.svg @@ -1,20 +1,20 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/plane.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/plane.svg index 6f577479..b25c7aff 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/plane.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/plane.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/planet.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/planet.svg index 8a9dfad0..e4d21070 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/planet.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/planet.svg @@ -1,21 +1,21 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/play.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/play.svg index c7817bdd..2b53155f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/play.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/play.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/playstation.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/playstation.svg index f29f851f..ba3589dd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/playstation.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/playstation.svg @@ -1,27 +1,27 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/plus-circled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/plus-circled.svg index 4550c4b6..b797278e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/plus-circled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/plus-circled.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/plus-round.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/plus-round.svg index b2d86e50..465d9378 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/plus-round.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/plus-round.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/plus.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/plus.svg index c4b273c4..86bd5b44 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/plus.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/plus.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/podium.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/podium.svg index 482b3d75..acbb50d4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/podium.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/podium.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/pound.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/pound.svg index 14138467..51a77c6c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/pound.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/pound.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/power.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/power.svg index 636b2876..b6554fa9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/power.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/power.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/pricetag.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/pricetag.svg index 22335f43..21624e2a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/pricetag.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/pricetag.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/pricetags.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/pricetags.svg index e62d8c41..9294f0e8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/pricetags.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/pricetags.svg @@ -1,18 +1,18 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/printer.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/printer.svg index 4f270765..ff2f1c33 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/printer.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/printer.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/pull-request.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/pull-request.svg index c311934e..adaac1bf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/pull-request.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/pull-request.svg @@ -1,16 +1,16 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/qr-scanner.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/qr-scanner.svg index 82a6cd13..20044907 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/qr-scanner.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/qr-scanner.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/quote.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/quote.svg index 74b11a06..ca76d442 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/quote.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/quote.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/radio-waves.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/radio-waves.svg index aad96c68..36da5eb4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/radio-waves.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/radio-waves.svg @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/record.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/record.svg index 44b9b41f..c2b1fd20 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/record.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/record.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/refresh.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/refresh.svg index c3f07c66..1e2d80e1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/refresh.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/refresh.svg @@ -1,15 +1,15 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/reply-all.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/reply-all.svg index 17286eeb..9676b650 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/reply-all.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/reply-all.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/reply.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/reply.svg index 39e4e581..d08d5825 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/reply.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/reply.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ribbon-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ribbon-a.svg index 24d1e1b0..f09c5cfa 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ribbon-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ribbon-a.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/ribbon-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/ribbon-b.svg index 9e7a4b63..68c59ed2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/ribbon-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/ribbon-b.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/sad-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/sad-outline.svg index 86ae5761..a99eb5fa 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/sad-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/sad-outline.svg @@ -1,28 +1,28 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/sad.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/sad.svg index ca584516..68777a93 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/sad.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/sad.svg @@ -1,20 +1,20 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/scissors.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/scissors.svg index 264e7c2b..23d35bd5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/scissors.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/scissors.svg @@ -1,23 +1,23 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/search.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/search.svg index 92fd69d9..9c51b980 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/search.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/search.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/settings.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/settings.svg index 33485603..49c969a9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/settings.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/settings.svg @@ -1,18 +1,18 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/share.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/share.svg index f0e12669..0030b8a6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/share.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/share.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/shuffle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/shuffle.svg index 039ee28a..d09a5c58 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/shuffle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/shuffle.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/skip-backward.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/skip-backward.svg index 065d3443..e03ebe21 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/skip-backward.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/skip-backward.svg @@ -1,15 +1,15 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/skip-forward.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/skip-forward.svg index e563a047..fffbcbc3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/skip-forward.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/skip-forward.svg @@ -1,15 +1,15 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-android-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-android-outline.svg index 3cb896bc..6e2c8865 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-android-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-android-outline.svg @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-android.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-android.svg index 37681c0a..ef17a7e2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-android.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-android.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-angular-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-angular-outline.svg index 8124cc7b..13d46027 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-angular-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-angular-outline.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-angular.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-angular.svg index 9ed830a3..ad4a5921 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-angular.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-angular.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-apple-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-apple-outline.svg index aecaec8f..0c23602e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-apple-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-apple-outline.svg @@ -1,20 +1,20 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-apple.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-apple.svg index 68ab6482..deed8995 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-apple.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-apple.svg @@ -1,14 +1,14 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-bitcoin-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-bitcoin-outline.svg index f990a441..4176d8b0 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-bitcoin-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-bitcoin-outline.svg @@ -1,27 +1,27 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-bitcoin.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-bitcoin.svg index e31622f7..8ba64f79 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-bitcoin.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-bitcoin.svg @@ -1,14 +1,14 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-buffer-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-buffer-outline.svg index b6bef7d7..7a839643 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-buffer-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-buffer-outline.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-buffer.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-buffer.svg index 595b1410..df7a94a5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-buffer.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-buffer.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-chrome-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-chrome-outline.svg index 161af4d1..2f619246 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-chrome-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-chrome-outline.svg @@ -1,17 +1,17 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-chrome.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-chrome.svg index 7ee33d6c..01f0dbdd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-chrome.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-chrome.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-codepen-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-codepen-outline.svg index a76d0235..ced3869c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-codepen-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-codepen-outline.svg @@ -1,26 +1,26 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-codepen.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-codepen.svg index 5f56bfbb..7ffae33b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-codepen.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-codepen.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-css3-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-css3-outline.svg index 37c25cf1..50c654c8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-css3-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-css3-outline.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-css3.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-css3.svg index df8a1d0a..e051c017 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-css3.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-css3.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-designernews-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-designernews-outline.svg index 82b63233..2953e15c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-designernews-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-designernews-outline.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-designernews.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-designernews.svg index a8edefc9..3a8948e1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-designernews.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-designernews.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-dribbble-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-dribbble-outline.svg index 92477c8c..4c1054ae 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-dribbble-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-dribbble-outline.svg @@ -1,15 +1,15 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-dribbble.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-dribbble.svg index 8cfe9742..745b20ae 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-dribbble.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-dribbble.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-dropbox-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-dropbox-outline.svg index 7f0f67bd..1e717eae 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-dropbox-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-dropbox-outline.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-dropbox.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-dropbox.svg index df15e205..3b4726b6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-dropbox.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-dropbox.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-euro-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-euro-outline.svg index 91fcf4a2..1644ff6a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-euro-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-euro-outline.svg @@ -1,19 +1,19 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-euro.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-euro.svg index 7609507d..bfdad00d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-euro.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-euro.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-facebook-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-facebook-outline.svg index d50fae4a..b493ee8d 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-facebook-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-facebook-outline.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-facebook.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-facebook.svg index ae3d5ed8..31e15aa3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-facebook.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-facebook.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-foursquare-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-foursquare-outline.svg index 43959e11..c742f9f3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-foursquare-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-foursquare-outline.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-foursquare.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-foursquare.svg index 840febfc..a56440ab 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-foursquare.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-foursquare.svg @@ -1,20 +1,20 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-freebsd-devil.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-freebsd-devil.svg index 4f7b5ed7..f2fcb56e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-freebsd-devil.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-freebsd-devil.svg @@ -1,22 +1,22 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-github-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-github-outline.svg index 4e0257a4..2f308960 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-github-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-github-outline.svg @@ -1,24 +1,24 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-github.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-github.svg index 34579ced..43526e4c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-github.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-github.svg @@ -1,14 +1,14 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-google-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-google-outline.svg index 4dfb1387..57aa78e8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-google-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-google-outline.svg @@ -1,19 +1,19 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-google.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-google.svg index 360427ee..23562c7e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-google.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-google.svg @@ -1,20 +1,20 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-googleplus-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-googleplus-outline.svg index 6757ede3..870fed4a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-googleplus-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-googleplus-outline.svg @@ -1,18 +1,18 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-googleplus.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-googleplus.svg index 8bfd88d1..cbaf8875 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-googleplus.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-googleplus.svg @@ -1,17 +1,17 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-hackernews-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-hackernews-outline.svg index 43083521..08052244 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-hackernews-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-hackernews-outline.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-hackernews.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-hackernews.svg index 48f9a28b..7059bdd9 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-hackernews.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-hackernews.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-html5-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-html5-outline.svg index 6d3cca4a..a4faacf6 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-html5-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-html5-outline.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-html5.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-html5.svg index 3cc836db..2e7fc7f7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-html5.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-html5.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-instagram-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-instagram-outline.svg index 231a34e0..1c124a95 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-instagram-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-instagram-outline.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-instagram.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-instagram.svg index 570d2ca2..3419cd9e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-instagram.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-instagram.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-javascript-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-javascript-outline.svg index df1bd87d..2695a8b3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-javascript-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-javascript-outline.svg @@ -1,27 +1,27 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-javascript.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-javascript.svg index 0a20e9ce..67f30217 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-javascript.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-javascript.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-linkedin-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-linkedin-outline.svg index 8c3dbc77..c8853702 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-linkedin-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-linkedin-outline.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-linkedin.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-linkedin.svg index 72cd8239..f75504ab 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-linkedin.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-linkedin.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-markdown.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-markdown.svg index fff5d364..9ed7cc1c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-markdown.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-markdown.svg @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-nodejs.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-nodejs.svg index 2829f03a..8daee962 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-nodejs.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-nodejs.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-octocat.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-octocat.svg index 57ac1631..06c71897 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-octocat.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-octocat.svg @@ -1,28 +1,28 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-pinterest-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-pinterest-outline.svg index e6d63055..076c9167 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-pinterest-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-pinterest-outline.svg @@ -1,14 +1,14 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-pinterest.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-pinterest.svg index 1f992aa6..a5f57810 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-pinterest.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-pinterest.svg @@ -1,15 +1,15 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-python.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-python.svg index ab523e4b..35fcdde7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-python.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-python.svg @@ -1,21 +1,21 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-reddit-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-reddit-outline.svg index 40553cc1..0287e773 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-reddit-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-reddit-outline.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-reddit.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-reddit.svg index e85c3ce1..bf4de114 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-reddit.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-reddit.svg @@ -1,18 +1,18 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-rss-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-rss-outline.svg index efca1cc8..c753e634 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-rss-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-rss-outline.svg @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-rss.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-rss.svg index 487aa707..29092675 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-rss.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-rss.svg @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-sass.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-sass.svg index 08e1dfa8..73b3ed8f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-sass.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-sass.svg @@ -1,35 +1,35 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-skype-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-skype-outline.svg index 27e3015a..9288d9a7 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-skype-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-skype-outline.svg @@ -1,26 +1,26 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-skype.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-skype.svg index 810a7210..75037aa0 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-skype.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-skype.svg @@ -1,20 +1,20 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-snapchat-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-snapchat-outline.svg index 773d5d76..e8f8e70c 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-snapchat-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-snapchat-outline.svg @@ -1,42 +1,42 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-snapchat.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-snapchat.svg index 3cfb04fb..f9faf661 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-snapchat.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-snapchat.svg @@ -1,31 +1,31 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-tumblr-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-tumblr-outline.svg index 9f327c28..6e448b21 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-tumblr-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-tumblr-outline.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-tumblr.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-tumblr.svg index 3cd85083..8929dbbf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-tumblr.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-tumblr.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-tux.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-tux.svg index 2fb3e4e2..c1403bfa 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-tux.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-tux.svg @@ -1,53 +1,53 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitch-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitch-outline.svg index 9f85d6a2..ea531bd8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitch-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitch-outline.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitch.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitch.svg index b3cf6a74..dde41980 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitch.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitch.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitter-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitter-outline.svg index cb687a71..69780c49 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitter-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitter-outline.svg @@ -1,19 +1,19 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitter.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitter.svg index c9fb08a8..34296b66 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitter.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-twitter.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-usd-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-usd-outline.svg index 0bf1882a..5a7b6765 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-usd-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-usd-outline.svg @@ -1,44 +1,44 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-usd.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-usd.svg index 91ba62e1..3cfd81f1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-usd.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-usd.svg @@ -1,24 +1,24 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-vimeo-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-vimeo-outline.svg index 91cb5eda..2c3ffec4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-vimeo-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-vimeo-outline.svg @@ -1,23 +1,23 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-vimeo.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-vimeo.svg index ef74f0bb..fea0a0e8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-vimeo.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-vimeo.svg @@ -1,18 +1,18 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-whatsapp-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-whatsapp-outline.svg index 3792dec5..0fa6eca4 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-whatsapp-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-whatsapp-outline.svg @@ -1,25 +1,25 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-whatsapp.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-whatsapp.svg index 27b2ac50..e325727a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-whatsapp.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-whatsapp.svg @@ -1,18 +1,18 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-windows-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-windows-outline.svg index 9e10792f..0aaeb325 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-windows-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-windows-outline.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-windows.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-windows.svg index bf14576b..89f5b615 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-windows.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-windows.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-wordpress-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-wordpress-outline.svg index 1d6a91bb..43cde530 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-wordpress-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-wordpress-outline.svg @@ -1,16 +1,16 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-wordpress.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-wordpress.svg index ab77d7e7..e588befd 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-wordpress.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-wordpress.svg @@ -1,20 +1,20 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-yahoo-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-yahoo-outline.svg index 97ea51f8..7db26e8f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-yahoo-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-yahoo-outline.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-yahoo.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-yahoo.svg index ef498565..3bde6437 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-yahoo.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-yahoo.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-yen-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-yen-outline.svg index 1d087801..cf010c0f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-yen-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-yen-outline.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-yen.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-yen.svg index ac2b0294..79c184a1 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-yen.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-yen.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-youtube-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-youtube-outline.svg index d8833633..a42d767a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-youtube-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-youtube-outline.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/social-youtube.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/social-youtube.svg index 2347549f..2ae68e65 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/social-youtube.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/social-youtube.svg @@ -1,12 +1,12 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/soup-can-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/soup-can-outline.svg index b1bf3a96..4d5457ab 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/soup-can-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/soup-can-outline.svg @@ -1,28 +1,28 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/soup-can.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/soup-can.svg index 53e3c291..c4dacbc0 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/soup-can.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/soup-can.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/speakerphone.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/speakerphone.svg index b41b235c..6a13ad5e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/speakerphone.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/speakerphone.svg @@ -1,19 +1,19 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/speedometer.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/speedometer.svg index 977e00a2..edb6ba29 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/speedometer.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/speedometer.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/spoon.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/spoon.svg index 21e19ed8..d4b63e5f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/spoon.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/spoon.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/star.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/star.svg index b8285b7b..3c4b4037 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/star.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/star.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/stats-bars.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/stats-bars.svg index 59b2c544..ec2ed7a5 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/stats-bars.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/stats-bars.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/steam.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/steam.svg index b04c04f2..c8e41bf2 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/steam.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/steam.svg @@ -1,20 +1,20 @@ - - - - - - - + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/stop.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/stop.svg index 2f1ac061..7448c3ef 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/stop.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/stop.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/thermometer.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/thermometer.svg index 115493d3..06617b26 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/thermometer.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/thermometer.svg @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/thumbsdown.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/thumbsdown.svg index 2902b020..e66e1d13 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/thumbsdown.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/thumbsdown.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/thumbsup.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/thumbsup.svg index bf01b9bf..03fb41d3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/thumbsup.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/thumbsup.svg @@ -1,13 +1,13 @@ - - - - - - - - + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/toggle-filled.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/toggle-filled.svg index 6680dda0..7020287e 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/toggle-filled.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/toggle-filled.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/toggle.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/toggle.svg index b177aa94..c11cdff3 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/toggle.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/toggle.svg @@ -1,12 +1,12 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/transgender.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/transgender.svg index 5a43b009..dd9506bf 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/transgender.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/transgender.svg @@ -1,12 +1,12 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/trash-a.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/trash-a.svg index 1631e74d..ec2afc25 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/trash-a.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/trash-a.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/trash-b.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/trash-b.svg index f75e2f83..ff1ef8a8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/trash-b.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/trash-b.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/trophy.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/trophy.svg index b1600f40..9b0e7325 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/trophy.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/trophy.svg @@ -1,16 +1,16 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/tshirt-outline.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/tshirt-outline.svg index 2d2863f2..0bd74492 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/tshirt-outline.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/tshirt-outline.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/tshirt.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/tshirt.svg index 6a38c489..a9e12aba 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/tshirt.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/tshirt.svg @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/umbrella.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/umbrella.svg index df578e51..92509fd8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/umbrella.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/umbrella.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/university.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/university.svg index ca0a190f..2f312d01 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/university.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/university.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/unlocked.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/unlocked.svg index 51938827..4775747f 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/unlocked.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/unlocked.svg @@ -1,10 +1,10 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/upload.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/upload.svg index 12baaf39..50b9cc11 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/upload.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/upload.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/usb.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/usb.svg index b4318480..eeafac1a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/usb.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/usb.svg @@ -1,22 +1,22 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/videocamera.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/videocamera.svg index 3d2633e7..d1520e2a 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/videocamera.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/videocamera.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/volume-high.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/volume-high.svg index 07323442..909f1993 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/volume-high.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/volume-high.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/volume-low.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/volume-low.svg index c96ed47e..84309f55 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/volume-low.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/volume-low.svg @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/volume-medium.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/volume-medium.svg index 24388ea0..8c7c3348 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/volume-medium.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/volume-medium.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/volume-mute.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/volume-mute.svg index 317b0617..cf0b2562 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/volume-mute.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/volume-mute.svg @@ -1,14 +1,14 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/wand.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/wand.svg index e21ddb9a..18ffcbda 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/wand.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/wand.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/waterdrop.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/waterdrop.svg index be14c5eb..dde199fb 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/waterdrop.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/waterdrop.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/wifi.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/wifi.svg index 6f6bc923..0a7da777 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/wifi.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/wifi.svg @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/wineglass.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/wineglass.svg index 9148d207..c1019e8b 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/wineglass.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/wineglass.svg @@ -1,21 +1,21 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/woman.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/woman.svg index 0819b61d..51c5e2b8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/woman.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/woman.svg @@ -1,13 +1,13 @@ - - - - - - - - - + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/wrench.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/wrench.svg index 11458e24..4c2614ca 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/wrench.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/wrench.svg @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/front/lib/AdminLTE/bower_components/Ionicons/src/xbox.svg b/front/lib/AdminLTE/bower_components/Ionicons/src/xbox.svg index 41a4bd31..0c5f6cc8 100644 --- a/front/lib/AdminLTE/bower_components/Ionicons/src/xbox.svg +++ b/front/lib/AdminLTE/bower_components/Ionicons/src/xbox.svg @@ -1,21 +1,21 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.bower.json b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.bower.json index 90080c61..6867cfc4 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.bower.json +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.bower.json @@ -1,29 +1,12 @@ { "name": "bootstrap-colorpicker", - "main": [ - "dist/css/bootstrap-colorpicker.css", - "dist/js/bootstrap-colorpicker.js" - ], - "dependencies": { - "jquery": ">=1.10" - }, - "ignore": [ - "\\.*", - "/index.html", - "/package.json", - "/composer.json", - "/Gruntfile.js", - "/.travis.yml", - "/travis.sh", - "/server.js" - ], "homepage": "https://github.com/itsjavi/bootstrap-colorpicker", - "version": "2.5.2", - "_release": "2.5.2", + "version": "2.5.3", + "_release": "2.5.3", "_resolution": { "type": "version", - "tag": "2.5.2", - "commit": "d56d0d3d5bee59904d48bce3c47a0029741e10e6" + "tag": "2.5.3", + "commit": "525cd6a0aa26ae95803bbf34d231c4163136a314" }, "_source": "https://github.com/itsjavi/bootstrap-colorpicker.git", "_target": "^2.5.1", diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.editorconfig b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.editorconfig new file mode 100644 index 00000000..e567bc73 --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.editorconfig @@ -0,0 +1,11 @@ +# EditorConfig is awesome: http://EditorConfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/CODE_OF_CONDUCT.md b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..854460df --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,47 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team members through their social media sites or at _git @ itsjavi.com_. +The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/CONTRIBUTING.md b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/CONTRIBUTING.md new file mode 100644 index 00000000..6c8ee454 --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/CONTRIBUTING.md @@ -0,0 +1,42 @@ +# Contributing + +## Support + +The issue tracker is not the place for support requests. If you get stuck with bootstrap-colorpicker, it's very likely +that the fine folks at [StackOverflow](http://stackoverflow.com/) will be able to help you; simply describe the problem +you're having and provide them a link to the repo (so they know what code you're using). + + +## Issues +For feature requests, suggestions or ideas, add `[SUGGESTION]` before the title of the issue, for anything else follow +the following guidelines. + +### Steps to submit an issue +These steps are mandatory. Issues that are not clear or are not clearly reproduceable with a live example will be closed. + +- Reproduce your problem in a separated environment, like in JSFiddle, + [here is a template for it](http://jsfiddle.net/0vopxm13/157/), that you can fork in the same page. + It already includes the required JS and CSS files. +- Before posting your issue, consider adding this information: + * Expected behaviour: what should happen? + * Actual behaviour: what happens instead? + * Your context: Where it happens? In which browser and version (if applicable)? + * Plugin version (and/or commit reference). + * jQuery version you use and list of all other plugins/scripts you are using with this one and may cause some conflict. + * A link to your JSFiddle (or similar tool) demo where you reproduced the problem (if applicable). + +## Pull Requests + +Patches and new features are welcome! + +- Prerequisites: having `node`, `npm`, `yarn` and `grunt` installed in your machine. +- After a fresh clone for your fork, you need to run `yarn install` inside the project's root folder. +- For checking your changes in the browser you can execute `node serve` and navigate to http://localhost:5000/ +- Before any commit run always `grunt` inside the project's root folder, to update the dist files + (never modify them manually). +- Do not change the plugin coding style. +- Check that the index.html demos aren't broken (modify if necessary). +- Test your code at least in Chrome, Firefox and Edge. +- Any new feature should come with updated docs if applicable (a demonstration). +- Generate the `/dist` files executing `grunt` before your Pull Request. +- Push to your fork and submit the pull request. diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/ISSUE_TEMPLATE.md b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..b1512087 --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,51 @@ + + +### Brief description + +{Please write here a summary of the issue} + + +### Which software are you using? + +- bootstrap-colorpicker version: {Please write here} +- bootstrap version: {Please write here} +- jQuery version: {Please write here} +- Browser name and version: {Please write here} +- Operative System name an version: {Please write here} + +### What's the expected or desirable behavior? + +{Please write here in case of code-related issues or remove this section} + +### What's the actual current behavior? + +{Please write here in case of code-related issues or remove this section} + +### Are there some other related issues or PRs? + +{Please write here if applicable the issue numbers or remove this section} + +### Steps to reproduce + +{Please write here in case of code-related issues or remove this section} + + +*Live example*: {Please write here a link to your JsFiddle example} + +### Additional Comments (if any) + +{Please write here} diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/PULL_REQUEST_TEMPLATE.md b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..ac266f8c --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,38 @@ + + +### Is your PR fixing an issue or introduces a new feature? + +{Please write here} + +### In case of fix, how this PR fixes the problem? + +{Please write here only in case of fix PR or remove the section} + +{Please also mention the related issue numbers you are trying to close, if applicable} + +### In case of new feature, what are the benefits and use cases? + +{Please write here only in case of feature PR or remove the section} + +### Check list +Please mark with `x` inside the `[ ]` for anything that applies to this PR. + +- [ ] All tests passed in travis-ci +- [ ] Regenerated the `dist` files via `grunt` +- [ ] All documentation examples are still working after testing them via `node serve` +- [ ] Added an example in the documentation for the newly introduced feature +- [ ] Provided an example via JsFiddle in the description of this PR +- [ ] Tested at least with latest Chrome, Firefox and Mobile (iOS Safari and/or Chrome for Android) +- [ ] This PR also introduces coding style changes (indentation, etc), in a separated commit +- [ ] The commit history is understandable and grouped into the minimum number of commits possible +- [ ] I've followed all other [`CONTRIBUTING.md`](.github/CONTRIBUTING.md#pull-requests) guidelines for Pull Requests. + +### Additional Comments (if any) + +{Please write here} diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.jshintrc b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.jshintrc new file mode 100644 index 00000000..3ec463e6 --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.jshintrc @@ -0,0 +1,18 @@ +{ + "bitwise": false, + "browser": true, + "curly": true, + "eqeqeq": true, + "eqnull": true, + "esnext": true, + "immed": true, + "jquery": true, + "latedef": true, + "newcap": true, + "noarg": true, + "node": true, + "strict": false, + "trailing": true, + "undef": true, + "predef" : ["define"] +} diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.npmignore b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.npmignore new file mode 100644 index 00000000..7b0acd89 --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.npmignore @@ -0,0 +1,21 @@ +*~ +.DS_Store +.DS_Store* +ehthumbs.db +Thumbs.db +*.log +/node_modules/ +/bower_components/ +/nbproject/ +/gh-pages/ +/package-lock.json +Gruntfile.js +/build +/docs +/tests +/spec +.* +/src/docs +*.psd +*.ai +composer.json diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.travis.yml b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.travis.yml new file mode 100644 index 00000000..e1e9cb5f --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/.travis.yml @@ -0,0 +1,13 @@ +language: node_js +node_js: + - "6" + - "8" +before_script: + - npm install -g grunt-cli + - curl -o- -L https://yarnpkg.com/install.sh | bash + +script: + - yarn install + - grunt --verbose + # Check that files didn't change after running grunt. It should be run before pushing any code change. + - if ! git diff --name-only --quiet -- dist docs src index.html --; then echo \"Files where modified after grunt execution!!...\"; exit 1; fi diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/Gruntfile.js b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/Gruntfile.js new file mode 100644 index 00000000..c8e7f638 --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/Gruntfile.js @@ -0,0 +1,188 @@ +'use strict'; +module.exports = function (grunt) { + + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + less: { + dist: { + options: { + strictMath: true, + sourceMap: true, + outputSourceFiles: true, + sourceMapURL: '<%= pkg.name %>.css.map', + sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map' + }, + src: 'src/less/colorpicker.less', + dest: 'dist/css/<%= pkg.name %>.css' + } + }, + cssmin: { + options: { + compatibility: 'ie8', + keepSpecialComments: '*', + sourceMap: true, + advanced: false + }, + dist: { + src: 'dist/css/<%= pkg.name %>.css', + dest: 'dist/css/<%= pkg.name %>.min.css' + } + }, + jshint: { + options: { + jshintrc: '.jshintrc' + }, + files: [ + 'Gruntfile.js', + 'docs/docs.js', + 'dist/js/<%= pkg.name %>.js' + ] + }, + jsbeautifier: { + options: { + js: { + braceStyle: "collapse", + breakChainedMethods: false, + e4x: false, + evalCode: false, + indentChar: " ", + indentLevel: 0, + indentSize: 2, + indentWithTabs: false, + jslintHappy: false, + keepArrayIndentation: false, + keepFunctionIndentation: false, + maxPreserveNewlines: 2, + preserveNewlines: true, + spaceBeforeConditional: true, + spaceInParen: false, + unescapeStrings: false, + wrapLineLength: 0, + endWithNewline: true + } + }, + src: ['src/js/*.js', 'docs/docs.js'], + dist: ['dist/js/<%= pkg.name %>.js'] + }, + combine: { + js: { + input: 'src/js/colorpicker-plugin-wrapper.js', + output: 'dist/js/<%= pkg.name %>.js', + tokens: [{ + token: "//@version", + string: '<%= pkg.version %>' + }, { + token: "//@colorpicker-color", + file: 'src/js/colorpicker-color.js' + }, { + token: "//@colorpicker-defaults", + file: 'src/js/colorpicker-defaults.js' + }, { + token: "//@colorpicker-component", + file: 'src/js/colorpicker-component.js' + }] + }, + less: { + input: 'src/less/colorpicker.less', + output: 'src/less/colorpicker.less', + tokens: [{ + token: "//@version", + string: '<%= pkg.version %>' + }] + } + }, + strip_code: { + src: { + src: 'dist/js/*.js' + } + }, + uglify: { + options: { + banner: '/*!\n * Bootstrap Colorpicker v<%= pkg.version %>\n' + + ' * https://itsjavi.com/bootstrap-colorpicker/\n */\n' + }, + dist: { + files: { + 'dist/js/<%= pkg.name %>.min.js': [ + 'dist/js/<%= pkg.name %>.js' + ] + } + } + }, + watch: { + less: { + files: [ + 'src/less/*.less' + ], + tasks: ['combine:less', 'less', 'cssmin'] + }, + js: { + files: [ + 'src/js/*.js', + 'docs/docs.js' + ], + tasks: ['jsbeautifier:src', 'combine:js', 'jsbeautifier:dist', 'uglify', 'jshint'] + }, + handlebars: { + files: [ + 'docs/*.hbs', + 'docs/**/*.hbs', + 'docs/helpers/**/*.js' + ], + tasks: ['assemble'] + } + }, + assemble: { + options: { + assets: 'docs/assets', + helpers: ['docs/helpers/code'], + partials: ['docs/includes/**/*.hbs'], + layout: ['docs/layout.hbs'], + data: ['package.json'], + flatten: true + }, + site: { + src: ['docs/pages/*.hbs'], + dest: './' + } + }, + clean: { + dist: [ + 'dist/css/*', + 'dist/js/*', + 'index_new.html' + ] + } + }); + + // Load tasks + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-less'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks('grunt-jsbeautifier'); + grunt.loadNpmTasks('grunt-combine'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-assemble'); + grunt.loadNpmTasks('grunt-strip-code'); + + // Register tasks + grunt.registerTask('default', [ + 'clean', + 'combine:less', + 'less', + 'cssmin', + 'jsbeautifier:src', + 'combine:js', + 'jsbeautifier:dist', + 'strip_code', + 'uglify', + 'assemble', + 'jshint' + ]); + grunt.registerTask('dev', [ + 'watch' + ]); + +}; diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/README.md b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/README.md index f99163b3..27309ef2 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/README.md +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/README.md @@ -2,12 +2,12 @@ Simple and customizable colorpicker component for Twitter Bootstrap. -[![Build Status](https://api.travis-ci.org/farbelous/bootstrap-colorpicker.svg?branch=v2)](https://travis-ci.org/farbelous/bootstrap-colorpicker) +[![Build Status](https://api.travis-ci.org/farbelous/bootstrap-colorpicker.svg?branch=v2.x)](https://travis-ci.org/farbelous/bootstrap-colorpicker) ## Installation For downloading the source code, you have many choices: -- Downloading the [latest v2 source code ZIP file](https://github.com/farbelous/bootstrap-colorpicker/archive/v2.zip) +- Downloading the [latest v2.x source code ZIP file](https://github.com/farbelous/bootstrap-colorpicker/archive/v2.x.zip) - Cloning the source code: `git clone https://github.com/farbelous/bootstrap-colorpicker.git` - Installing via NPM: `npm install bootstrap-colorpicker` - Installing via Yarn: `yarn add bootstrap-colorpicker` @@ -18,7 +18,7 @@ For downloading the source code, you have many choices: - [Documentation and demos](https://farbelous.github.io/bootstrap-colorpicker/v2/) ## Contributing and reporting issues -If you want to contribute to the source code or report issues and suggestions, please read the [CONTRIBUTING.md](CONTRIBUTING.md) guidelines first. Some steps are mandatory in order to accept a Pull Request. +If you want to contribute to the source code or report issues and suggestions, please read the [CONTRIBUTING.md](.github/CONTRIBUTING.md) guidelines first. Some steps are mandatory in order to accept a Pull Request. ## Credits Originally written by [Stefan Petre](http://www.eyecon.ro/) diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/bower.json b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/bower.json deleted file mode 100644 index 9083897f..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/bower.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "bootstrap-colorpicker", - "main": [ - "dist/css/bootstrap-colorpicker.css", - "dist/js/bootstrap-colorpicker.js" - ], - "dependencies": { - "jquery": ">=1.10" - }, - "ignore": [ - "\\.*", - "/index.html", - "/package.json", - "/composer.json", - "/Gruntfile.js", - "/.travis.yml", - "/travis.sh", - "/server.js" - ] -} diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/composer.json b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/composer.json new file mode 100644 index 00000000..f783b569 --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/composer.json @@ -0,0 +1,15 @@ +{ + "name": "itsjavi/bootstrap-colorpicker", + "description": "Fancy and customizable colorpicker plugin for Twitter Bootstrap", + "license": "Apache License Version 2.0", + "authors": [ + { + "name": "Javier Aguilar", + "homepage": "https://itsjavi.com" + } + ], + "minimum-stability": "dev", + "require": { + "components/jquery" : ">=1.10" + } +} diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js index 0fa68ba3..ac22ed52 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js @@ -861,7 +861,7 @@ 'keyup.colorpicker': $.proxy(this.keyup, this) }); this.input.on({ - 'change.colorpicker': $.proxy(this.change, this) + 'input.colorpicker': $.proxy(this.change, this) }); if (this.component === false) { this.element.on({ @@ -1248,7 +1248,24 @@ return false; }, change: function(e) { - this.keyup(e); + this.color = this.createColor(this.input.val()); + // Change format dynamically + // Only occurs if user choose the dynamic format by + // setting option format to false + if (this.color.origFormat && this.options.format === false) { + this.format = this.color.origFormat; + } + if (this.getValue(false) !== false) { + this.updateData(); + this.updateComponent(); + this.updatePicker(); + } + + this.element.trigger({ + type: 'changeColor', + color: this.color, + value: this.input.val() + }); }, keyup: function(e) { if ((e.keyCode === 38)) { @@ -1261,20 +1278,8 @@ this.color.value.a = Math.round((this.color.value.a - 0.01) * 100) / 100; } this.update(true); - } else { - this.color = this.createColor(this.input.val()); - // Change format dynamically - // Only occurs if user choose the dynamic format by - // setting option format to false - if (this.color.origFormat && this.options.format === false) { - this.format = this.color.origFormat; - } - if (this.getValue(false) !== false) { - this.updateData(); - this.updateComponent(); - this.updatePicker(); - } } + this.element.trigger({ type: 'changeColor', color: this.color, diff --git a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js index 7ff757b0..2d6217cf 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js @@ -2,4 +2,4 @@ * Bootstrap Colorpicker v2.5.2 * https://itsjavi.com/bootstrap-colorpicker/ */ -!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):jQuery&&!jQuery.fn.colorpicker&&b(jQuery)}(this,function(a){"use strict";var b=function(c,d,e,f,g){this.fallbackValue=e?"string"==typeof e?this.parse(e):e:null,this.fallbackFormat=f?f:"rgba",this.hexNumberSignPrefix=g===!0,this.value=this.fallbackValue,this.origFormat=null,this.predefinedColors=d?d:{},this.colors=a.extend({},b.webColors,this.predefinedColors),c&&("undefined"!=typeof c.h?this.value=c:this.setColor(String(c))),this.value||(this.value={h:0,s:0,b:0,a:1})};b.webColors={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32",transparent:"transparent"},b.prototype={constructor:b,colors:{},predefinedColors:{},getValue:function(){return this.value},setValue:function(a){this.value=a},_sanitizeNumber:function(a){return"number"==typeof a?a:isNaN(a)||null===a||""===a||void 0===a?1:""===a?0:"undefined"!=typeof a.toLowerCase?(a.match(/^\./)&&(a="0"+a),Math.ceil(100*parseFloat(a))/100):1},isTransparent:function(a){return!(!a||!("string"==typeof a||a instanceof String))&&(a=a.toLowerCase().trim(),"transparent"===a||a.match(/#?00000000/)||a.match(/(rgba|hsla)\(0,0,0,0?\.?0\)/))},rgbaIsTransparent:function(a){return 0===a.r&&0===a.g&&0===a.b&&0===a.a},setColor:function(a){if(a=a.toLowerCase().trim()){if(this.isTransparent(a))return this.value={h:0,s:0,b:0,a:0},!0;var b=this.parse(a);b?(this.value=this.value={h:b.h,s:b.s,b:b.b,a:b.a},this.origFormat||(this.origFormat=b.format)):this.fallbackValue&&(this.value=this.fallbackValue)}return!1},setHue:function(a){this.value.h=1-a},setSaturation:function(a){this.value.s=a},setBrightness:function(a){this.value.b=1-a},setAlpha:function(a){this.value.a=Math.round(parseInt(100*(1-a),10)/100*100)/100},toRGB:function(a,b,c,d){0===arguments.length&&(a=this.value.h,b=this.value.s,c=this.value.b,d=this.value.a),a*=360;var e,f,g,h,i;return a=a%360/60,i=c*b,h=i*(1-Math.abs(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],{r:Math.round(255*e),g:Math.round(255*f),b:Math.round(255*g),a:d}},toHex:function(a,b,c,d,e){arguments.length<=1&&(b=this.value.h,c=this.value.s,d=this.value.b,e=this.value.a);var f="#",g=this.toRGB(b,c,d,e);if(this.rgbaIsTransparent(g))return"transparent";a||(f=this.hexNumberSignPrefix?"#":"");var h=f+((1<<24)+(parseInt(g.r)<<16)+(parseInt(g.g)<<8)+parseInt(g.b)).toString(16).slice(1);return h},toHSL:function(a,b,c,d){0===arguments.length&&(a=this.value.h,b=this.value.s,c=this.value.b,d=this.value.a);var e=a,f=(2-b)*c,g=b*c;return g/=f>0&&f<=1?f:2-f,f/=2,g>1&&(g=1),{h:isNaN(e)?0:e,s:isNaN(g)?0:g,l:isNaN(f)?0:f,a:isNaN(d)?0:d}},toAlias:function(a,b,c,d){var e,f=0===arguments.length?this.toHex(!0):this.toHex(!0,a,b,c,d),g="alias"===this.origFormat?f:this.toString(!1,this.origFormat);for(var h in this.colors)if(e=this.colors[h].toLowerCase().trim(),e===f||e===g)return h;return!1},RGBtoHSB:function(a,b,c,d){a/=255,b/=255,c/=255;var e,f,g,h;return g=Math.max(a,b,c),h=g-Math.min(a,b,c),e=0===h?null:g===a?(b-c)/h:g===b?(c-a)/h+2:(a-b)/h+4,e=(e+360)%6*60/360,f=0===h?0:h/g,{h:this._sanitizeNumber(e),s:f,b:g,a:this._sanitizeNumber(d)}},HueToRGB:function(a,b,c){return c<0?c+=1:c>1&&(c-=1),6*c<1?a+(b-a)*c*6:2*c<1?b:3*c<2?a+(b-a)*(2/3-c)*6:a},HSLtoRGB:function(a,b,c,d){b<0&&(b=0);var e;e=c<=.5?c*(1+b):c+b-c*b;var f=2*c-e,g=a+1/3,h=a,i=a-1/3,j=Math.round(255*this.HueToRGB(f,e,g)),k=Math.round(255*this.HueToRGB(f,e,h)),l=Math.round(255*this.HueToRGB(f,e,i));return[j,k,l,this._sanitizeNumber(d)]},parse:function(b){if("string"!=typeof b)return this.fallbackValue;if(0===arguments.length)return!1;var c,d,e=this,f=!1,g="undefined"!=typeof this.colors[b];return g&&(b=this.colors[b].toLowerCase().trim()),a.each(this.stringParsers,function(a,h){var i=h.re.exec(b);return c=i&&h.parse.apply(e,[i]),!c||(f={},d=g?"alias":h.format?h.format:e.getValidFallbackFormat(),f=d.match(/hsla?/)?e.RGBtoHSB.apply(e,e.HSLtoRGB.apply(e,c)):e.RGBtoHSB.apply(e,c),f instanceof Object&&(f.format=d),!1)}),f},getValidFallbackFormat:function(){var a=["rgba","rgb","hex","hsla","hsl"];return this.origFormat&&a.indexOf(this.origFormat)!==-1?this.origFormat:this.fallbackFormat&&a.indexOf(this.fallbackFormat)!==-1?this.fallbackFormat:"rgba"},toString:function(a,c,d){c=c||this.origFormat||this.fallbackFormat,d=d||!1;var e=!1;switch(c){case"rgb":return e=this.toRGB(),this.rgbaIsTransparent(e)?"transparent":"rgb("+e.r+","+e.g+","+e.b+")";case"rgba":return e=this.toRGB(),"rgba("+e.r+","+e.g+","+e.b+","+e.a+")";case"hsl":return e=this.toHSL(),"hsl("+Math.round(360*e.h)+","+Math.round(100*e.s)+"%,"+Math.round(100*e.l)+"%)";case"hsla":return e=this.toHSL(),"hsla("+Math.round(360*e.h)+","+Math.round(100*e.s)+"%,"+Math.round(100*e.l)+"%,"+e.a+")";case"hex":return this.toHex(a);case"alias":return e=this.toAlias(),e===!1?this.toString(a,this.getValidFallbackFormat()):d&&!(e in b.webColors)&&e in this.predefinedColors?this.predefinedColors[e]:e;default:return e}},stringParsers:[{re:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/,format:"rgb",parse:function(a){return[a[1],a[2],a[3],1]}},{re:/rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"rgb",parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],1]}},{re:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"hsl",parse:function(a){return[a[1]/360,a[2]/100,a[3]/100,a[4]]}},{re:/hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"hsla",parse:function(a){return[a[1]/360,a[2]/100,a[3]/100,a[4]]}},{re:/#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,format:"hex",parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16),1]}},{re:/#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,format:"hex",parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16),1]}}],colorNameToHex:function(a){return"undefined"!=typeof this.colors[a.toLowerCase()]&&this.colors[a.toLowerCase()]}};var c={horizontal:!1,inline:!1,color:!1,format:!1,input:"input",container:!1,component:".add-on, .input-group-addon",fallbackColor:!1,fallbackFormat:"hex",hexNumberSignPrefix:!0,sliders:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setHue"},alpha:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setAlpha"}},slidersHorz:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:100,maxTop:0,callLeft:"setHue",callTop:!1},alpha:{maxLeft:100,maxTop:0,callLeft:"setAlpha",callTop:!1}},template:'
 
'+A+"'+B+"
'+o.templates.leftArrow+''+o.templates.rightArrow+"
'+r.headTemplate+""+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+"
",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.8.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;return a(c).length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(",")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate instanceof Date||"string"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_applyEvents:function(a){for(var c,d,e,f=0;fe?(this.picker.addClass("datepicker-orient-right"),m+=l-b):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left");var o,p=this.o.orientation.y;if("auto"===p&&(o=-f+n-c,p=o<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+p),"top"===p?n-=c+parseInt(this.picker.css("padding-top")):n+=k,this.o.rtl){var q=e-(m+l);this.picker.css({top:n,right:q,zIndex:i})}else this.picker.css({top:n,left:m,zIndex:i});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&b.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c="";for(this.o.calendarWeeks&&(c+=' ');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||"",o=q[this.o.language].clear||q.en.clear||"",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||"linked"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g,p,this.o.language)),this.picker.find("tfoot .today").text(n).css("display",t?"table-cell":"none"),this.picker.find("tfoot .clear").text(o).css("display",!0===this.o.clearBtn?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push(''+D+"")}y=this.getClassNames(u),y.push("day");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push("disabled"),f.classes&&(y=y.concat(f.classes.split(/\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push(''+E+""),e=null,x===this.o.weekEnd&&z.push(""),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(z.join(""));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",G=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?F:h).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass("active")}),(hl)&&G.addClass("disabled"),h===j&&G.slice(0,k).addClass("disabled"),h===l&&G.slice(m+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"))&&this._trigger("changeYear",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"))&&this._trigger("changeMonth",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+"",contTemplate:'',footTemplate:''};r.template='
'+r.headTemplate+""+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+"
",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.9.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.az.min.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.az.min.js index 56bedf84..aa1edbf4 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.az.min.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.az.min.js @@ -1 +1 @@ -!function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1}}(jQuery); \ No newline at end of file +!function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1,clear:"Təmizlə",monthsTitle:"Aylar"}}(jQuery); \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.bm.min.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.bm.min.js new file mode 100644 index 00000000..e0796a3b --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.bm.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bm={days:["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],daysShort:["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],daysMin:["Ka","Nt","Ta","Ar","Al","Ju","Si"],months:["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],monthsShort:["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],today:"Bi",monthsTitle:"Kalo",clear:"Ka jɔsi",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.no.min.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.no.min.js index 03970b43..0c5136e4 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.no.min.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.no.min.js @@ -1 +1 @@ -!function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","vovember","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file +!function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sq.min.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sq.min.js index 40f3e1f5..8c586055 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sq.min.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sq.min.js @@ -1 +1 @@ -!function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],today:"Sot"}}(jQuery); \ No newline at end of file +!function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],monthsTitle:"Muaj",today:"Sot",weekStart:1,format:"dd/mm/yyyy",clear:"Pastro"}}(jQuery); \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.zh-CN.min.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.zh-CN.min.js index 12791764..8e6920b0 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.zh-CN.min.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.zh-CN.min.js @@ -1 +1 @@ -!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",clear:"清除",format:"yyyy年mm月dd日",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); \ No newline at end of file +!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/README.md b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/README.md index 58028f3f..38cee000 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/README.md +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/README.md @@ -17,4 +17,4 @@ $ make html The docs will be generated, the output files will be placed in the `_build/html/` directory, and can be browsed (locally) with any browser. -The docs can also be found online at . +The docs can also be found online at . diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/_screenshots/option_showweekdays.html b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/_screenshots/option_showweekdays.html new file mode 100644 index 00000000..85cb229d --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/_screenshots/option_showweekdays.html @@ -0,0 +1,22 @@ + + + + + + + + +
+
+ +
+
+ + diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/_static/screenshots/option_showweekdays.png b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/_static/screenshots/option_showweekdays.png new file mode 100644 index 00000000..0475d1a0 Binary files /dev/null and b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/_static/screenshots/option_showweekdays.png differ diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/index.rst b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/index.rst index 0eacf83c..66f1b8cd 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/index.rst +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/index.rst @@ -6,9 +6,9 @@ Bootstrap-datepicker provides a flexible datepicker widget in the Bootstrap styl .. figure:: _static/screenshots/demo_head.png :align: center -Versions are incremented according to `semver `_. +Versions are incremented according to `semver `_. -`Online Demo `_ +`Online Demo `_ Requirements diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/options.rst b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/options.rst index 0cf544ff..949cf9fa 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/options.rst +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/docs/options.rst @@ -449,6 +449,9 @@ Boolean. Default: true If false, the datepicker will not append the names of the weekdays to its view. Default behavior is appending the weekdays. +.. figure:: _static/screenshots/option_showweekdays.png + :align: center + title ----- diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/bootstrap-datepicker.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/bootstrap-datepicker.js index 8725526d..0e825d24 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/bootstrap-datepicker.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/bootstrap-datepicker.js @@ -102,6 +102,10 @@ var Datepicker = function(element, options){ $.data(element, 'datepicker', this); + + this._events = []; + this._secondaryEvents = []; + this._process_options(options); this.dates = new DateArray(); @@ -111,7 +115,7 @@ this.element = $(element); this.isInput = this.element.is('input'); this.inputField = this.isInput ? this.element : this.element.find('input'); - this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .btn') : false; + this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn') : false; if (this.component && this.component.length === 0) this.component = false; this.isInline = !this.component && this.element.is('div'); @@ -321,8 +325,6 @@ o.defaultViewDate = UTCToday(); } }, - _events: [], - _secondaryEvents: [], _applyEvents: function(evs){ for (var i=0, el, ch, ev; i < evs.length; i++){ el = evs[i][0]; @@ -478,7 +480,7 @@ }, show: function(){ - if (this.inputField.prop('disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false)) + if (this.inputField.is(':disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false)) return; if (!this.isInline) this.picker.appendTo(this.o.container); @@ -975,7 +977,9 @@ endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, todaytxt = dates[this.o.language].today || dates['en'].today || '', cleartxt = dates[this.o.language].clear || dates['en'].clear || '', - titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat, + titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat, + todayDate = UTCToday(), + titleBtnVisible = (this.o.todayBtn === true || this.o.todayBtn === 'linked') && todayDate >= this.o.startDate && todayDate <= this.o.endDate && !this.weekOfDateIsDisabled(todayDate), tooltip, before; if (isNaN(year) || isNaN(month)) @@ -984,7 +988,7 @@ .text(DPGlobal.formatDate(d, titleFormat, this.o.language)); this.picker.find('tfoot .today') .text(todaytxt) - .css('display', this.o.todayBtn === true || this.o.todayBtn === 'linked' ? 'table-cell' : 'none'); + .css('display', titleBtnVisible ? 'table-cell' : 'none'); this.picker.find('tfoot .clear') .text(cleartxt) .css('display', this.o.clearBtn === true ? 'table-cell' : 'none'); @@ -1164,12 +1168,12 @@ factor *= 10; /* falls through */ case 1: - prevIsDisabled = Math.floor(year / factor) * factor < startYear; + prevIsDisabled = Math.floor(year / factor) * factor <= startYear; nextIsDisabled = Math.floor(year / factor) * factor + factor > endYear; break; case 0: - prevIsDisabled = year <= startYear && month < startMonth; - nextIsDisabled = year >= endYear && month > endMonth; + prevIsDisabled = year <= startYear && month <= startMonth; + nextIsDisabled = year >= endYear && month >= endMonth; break; } @@ -2016,7 +2020,7 @@ /* DATEPICKER VERSION * =================== */ - $.fn.datepicker.version = '1.8.0'; + $.fn.datepicker.version = '1.9.0'; $.fn.datepicker.deprecated = function(msg){ var console = window.console; diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js index 460bfd44..0ca9cad9 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js @@ -7,6 +7,8 @@ months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], today: "Bu gün", - weekStart: 1 + weekStart: 1, + clear: "Təmizlə", + monthsTitle: 'Aylar' }; }(jQuery)); diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.bm.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.bm.js new file mode 100644 index 00000000..899b9b08 --- /dev/null +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.bm.js @@ -0,0 +1,18 @@ +/** + * Bamanankan (bm) translation for bootstrap-datepicker + * Fatou Fall + */ +;(function($){ + $.fn.datepicker.dates['bm'] = { + days: ["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"], + daysShort: ["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"], + daysMin: ["Ka","Nt","Ta","Ar","Al","Ju","Si"], + months: ["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"], + monthsShort: ["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"], + today: "Bi", + monthsTitle: "Kalo", + clear: "Ka jɔsi", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js index dc0a1912..7d1732bd 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js @@ -7,7 +7,7 @@ days: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], daysShort: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'], daysMin: ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'], - months: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'vovember', 'desember'], + months: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], monthsShort: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], today: 'i dag', monthsTitle: 'Måneder', diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js index 11f94693..74406921 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js @@ -9,7 +9,11 @@ daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht"], months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"], monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"], - today: "Sot" + monthsTitle: "Muaj", + today: "Sot", + weekStart: 1, + format: "dd/mm/yyyy", + clear: "Pastro" }; }(jQuery)); diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js index b927d2c1..67726c24 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js @@ -6,12 +6,13 @@ $.fn.datepicker.dates['zh-CN'] = { days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], - daysMin: ["日", "一", "二", "三", "四", "五", "六"], + daysMin: ["日", "一", "二", "三", "四", "五", "六"], months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], - today: "今日", + today: "今天", + monthsTitle: "选择月份", clear: "清除", - format: "yyyy年mm月dd日", + format: "yyyy-mm-dd", titleFormat: "yyyy年mm月", weekStart: 1 }; diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/package.json b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/package.json index b2e1e75f..8605e6b8 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/package.json +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/package.json @@ -1,7 +1,7 @@ { "name": "bootstrap-datepicker", "description": "A datepicker for Bootstrap", - "version": "1.8.0", + "version": "1.9.0", "license": "Apache-2.0", "keywords": [ "datepicker", @@ -28,10 +28,10 @@ "jquery": ">=1.7.1 <4.0.0" }, "devDependencies": { - "grunt": "^1.0.1", + "grunt": "^1.0.4", "grunt-banner": "~0.6.0", "grunt-contrib-clean": "^1.0.0", - "grunt-contrib-compress": "^1.4.1", + "grunt-contrib-compress": "^1.5.0", "grunt-contrib-concat": "^1.0.1", "grunt-contrib-csslint": "^2.0.0", "grunt-contrib-cssmin": "^1.0.2", @@ -42,7 +42,7 @@ "grunt-jscs": "^3.0.1", "grunt-string-replace": "^1.3.1", "load-grunt-tasks": "^3.5.2", - "phantomjs-prebuilt": "~2.1.8", + "phantomjs-prebuilt": "~2.1.16", "time-grunt": "^1.4.0" } } diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/tests/suites/component.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/tests/suites/component.js index 7540b735..0fee55a1 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/tests/suites/component.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/tests/suites/component.js @@ -1,11 +1,15 @@ module('Component', { setup: function(){ - this.component = $('
'+ - ''+ - ''+ - '
') - .appendTo('#qunit-fixture') - .datepicker({format: "dd-mm-yyyy"}); + this.fieldset = $('
' + + '
'+ + ''+ + ''+ + '
' + + '
') + .appendTo('#qunit-fixture'); + + this.component = this.fieldset.find('.input-append') + .datepicker({format: "dd-mm-yyyy"}); this.input = this.component.find('input'); this.addon = this.component.find('.add-on'); this.dp = this.component.data('datepicker'); @@ -34,6 +38,9 @@ test('Dont activation (by disabled) by component', function(){ this.addon.click(); ok(!this.picker.is(':visible')); this.input.prop('disabled', false); + this.fieldset.prop('disabled', true); + this.addon.click(); + ok(!this.picker.is(':visible')); }); test('simple keyboard nav test', function(){ diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/tests/suites/options.js b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/tests/suites/options.js index 5a22c9fc..23a96f29 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/tests/suites/options.js +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/tests/suites/options.js @@ -281,6 +281,309 @@ test('Today Button: today visibility when enabled', function(){ ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible'); }); +test('Today Button: today invisible when enabled and startDate is after today', function () { + var startDate = new Date(); + startDate.setDate(startDate.getDate() + 1); + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + startDate: startDate, + todayBtn: true + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible'); +}); + +test('Today Button: today invisible when enabled and endDate is before today', function () { + var endDate = new Date(); + endDate.setDate(endDate.getDate() - 1); + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + endDate: endDate, + todayBtn: true + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible'); +}); + +test('Today Button: today visible when enabled and today is between startDate and enDate', function () { + var startDate = new Date(); + startDate.setDate(startDate.getDate() - 1); + var endDate = new Date(); + endDate.setDate(endDate.getDate() + 1); + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + startDate: startDate, + endDate: endDate, + todayBtn: true + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible'); +}); + +test('Today Button: today visible when enabled and daysOfWeekDisabled does not include current day', function () { + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + daysOfWeekDisabled: [(new Date().getDay() + 1) % 7], + todayBtn: true + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible'); +}); + +test('Today Button: today invisible when enabled and daysOfWeekDisabled includes current day', function () { + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + daysOfWeekDisabled: [new Date().getDay()], + todayBtn: true + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible'); +}); + +test('Today Button: today visibility when linked', function () { + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + todayBtn: 'linked' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible'); +}); + +test('Today Button: today invisible when linked and startDate is after today', function () { + var startDate = new Date(); + startDate.setDate(startDate.getDate() + 1); + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + startDate: startDate, + todayBtn: 'linked' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible'); +}); + +test('Today Button: today invisible when linked and endDate is before today', function () { + var endDate = new Date(); + endDate.setDate(endDate.getDate() - 1); + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + endDate: endDate, + todayBtn: 'linked' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible'); +}); + +test('Today Button: today visible when linked and today is between startDate and enDate', function () { + var startDate = new Date(); + startDate.setDate(startDate.getDate() - 1); + var endDate = new Date(); + endDate.setDate(endDate.getDate() + 1); + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + startDate: startDate, + endDate: endDate, + todayBtn: 'linked' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible'); +}); + +test('Today Button: today visible when linked and daysOfWeekDisabled does not include current day', function () { + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + daysOfWeekDisabled: [(new Date().getDay + 1) % 7], + todayBtn: 'linked' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible'); +}); + +test('Today Button: today invisible when linked and daysOfWeekDisabled includes current day', function () { + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + daysOfWeekDisabled: [new Date().getDay()], + todayBtn: 'linked' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-days thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible'); + + picker.find('.datepicker-months thead th.datepicker-switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible'); +}); + test('Today Button: data-api', function(){ var input = $('') .appendTo('#qunit-fixture') @@ -1647,25 +1950,97 @@ test('Visibility of the prev and next arrows for year/decade/century/millenium v target = picker.find('.datepicker-months thead th.next'); ok(!target.hasClass('disabled'), 'Next switcher is not hidden'); - picker.find('.datepicker-months thead th.datepicker-switch').click(); + picker.find('.datepicker-months thead th.datepicker-switch').trigger('click'); target = picker.find('.datepicker-years thead th.prev'); ok(target.hasClass('disabled'), 'Prev switcher is hidden'); target = picker.find('.datepicker-years thead th.next'); ok(target.hasClass('disabled'), 'Next switcher is hidden'); - picker.find('.datepicker-years thead th.datepicker-switch').click(); + picker.find('.datepicker-years thead th.datepicker-switch').trigger('click'); target = picker.find('.datepicker-decades thead th.prev'); ok(target.hasClass('disabled'), 'Prev switcher is hidden'); target = picker.find('.datepicker-decades thead th.next'); ok(target.hasClass('disabled'), 'Next switcher is hidden'); - picker.find('.datepicker-decades thead th.datepicker-switch').click(); + picker.find('.datepicker-decades thead th.datepicker-switch').trigger('click'); target = picker.find('.datepicker-centuries thead th.prev'); ok(target.hasClass('disabled'), 'Prev switcher is hidden'); target = picker.find('.datepicker-centuries thead th.next'); ok(target.hasClass('disabled'), 'Next switcher is hidden'); }); +test('Visibility of the prev arrow for month/year/decade/century/millenium views with startDate eq value', function(){ + var input = $('') + .appendTo('#qunit-fixture') + .val('01/01/2014') + .datepicker({ + format: 'dd/mm/yyyy', + startView: 0, + startDate: '01/01/2014' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + + target = picker.find('.datepicker-days thead th.prev'); + ok(target.hasClass('disabled'), 'Prev switcher is not hidden'); + + picker.find('.datepicker-days thead th.datepicker-switch').trigger('click'); + + target = picker.find('.datepicker-months thead th.prev'); + ok(target.hasClass('disabled'), 'Prev switcher is not hidden'); + + picker.find('.datepicker-months thead th.datepicker-switch').trigger('click'); + target = picker.find('.datepicker-years thead th.prev'); + ok(target.hasClass('disabled'), 'Prev switcher is hidden'); + + picker.find('.datepicker-years thead th.datepicker-switch').trigger('click'); + target = picker.find('.datepicker-decades thead th.prev'); + ok(target.hasClass('disabled'), 'Prev switcher is hidden'); + + picker.find('.datepicker-decades thead th.datepicker-switch').trigger('click'); + target = picker.find('.datepicker-centuries thead th.prev'); + ok(target.hasClass('disabled'), 'Prev switcher is hidden'); +}); + +test('Visibility of the next arrow for month/year/decade/century/millenium views with endDate eq value', function(){ + var input = $('') + .appendTo('#qunit-fixture') + .val('31/12/1999') + .datepicker({ + format: 'dd/mm/yyyy', + startView: 0, + endDate: '31/12/1999' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + + target = picker.find('.datepicker-days thead th.next'); + ok(target.hasClass('disabled'), 'Next switcher is not hidden'); + + picker.find('.datepicker-days thead th.datepicker-switch').trigger('click'); + + target = picker.find('.datepicker-months thead th.next'); + ok(target.hasClass('disabled'), 'Next switcher is not hidden'); + + picker.find('.datepicker-months thead th.datepicker-switch').trigger('click'); + target = picker.find('.datepicker-years thead th.next'); + ok(target.hasClass('disabled'), 'Next switcher is hidden'); + + picker.find('.datepicker-years thead th.datepicker-switch').trigger('click'); + target = picker.find('.datepicker-decades thead th.next'); + ok(target.hasClass('disabled'), 'Next switcher is hidden'); + + picker.find('.datepicker-decades thead th.datepicker-switch').trigger('click'); + target = picker.find('.datepicker-centuries thead th.next'); + ok(target.hasClass('disabled'), 'Next switcher is hidden'); +}); + test('date cells (outdated)', function(){ var input = $('') .appendTo('#qunit-fixture') diff --git a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/yarn.lock b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/yarn.lock index 2e8ec4df..8ca0bec2 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap-datepicker/yarn.lock +++ b/front/lib/AdminLTE/bower_components/bootstrap-datepicker/yarn.lock @@ -2,17 +2,38 @@ # yarn lockfile v1 -"JSV@>= 4.0.x": +JSV@^4.0.x: version "4.0.2" resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" + integrity sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= abbrev@1: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY= + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ajv@^6.5.5: + version "6.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" + integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= dependencies: kind-of "^3.0.2" longest "^1.0.1" @@ -21,22 +42,44 @@ align-text@^0.1.1, align-text@^0.1.3: amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== archiver-utils@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174" + integrity sha1-5QtMCccL89aA4y/xt5lOn52JUXQ= dependencies: glob "^7.0.0" graceful-fs "^4.1.0" @@ -45,9 +88,10 @@ archiver-utils@^1.3.0: normalize-path "^2.0.0" readable-stream "^2.0.0" -archiver@^1.0.0: +archiver@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/archiver/-/archiver-1.3.0.tgz#4f2194d6d8f99df3f531e6881f14f15d55faaf22" + integrity sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI= dependencies: archiver-utils "^1.3.0" async "^2.0.0" @@ -59,137 +103,214 @@ archiver@^1.0.0: walkdir "^0.0.11" zip-stream "^1.1.0" -argparse@^1.0.2: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.2, argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" array-differ@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= asap@~2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ= -assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -async@0.2.x, async@~0.2.6, async@~0.2.9: +async@0.2.x, async@~0.2.9: version "0.2.10" resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E= async@^1.5.2, async@~1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= async@^2.0.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" + version "2.6.2" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" + integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== dependencies: - lodash "^4.14.0" + lodash "^4.17.11" asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= aws-sign2@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + integrity sha1-FDQt0428yU0OW4fXY81jYSwOeU8= -aws4@^1.2.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.2.1, aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== babel-runtime@^6.9.2: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611" + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= dependencies: core-js "^2.4.0" - regenerator-runtime "^0.10.0" + regenerator-runtime "^0.11.0" babylon@^6.8.1: - version "6.15.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== bcrypt-pbkdf@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: tweetnacl "^0.14.3" bl@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.0.tgz#1397e7ec42c5f5dc387470c500e34a9f6be9ea98" + version "1.2.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" + integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== dependencies: - readable-stream "^2.0.5" + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= + dependencies: + inherits "~2.0.0" boom@2.x.x: version "2.10.1" resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8= dependencies: hoek "2.x.x" -brace-expansion@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: - balanced-match "^0.4.1" + balanced-match "^1.0.0" concat-map "0.0.1" browserify-zlib@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + integrity sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0= dependencies: pako "~0.2.0" +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + buffer-crc32@^0.2.1: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= -buffer-shims@^1.0.0: +buffer-fill@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= -builtin-modules@^1.0.0: +buffer-from@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" + integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= dependencies: camelcase "^2.0.0" map-obj "^1.0.0" @@ -197,25 +318,30 @@ camelcase-keys@^2.0.0: camelcase@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60= dependencies: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@~1.1.0, chalk@~1.1.1: +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@~1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -226,14 +352,30 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@~1.1.0, chalk@~1.1.1: chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + integrity sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8= dependencies: ansi-styles "~1.0.0" has-color "~0.1.0" strip-ansi "~0.1.0" +chalk@~2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chownr@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + clean-css@~3.4.2: - version "3.4.24" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.24.tgz#89f5a5e9da37ae02394fe049a41388abbe72c3b5" + version "3.4.28" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.28.tgz#bf1945e82fc808f55695e6ddeaec01400efd03ff" + integrity sha1-vxlF6C/ICPVWlebd6uwBQA79A/8= dependencies: commander "2.8.x" source-map "0.4.x" @@ -241,12 +383,14 @@ clean-css@~3.4.2: cli-table@~0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= dependencies: colors "1.0.3" cli@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/cli/-/cli-1.0.1.tgz#22817534f24bfa4950c34d532d48ecbc621b8c14" + integrity sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ= dependencies: exit "0.1.2" glob "^7.1.1" @@ -254,117 +398,168 @@ cli@~1.0.0: cliui@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= dependencies: center-align "^0.1.1" right-align "^0.1.1" wordwrap "0.0.2" clone@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.0.tgz#9c715bfbd39aa197c8ee0f8e65c3912ba34f8cd6" + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= -coffee-script@~1.10.0: +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +coffeescript@~1.10.0: version "1.10.0" - resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz#12938bcf9be1948fa006f92e0c4c9e81705108c0" + resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.10.0.tgz#e7aa8301917ef621b35d8a39f348dcdd1db7e33e" + integrity sha1-56qDAZF+9iGzXYo580jc3R234z4= + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= colors@0.6.x: version "0.6.2" resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" + integrity sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w= colors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" +combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@~1.0.5, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" commander@2.8.x: version "2.8.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ= dependencies: graceful-readlink ">= 1.0.0" -commander@^2.9.0, commander@~2.9.0: +commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= dependencies: graceful-readlink ">= 1.0.0" comment-parser@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-0.3.1.tgz#fd657aac8c1492d308c9a6100fc9b49d2435aba1" + version "0.3.2" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-0.3.2.tgz#3c03f0776b86a36dfd9a0a2c97c6307f332082fe" + integrity sha1-PAPwd2uGo239mgosl8YwfzMggv4= dependencies: readable-stream "^2.0.4" -compress-commons@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.1.0.tgz#9f4460bb1288564c7473916e0298aa3c320dcadb" +compress-commons@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.2.2.tgz#524a9f10903f3a813389b0225d27c48bb751890f" + integrity sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8= dependencies: buffer-crc32 "^0.2.1" - crc32-stream "^1.0.0" + crc32-stream "^2.0.0" normalize-path "^2.0.0" readable-stream "^2.0.0" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@1.5.0, concat-stream@^1.4.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611" +concat-stream@1.6.2, concat-stream@^1.4.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" console-browserify@1.1.x: version "1.1.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= dependencies: date-now "^0.1.4" -core-js@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -core-util-is@~1.0.0: +core-js@^2.4.0: + version "2.6.5" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895" + integrity sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A== + +core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -crc32-stream@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-1.0.1.tgz#ce2c5dc3bd8ffb3830f9cb47f540222c63c90fab" +crc32-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" + integrity sha1-483TtN8xaN10494/u8t7KX/pCPQ= dependencies: crc "^3.4.4" readable-stream "^2.0.0" crc@^3.4.4: - version "3.4.4" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.4.tgz#9da1e980e3bd44fc5c93bf5ab3da3378d85e466b" + version "3.8.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" + integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== + dependencies: + buffer "^5.1.0" cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g= dependencies: boom "2.x.x" csslint@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/csslint/-/csslint-1.0.5.tgz#19cc3eda322160fd3f7232af1cb2a360e898a2e9" + integrity sha1-Gcw+2jIhYP0/cjKvHLKjYOiYouk= dependencies: clone "~2.1.0" parserlib "~1.1.1" cst@^0.4.3: - version "0.4.9" - resolved "https://registry.yarnpkg.com/cst/-/cst-0.4.9.tgz#51af14213bf5f8e8e715966ac645e1e2a56c6834" + version "0.4.10" + resolved "https://registry.yarnpkg.com/cst/-/cst-0.4.10.tgz#9c05c825290a762f0a85c0aabb8c0fe035ae8516" + integrity sha512-U5ETe1IOjq2h56ZcBE3oe9rT7XryCH6IKgPMv0L7sSk6w29yR3p5egCK0T3BDNHHV95OoUBgXsqiVG+3a900Ag== dependencies: babel-runtime "^6.9.2" babylon "^6.8.1" @@ -373,166 +568,256 @@ cst@^0.4.3: currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= dependencies: array-find-index "^1.0.1" cycle@1.0.x: version "1.0.3" resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" + integrity sha1-IegLK+hYD5i0aPN5QwZisEbDStI= dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= date-time@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/date-time/-/date-time-1.1.0.tgz#18876d0bda4c19fe70dd3bf4b034f281b12a40b6" + integrity sha1-GIdtC9pMGf5w3Tv0sDTygbEqQLY= dependencies: time-zone "^0.1.0" dateformat@~1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + integrity sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk= dependencies: get-stdin "^4.0.1" meow "^3.3.0" -debug@0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" decamelize@^1.0.0, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" deep-equal@*: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +define-properties@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +detect-libc@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-0.2.0.tgz#47fdf567348a17ec25fcbf0b9e446348a76f9fb5" + integrity sha1-R/31ZzSKF+wl/L8LnkRjSKdvn7U= + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= dom-serializer@0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" + integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== dependencies: - domelementtype "~1.1.1" - entities "~1.1.1" + domelementtype "^1.3.0" + entities "^1.1.1" -domelementtype@1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" - -domelementtype@~1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" +domelementtype@1, domelementtype@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== domhandler@2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" + integrity sha1-LeWaCCLVAn+r/28DLCsloqir5zg= dependencies: domelementtype "1" domutils@1.5: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= dependencies: dom-serializer "0" domelementtype "1" ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= dependencies: jsbn "~0.1.0" + safer-buffer "^2.1.0" -end-of-stream@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.1.0.tgz#e9353258baa9108965efc41cb0ef8ade2f3cfb07" +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: - once "~1.3.0" + once "^1.4.0" entities@1.0: version "1.0.0" resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" + integrity sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY= -entities@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== errno@^0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== dependencies: - prr "~0.0.0" + prr "~1.0.1" error-ex@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es6-promise@~4.0.3: - version "4.0.5" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.0.5.tgz#7882f30adde5b240ccfa7f7d78c548330951ae42" +es6-promise@^4.0.3: + version "4.2.6" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.6.tgz#b685edd8258886365ea62b57d30de28fadcd974f" + integrity sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q== escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== estraverse@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= eventemitter2@^0.4.9, eventemitter2@~0.4.13: version "0.4.14" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" + integrity sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas= exit@0.1.2, exit@0.1.x, exit@~0.1.1, exit@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -extend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" +expand-template@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-1.1.1.tgz#981f188c0c3a87d2e28f559bc541426ff94f21dd" + integrity sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg== -extract-zip@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.5.0.tgz#92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4" +extend@~3.0.0, extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extract-zip@^1.6.5: + version "1.6.7" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" + integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k= dependencies: - concat-stream "1.5.0" - debug "0.7.4" - mkdirp "0.5.0" + concat-stream "1.6.2" + debug "2.6.9" + mkdirp "0.5.1" yauzl "2.4.1" -extsprintf@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= eyes@0.1.x: version "0.1.8" resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + integrity sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A= + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= fd-slicer@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= dependencies: pend "~1.2.0" figures@^1.0.0, figures@^1.0.1: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= dependencies: escape-string-regexp "^1.0.5" object-assign "^4.1.0" @@ -540,6 +825,7 @@ figures@^1.0.0, figures@^1.0.1: find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" @@ -547,24 +833,42 @@ find-up@^1.0.0: findup-sync@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" + integrity sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY= dependencies: glob "~5.0.0" forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= form-data@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + integrity sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE= dependencies: asynckit "^0.4.0" combined-stream "^1.0.5" mime-types "^2.1.12" -fs-extra@~1.0.0: +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" + integrity sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA= dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" @@ -573,34 +877,63 @@ fs-extra@~1.0.0: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== dependencies: - is-property "^1.0.0" + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= getobject@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" + integrity sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw= getpass@^0.1.1: - version "0.1.6" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= + glob@^5.0.1, glob@~5.0.0: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= dependencies: inflight "^1.0.4" inherits "2" @@ -608,20 +941,22 @@ glob@^5.0.1, glob@~5.0.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.5, glob@~7.0.0: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.3: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.2" + minimatch "^3.0.4" once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" +glob@~7.0.0: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" + integrity sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo= dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -631,22 +966,26 @@ glob@^7.1.1: path-is-absolute "^1.0.0" graceful-fs@^4.1.0, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= grunt-banner@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/grunt-banner/-/grunt-banner-0.6.0.tgz#3f879021d123fa58a7ba5a0b6fb6be412b5885ac" + integrity sha1-P4eQIdEj+linuloLb7a+QStYhaw= dependencies: chalk "^1.1.0" grunt-cli@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8" + integrity sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg= dependencies: findup-sync "~0.3.0" grunt-known-options "~1.1.0" @@ -654,27 +993,30 @@ grunt-cli@~1.2.0: resolve "~1.1.0" grunt-contrib-clean@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz#6b2ed94117e2c7ffe32ee04578c96fe4625a9b6d" + version "1.1.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz#564abf2d0378a983a15b9e3f30ee75b738c40638" + integrity sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg= dependencies: async "^1.5.2" rimraf "^2.5.1" -grunt-contrib-compress@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/grunt-contrib-compress/-/grunt-contrib-compress-1.4.1.tgz#36212e9bbb41e9b41ff6fbe2fc77281c69ab02a0" +grunt-contrib-compress@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-compress/-/grunt-contrib-compress-1.5.0.tgz#ba5f80e22acf192897ce43cb60250cab2cb1f09b" + integrity sha512-RcCyetnvTJ7jvnDCSm05wOndAd00HWZTHeVGDVVmCM+K/PEivL0yx8vKyi8uzy0492l2dJgtzR0Ucid7roKg6A== dependencies: - archiver "^1.0.0" + archiver "^1.3.0" chalk "^1.1.1" lodash "^4.7.0" - pretty-bytes "^3.0.1" + pretty-bytes "^4.0.2" stream-buffers "^2.1.0" optionalDependencies: - iltorb "^1.0.13" + iltorb "^1.3.10" grunt-contrib-concat@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz#61509863084e871d7e86de48c015259ed97745bd" + integrity sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0= dependencies: chalk "^1.0.0" source-map "^0.5.3" @@ -682,6 +1024,7 @@ grunt-contrib-concat@^1.0.1: grunt-contrib-csslint@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/grunt-contrib-csslint/-/grunt-contrib-csslint-2.0.0.tgz#3129d94dfe507357f23337d24ae9e9aa4b9d57df" + integrity sha1-MSnZTf5Qc1fyMzfSSunpqkudV98= dependencies: chalk "^1.0.0" csslint "^1.0.0" @@ -691,6 +1034,7 @@ grunt-contrib-csslint@^2.0.0: grunt-contrib-cssmin@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.2.tgz#1734cbd3d84ca7364758b7e58ff18e52aa60bb76" + integrity sha1-FzTL09hMpzZHWLflj/GOUqpgu3Y= dependencies: chalk "^1.0.0" clean-css "~3.4.2" @@ -699,14 +1043,16 @@ grunt-contrib-cssmin@^1.0.2: grunt-contrib-jshint@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz#369d909b2593c40e8be79940b21340850c7939ac" + integrity sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw= dependencies: chalk "^1.1.1" hooker "^0.2.3" jshint "~2.9.4" grunt-contrib-less@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-less/-/grunt-contrib-less-1.4.0.tgz#17ee79cad21c9720ee07b3a991fab5103b513514" + version "1.4.1" + resolved "https://registry.yarnpkg.com/grunt-contrib-less/-/grunt-contrib-less-1.4.1.tgz#3bbdec0b75d12ceaa55d62943625c0b0861cdf6f" + integrity sha1-O73sC3XRLOqlXWKUNiXAsIYc328= dependencies: async "^2.0.0" chalk "^1.0.0" @@ -714,24 +1060,27 @@ grunt-contrib-less@^1.4.0: lodash "^4.8.2" grunt-contrib-qunit@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-qunit/-/grunt-contrib-qunit-1.2.0.tgz#76ee87ce8cc157592802bb7545392f671ccb4956" + version "1.3.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-qunit/-/grunt-contrib-qunit-1.3.0.tgz#9dac628cfd4ec815998633db73b52bdb3ddbc99e" + integrity sha1-naxijP1OyBWZhjPbc7Ur2z3byZ4= dependencies: grunt-lib-phantomjs "^1.0.0" grunt-contrib-uglify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-2.0.0.tgz#8c9970d690936cde6d25aa1193549bd929016930" + version "2.3.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-2.3.0.tgz#b3d0260ebdd6cefa12ff2f8e9e1e259f7de4216f" + integrity sha1-s9AmDr3WzvoS/y+Onh4ln33kIW8= dependencies: chalk "^1.0.0" - lodash.assign "^4.0.9" maxmin "^1.1.0" - uglify-js "~2.7.0" + object.assign "^4.0.4" + uglify-js "~2.8.21" uri-path "^1.0.0" grunt-jscs@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/grunt-jscs/-/grunt-jscs-3.0.1.tgz#1fae50e3e955df9e3a9d9425aec22accae008092" + integrity sha1-H65Q4+lV3546nZQlrsIqzK4AgJI= dependencies: hooker "~0.2.3" jscs "~3.0.5" @@ -739,41 +1088,45 @@ grunt-jscs@^3.0.1: vow "~0.4.1" grunt-known-options@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" + version "1.1.1" + resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.1.tgz#6cc088107bd0219dc5d3e57d91923f469059804d" + integrity sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ== -grunt-legacy-log-utils@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz#a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d" +grunt-legacy-log-utils@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz#d2f442c7c0150065d9004b08fd7410d37519194e" + integrity sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA== dependencies: - chalk "~1.1.1" - lodash "~4.3.0" + chalk "~2.4.1" + lodash "~4.17.10" -grunt-legacy-log@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz#fb86f1809847bc07dc47843f9ecd6cacb62df2d5" +grunt-legacy-log@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz#c8cd2c6c81a4465b9bbf2d874d963fef7a59ffb9" + integrity sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw== dependencies: colors "~1.1.2" - grunt-legacy-log-utils "~1.0.0" + grunt-legacy-log-utils "~2.0.0" hooker "~0.2.3" - lodash "~3.10.1" - underscore.string "~3.2.3" + lodash "~4.17.5" -grunt-legacy-util@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz#386aa78dc6ed50986c2b18957265b1b48abb9b86" +grunt-legacy-util@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz#e10624e7c86034e5b870c8a8616743f0a0845e42" + integrity sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A== dependencies: async "~1.5.2" exit "~0.1.1" getobject "~0.1.0" hooker "~0.2.3" - lodash "~4.3.0" - underscore.string "~3.2.3" - which "~1.2.1" + lodash "~4.17.10" + underscore.string "~3.3.4" + which "~1.3.0" grunt-lib-phantomjs@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.1.0.tgz#9e9edcdd9fd2dd40e0c181c94371d572aa5eead2" + integrity sha1-np7c3Z/S3UDgwYHJQ3HVcqpe6tI= dependencies: eventemitter2 "^0.4.9" phantomjs-prebuilt "^2.1.3" @@ -784,15 +1137,17 @@ grunt-lib-phantomjs@^1.0.0: grunt-string-replace@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/grunt-string-replace/-/grunt-string-replace-1.3.1.tgz#633a03bc78482a0e0e1f9df7f645811fc1fbb162" + integrity sha1-YzoDvHhIKg4OH5339kWBH8H7sWI= dependencies: async "^2.0.0" chalk "^1.0.0" -grunt@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.1.tgz#e8778764e944b18f32bb0f10b9078475c9dfb56b" +grunt@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.4.tgz#c799883945a53a3d07622e0737c8f70bfe19eb38" + integrity sha512-PYsMOrOC+MsdGEkFVwMaMyc6Ob7pKmq+deg1Sjr+vvMWp35sztfwKE7qoN51V+UEtHsyNuMcGdgMLFkBHvMxHQ== dependencies: - coffee-script "~1.10.0" + coffeescript "~1.10.0" dateformat "~1.0.12" eventemitter2 "~0.4.13" exit "~0.1.1" @@ -800,44 +1155,81 @@ grunt@^1.0.1: glob "~7.0.0" grunt-cli "~1.2.0" grunt-known-options "~1.1.0" - grunt-legacy-log "~1.0.0" - grunt-legacy-util "~1.0.0" + grunt-legacy-log "~2.0.0" + grunt-legacy-util "~1.1.1" iconv-lite "~0.4.13" - js-yaml "~3.5.2" - minimatch "~3.0.0" + js-yaml "~3.13.0" + minimatch "~3.0.2" + mkdirp "~0.5.1" nopt "~3.0.6" path-is-absolute "~1.0.0" - rimraf "~2.2.8" + rimraf "~2.6.2" gzip-size@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-1.0.0.tgz#66cf8b101047227b95bace6ea1da0c177ed5c22f" + integrity sha1-Zs+LEBBHInuVus5uodoMF37Vwi8= dependencies: browserify-zlib "^0.1.4" concat-stream "^1.4.1" -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + integrity sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + integrity sha1-M0gdDxu/9gDdID11gSpqX7oALio= dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" + ajv "^4.9.1" + har-schema "^1.0.5" + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: ansi-regex "^2.0.0" has-color@~0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= -hasha@~2.2.0: +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +hasha@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1" + integrity sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE= dependencies: is-stream "^1.0.1" pinkie-promise "^2.0.0" @@ -845,6 +1237,7 @@ hasha@~2.2.0: hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + integrity sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ= dependencies: boom "2.x.x" cryptiles "2.x.x" @@ -854,18 +1247,22 @@ hawk@~3.1.3: hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0= hooker@^0.2.3, hooker@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" + integrity sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk= hosted-git-info@^2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + version "2.7.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== htmlparser2@3.8.3, htmlparser2@3.8.x: version "3.8.3" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" + integrity sha1-mWwosZFRaovoZQGn15dX5ccMEGg= dependencies: domelementtype "1" domhandler "2.3" @@ -876,154 +1273,191 @@ htmlparser2@3.8.3, htmlparser2@3.8.x: http-signature@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + integrity sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8= dependencies: assert-plus "^0.2.0" jsprim "^1.2.2" sshpk "^1.7.0" +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + i@0.3.x: - version "0.3.5" - resolved "https://registry.yarnpkg.com/i/-/i-0.3.5.tgz#1d2b854158ec8169113c6cb7f6b6801e99e211d5" + version "0.3.6" + resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" + integrity sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0= iconv-lite@~0.4.13: - version "0.4.15" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" - -iltorb@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/iltorb/-/iltorb-1.0.13.tgz#9913538457bf39d3dac223ebb4d9990dbda1354f" + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: - nan "^2.4.0" + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +iltorb@^1.3.10: + version "1.3.10" + resolved "https://registry.yarnpkg.com/iltorb/-/iltorb-1.3.10.tgz#a0d9e4e7d52bf510741442236cbe0cc4230fc9f8" + integrity sha512-nyB4+ru1u8CQqQ6w7YjasboKN3NQTN8GH/V/eEssNRKhW6UbdxdWhB9fJ5EEdjJfezKY0qPrcwLyIcgjL8hHxA== + dependencies: + detect-libc "^0.2.0" + nan "^2.6.2" + node-gyp "^3.6.2" + prebuild-install "^2.3.0" image-size@~0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.1.tgz#28eea8548a4b1443480ddddc1e083ae54652439f" + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= dependencies: repeating "^2.0.0" inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" inherit@^2.2.2: - version "2.2.6" - resolved "https://registry.yarnpkg.com/inherit/-/inherit-2.2.6.tgz#f1614b06c8544e8128e4229c86347db73ad9788d" + version "2.2.7" + resolved "https://registry.yarnpkg.com/inherit/-/inherit-2.2.7.tgz#4e238e289bc7adddf8ff5053d0f26a2fcda94b9f" + integrity sha512-dxJmC1j0Q32NFAjvbd6g3lXYLZ49HgzotgbSMwMkoiTXGhC9412Oc24g7A7M9cPPkw/vDsF2cSII+2zJwocUtQ== -inherits@2, inherits@~2.0.1: +inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-buffer@^1.0.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-finite@^1.0.0, is-finite@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= dependencies: number-is-nan "^1.0.0" -is-my-json-valid@^2.12.4: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" + number-is-nan "^1.0.0" -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-stream@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isexe@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= isstream@0.1.x, isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -jodid25519@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" - dependencies: - jsbn "~0.1.0" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= "jquery@>=1.7.1 <4.0.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.1.1.tgz#347c1c21c7e004115e0a4da32cece041fad3c8a3" + version "3.4.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" + integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== + +js-yaml@~3.13.0: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" js-yaml@~3.4.0: version "3.4.6" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.4.6.tgz#6be1b23f6249f53d293370fd4d1aaa63ce1b4eb0" + integrity sha1-a+GyP2JJ9T0pM3D9TRqqY84bTrA= dependencies: argparse "^1.0.2" esprima "^2.6.0" inherit "^2.2.2" -js-yaml@~3.5.2: - version "3.5.5" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.5.5.tgz#0377c38017cabc7322b0d1fbcd25a491641f2fbe" - dependencies: - argparse "^1.0.2" - esprima "^2.6.0" - jsbn@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jscs-jsdoc@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz#f53ebce029aa3125bd88290ba50d64d4510a4871" + integrity sha1-9T684CmqMSW9iCkLpQ1k1FEKSHE= dependencies: comment-parser "^0.3.1" jsdoctypeparser "~1.2.0" jscs-preset-wikimedia@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz#fff563342038fc2e8826b7bb7309c3ae3406fc7e" + version "1.0.1" + resolved "https://registry.yarnpkg.com/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.1.tgz#a6a5fa5967fd67a5d609038e1c794eaf41d4233d" + integrity sha512-RWqu6IYSUlnYuCRCF0obCOHjJV0vhpLcvKbauwxmLQoZ0PiXDTWBYlfpsEfdhg7pmREAEwrARfDRz5qWD6qknA== jscs@~3.0.5: version "3.0.7" resolved "https://registry.yarnpkg.com/jscs/-/jscs-3.0.7.tgz#7141b4dff5b86e32d0e99d764b836767c30d201a" + integrity sha1-cUG03/W4bjLQ6Z12S4NnZ8MNIBo= dependencies: chalk "~1.1.0" cli-table "~0.3.1" @@ -1055,84 +1489,111 @@ jscs@~3.0.5: jsdoctypeparser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz#e7dedc153a11849ffc5141144ae86a7ef0c25392" + integrity sha1-597cFToRhJ/8UUEUSuhqfvDCU5I= dependencies: lodash "^3.7.0" jshint@~2.9.4: - version "2.9.4" - resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.9.4.tgz#5e3ba97848d5290273db514aee47fe24cf592934" + version "2.9.7" + resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.9.7.tgz#038a3fa5c328fa3ab03ddfd85df88d3d87bedcbd" + integrity sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA== dependencies: cli "~1.0.0" console-browserify "1.1.x" exit "0.1.x" htmlparser2 "3.8.x" - lodash "3.7.x" + lodash "~4.17.10" minimatch "~3.0.2" shelljs "0.3.x" strip-json-comments "1.0.x" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= optionalDependencies: graceful-fs "^4.1.6" -jsonlint@~1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/jsonlint/-/jsonlint-1.6.2.tgz#5737045085f55eb455c68b1ff4ebc01bd50e8830" - dependencies: - JSV ">= 4.0.x" - nomnom ">= 1.5.x" +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" +jsonlint@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/jsonlint/-/jsonlint-1.6.3.tgz#cb5e31efc0b78291d0d862fbef05900adf212988" + integrity sha512-jMVTMzP+7gU/IyC6hvKyWpUU8tmTkK5b3BPNuMI9U8Sit+YAWLlZwB6Y6YrdCxfg2kNz05p3XY3Bmm4m26Nv3A== + dependencies: + JSV "^4.0.x" + nomnom "^1.5.x" jsprim@^1.2.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= dependencies: - extsprintf "1.0.2" + assert-plus "1.0.0" + extsprintf "1.3.0" json-schema "0.2.3" - verror "1.3.6" + verror "1.10.0" -kew@~0.7.0: +kew@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" + integrity sha1-edk9LTM2PW/dKXCzNdkUGtWR15s= kind-of@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: - is-buffer "^1.0.2" + is-buffer "^1.1.5" klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk= optionalDependencies: graceful-fs "^4.1.9" lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= lazystream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= dependencies: readable-stream "^2.0.5" less@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/less/-/less-2.7.2.tgz#368d6cc73e1fb03981183280918743c5dcf9b3df" + version "2.7.3" + resolved "https://registry.yarnpkg.com/less/-/less-2.7.3.tgz#cc1260f51c900a9ec0d91fb6998139e02507b63b" + integrity sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ== optionalDependencies: errno "^0.1.1" graceful-fs "^4.1.2" @@ -1140,12 +1601,13 @@ less@~2.7.1: mime "^1.2.11" mkdirp "^0.5.0" promise "^7.1.1" - request "^2.72.0" + request "2.81.0" source-map "^0.5.3" load-grunt-tasks@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz#0728561180fd20ff8a6927505852fc58aaea0c88" + integrity sha1-ByhWEYD9IP+KaSdQWFL8WKrqDIg= dependencies: arrify "^1.0.0" multimatch "^2.0.0" @@ -1155,6 +1617,7 @@ load-grunt-tasks@^3.5.2: load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -1162,37 +1625,30 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -lodash.assign@^4.0.9: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - -lodash@3.7.x: - version "3.7.0" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.7.0.tgz#3678bd8ab995057c07ade836ed2ef087da811d45" - -lodash@^3.5.0, lodash@^3.7.0, lodash@~3.10.0, lodash@~3.10.1: +lodash@^3.5.0, lodash@^3.7.0, lodash@~3.10.0: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= -lodash@^4.14.0, lodash@^4.7.0, lodash@^4.8.0, lodash@^4.8.2: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -lodash@~4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4" +lodash@^4.17.11, lodash@^4.7.0, lodash@^4.8.0, lodash@^4.8.2, lodash@~4.17.10, lodash@~4.17.5: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== lodash@~4.6.1: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.6.1.tgz#df00c1164ad236b183cfc3887a5e8d38cc63cbbc" + integrity sha1-3wDBFkrSNrGDz8OIel6NOMxjy7w= longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= dependencies: currently-unhandled "^0.4.1" signal-exit "^3.0.0" @@ -1200,10 +1656,12 @@ loud-rejection@^1.0.0: map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= maxmin@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-1.1.0.tgz#71365e84a99dd8f8b3f7d5fde2f00d1e7f73be61" + integrity sha1-cTZehKmd2Piz99X94vANHn9zvmE= dependencies: chalk "^1.0.0" figures "^1.0.1" @@ -1213,6 +1671,7 @@ maxmin@^1.1.0: meow@^3.1.0, meow@^3.3.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= dependencies: camelcase-keys "^2.0.0" decamelize "^1.1.2" @@ -1225,43 +1684,61 @@ meow@^3.1.0, meow@^3.3.0: redent "^1.0.0" trim-newlines "^1.0.0" -mime-db@~1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== -mime-types@^2.1.12, mime-types@~2.1.7: - version "2.1.14" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" +mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.7: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== dependencies: - mime-db "~1.26.0" + mime-db "1.40.0" mime@^1.2.11: - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.0, minimatch@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.0, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: - brace-expansion "^1.0.0" + brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.3: +minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= -mkdirp@0.5.0, mkdirp@0.x.x, mkdirp@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" +mkdirp@0.5.1, mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + multimatch@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis= dependencies: array-differ "^1.0.0" array-union "^1.0.1" @@ -1269,106 +1746,205 @@ multimatch@^2.0.0: minimatch "^3.0.0" mute-stream@~0.0.4: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.4.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" +nan@^2.6.2: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== natural-compare@~1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.2.2.tgz#1f96d60e3141cac1b6d05653ce0daeac763af6aa" + integrity sha1-H5bWDjFBysG20FZTzg2urHY69qo= ncp@0.4.x: version "0.4.2" resolved "https://registry.yarnpkg.com/ncp/-/ncp-0.4.2.tgz#abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574" + integrity sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ= -"nomnom@>= 1.5.x": +node-abi@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.8.0.tgz#bd2e88dbe6a6871e6dd08553e0605779325737ec" + integrity sha512-1/aa2clS0pue0HjckL62CsbhWWU35HARvBDXcJtYKbYR7LnIutmpxmXbuDMV9kEviD2lP/wACOgWmmwljghHyQ== + dependencies: + semver "^5.4.1" + +node-gyp@^3.6.2: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +nomnom@^1.5.x: version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" + integrity sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc= dependencies: chalk "~0.4.0" underscore "~1.6.0" -nopt@~3.0.6: +noop-logger@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" + integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= + +"nopt@2 || 3", nopt@~3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= dependencies: abbrev "1" normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.3.5" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" + resolve "^1.10.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" normalize-path@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + integrity sha1-Rqarfwrq2N6unsBWV4C31O/rnUM= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -once@^1.3.0: +object-keys@^1.0.11, object-keys@^1.0.12: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.0.4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" -once@~1.3.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@0: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== dependencies: - wrappy "1" + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" "package@>= 1.0.0 < 1.2.0": version "1.0.1" resolved "https://registry.yarnpkg.com/package/-/package-1.0.1.tgz#d25a1f99e2506dcb27d6704b83dca8a312e4edcc" + integrity sha1-0lofmeJQbcsn1nBLg9yooxLk7cw= pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= dependencies: error-ex "^1.2.0" parse-ms@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" + integrity sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0= parserlib@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/parserlib/-/parserlib-1.1.1.tgz#a64cfa724062434fdfc351c9a4ec2d92b94c06f4" + integrity sha1-pkz6ckBiQ0/fw1HJpOwtkrlMBvQ= path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= dependencies: pinkie-promise "^2.0.0" path-is-absolute@^1.0.0, path-is-absolute@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-type@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= dependencies: graceful-fs "^4.1.2" pify "^2.0.0" @@ -1377,95 +1953,141 @@ path-type@^1.0.0: pathval@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pathval/-/pathval-0.1.1.tgz#08f911cdca9cce5942880da7817bc0b723b66d82" + integrity sha1-CPkRzcqczllCiA2ngXvAtyO2bYI= pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -phantomjs-prebuilt@^2.1.3, phantomjs-prebuilt@~2.1.8: - version "2.1.14" - resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.14.tgz#d53d311fcfb7d1d08ddb24014558f1188c516da0" +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + integrity sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU= + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +phantomjs-prebuilt@^2.1.3, phantomjs-prebuilt@~2.1.16: + version "2.1.16" + resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz#efd212a4a3966d3647684ea8ba788549be2aefef" + integrity sha1-79ISpKOWbTZHaE6ouniFSb4q7+8= dependencies: - es6-promise "~4.0.3" - extract-zip "~1.5.0" - fs-extra "~1.0.0" - hasha "~2.2.0" - kew "~0.7.0" - progress "~1.1.8" - request "~2.79.0" - request-progress "~2.0.1" - which "~1.2.10" + es6-promise "^4.0.3" + extract-zip "^1.6.5" + fs-extra "^1.0.0" + hasha "^2.2.0" + kew "^0.7.0" + progress "^1.1.8" + request "^2.81.0" + request-progress "^2.0.1" + which "^1.2.10" pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= pkg-up@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" + integrity sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY= dependencies: find-up "^1.0.0" pkginfo@0.3.x: version "0.3.1" resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21" + integrity sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE= pkginfo@0.x.x: - version "0.4.0" - resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.0.tgz#349dbb7ffd38081fcadc0853df687f0c7744cd65" + version "0.4.1" + resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" + integrity sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8= plur@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" + integrity sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY= + +prebuild-install@^2.3.0: + version "2.5.3" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.5.3.tgz#9f65f242782d370296353710e9bc843490c19f69" + integrity sha512-/rI36cN2g7vDQnKWN8Uzupi++KjyqS9iS+/fpwG4Ea8d0Pip0PQ5bshUNzVwt+/D2MRfhVAplYMMvWLqWrCF/g== + dependencies: + detect-libc "^1.0.3" + expand-template "^1.0.2" + github-from-package "0.0.0" + minimist "^1.2.0" + mkdirp "^0.5.1" + node-abi "^2.2.0" + noop-logger "^0.1.1" + npmlog "^4.0.1" + os-homedir "^1.0.1" + pump "^2.0.1" + rc "^1.1.6" + simple-get "^2.7.0" + tar-fs "^1.13.0" + tunnel-agent "^0.6.0" + which-pm-runs "^1.0.0" pretty-bytes@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" + integrity sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ= dependencies: get-stdin "^4.0.1" meow "^3.1.0" -pretty-bytes@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf" - dependencies: - number-is-nan "^1.0.0" +pretty-bytes@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" + integrity sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk= pretty-ms@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" + integrity sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw= dependencies: is-finite "^1.0.1" parse-ms "^1.0.0" plur "^1.0.0" -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== -progress@~1.1.8: +progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= promise@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: asap "~2.0.3" prompt@~0.2.14: version "0.2.14" resolved "https://registry.yarnpkg.com/prompt/-/prompt-0.2.14.tgz#57754f64f543fd7b0845707c818ece618f05ffdc" + integrity sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w= dependencies: pkginfo "0.x.x" read "1.0.x" @@ -1473,21 +2095,66 @@ prompt@~0.2.14: utile "0.2.x" winston "0.8.x" -prr@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +psl@^1.1.24: + version "1.1.31" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" + integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== + +pump@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" + integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + integrity sha1-E+JtKK1rD/qpExLNO/cI7TUecjM= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +rc@^1.1.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= dependencies: find-up "^1.0.0" read-pkg "^1.0.0" @@ -1495,6 +2162,7 @@ read-pkg-up@^1.0.1: read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= dependencies: load-json-file "^1.0.0" normalize-package-data "^2.3.2" @@ -1503,80 +2171,83 @@ read-pkg@^1.0.0: read@1.0.x: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= dependencies: mute-stream "~0.0.4" readable-stream@1.1: version "1.1.13" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" + integrity sha1-9u73ZPUUyJ4rniMUanW6EGdW0j4= dependencies: core-util-is "~1.0.0" inherits "~2.0.1" isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, readable-stream@^2.0.4, readable-stream@^2.0.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-stream@~2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" +readable-stream@^2.0.0, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== dependencies: core-util-is "~1.0.0" - inherits "~2.0.1" + inherits "~2.0.3" isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" util-deprecate "~1.0.1" redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= dependencies: indent-string "^2.1.0" strip-indent "^1.0.1" -regenerator-runtime@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= repeat-string@^1.5.2: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= repeating@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= dependencies: is-finite "^1.0.0" -request-progress@~2.0.1: +request-progress@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08" + integrity sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg= dependencies: throttleit "^1.0.0" -request@^2.72.0, request@~2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" +request@2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + integrity sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA= dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" - caseless "~0.11.0" + caseless "~0.12.0" combined-stream "~1.0.5" extend "~3.0.0" forever-agent "~0.6.1" form-data "~2.1.1" - har-validator "~2.0.6" + har-validator "~4.2.1" hawk "~3.1.3" http-signature "~1.1.0" is-typedarray "~1.0.0" @@ -1584,193 +2255,366 @@ request@^2.72.0, request@~2.79.0: json-stringify-safe "~5.0.1" mime-types "~2.1.7" oauth-sign "~0.8.1" - qs "~6.3.0" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" stringstream "~0.0.4" tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" + tunnel-agent "^0.6.0" uuid "^3.0.0" +request@^2.81.0, request@^2.87.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + reserved-words@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.1.tgz#6f7c15e5e5614c50da961630da46addc87c0cef2" + version "0.1.2" + resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" + integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= resolve-from@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" + integrity sha1-lICrIOlP+h2egKgEx+oUdhGWa1c= resolve-pkg@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-0.1.0.tgz#02cc993410e2936962bd97166a1b077da9725531" + integrity sha1-AsyZNBDik2livZcWahsHfalyVTE= dependencies: resolve-from "^2.0.0" -resolve@^1.1.6, resolve@~1.1.0: +resolve@^1.1.6, resolve@^1.10.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232" + integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw== + dependencies: + path-parse "^1.0.6" + +resolve@~1.1.0: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= revalidator@0.1.x: version "0.1.8" resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" + integrity sha1-/s5hv6DBtSoga9axgZgYS91SOjs= right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8= dependencies: align-text "^0.1.1" -rimraf@2.x.x, rimraf@^2.5.1, rimraf@^2.5.2: - version "2.5.4" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" +rimraf@2, rimraf@2.x.x, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: - glob "^7.0.5" + glob "^7.1.3" -rimraf@~2.2.8: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" +safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -"semver@2 || 3 || 4 || 5", semver@^5.1.0: +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.4.1: + version "5.7.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" + integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== + +semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= shelljs@0.3.x: version "0.3.0" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1" + integrity sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E= signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +simple-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" + integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= + +simple-get@^2.7.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" + integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + integrity sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg= dependencies: hoek "2.x.x" source-map-support@^0.4.0: - version "0.4.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.10.tgz#d7b19038040a14c0837a18e630a196453952b378" + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== dependencies: - source-map "^0.5.3" + source-map "^0.5.6" source-map@0.4.x: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + integrity sha1-66T12pwNyZneaAMti092FzZSA2s= dependencies: amdefine ">=0.0.4" -source-map@^0.5.3, source-map@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" +source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" +spdx-correct@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== dependencies: - spdx-license-ids "^1.0.2" + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" +spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" + integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA== + +sprintf-js@^1.0.3: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" ecc-jsbn "~0.1.1" - jodid25519 "^1.0.0" + getpass "^0.1.1" jsbn "~0.1.0" + safer-buffer "^2.0.2" tweetnacl "~0.14.0" stack-trace@0.0.x: - version "0.0.9" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.9.tgz#a8f6eaeca90674c333e7c43953f275b451510695" + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= stream-buffers@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" + integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" stringstream@~0.0.4: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + version "0.0.6" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" + integrity sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA== -strip-ansi@^3.0.0: +strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= dependencies: is-utf8 "^0.2.0" strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= dependencies: get-stdin "^4.0.1" strip-json-comments@1.0.x, strip-json-comments@~1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= -strip-json-comments@^2.0.1: +strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -tar-stream@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.2.tgz#fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +tar-fs@^1.13.0: + version "1.16.3" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" + integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== + dependencies: + chownr "^1.0.1" + mkdirp "^0.5.1" + pump "^1.0.0" + tar-stream "^1.1.2" + +tar-stream@^1.1.2, tar-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== dependencies: bl "^1.0.0" + buffer-alloc "^1.2.0" end-of-stream "^1.0.0" - readable-stream "^2.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" xtend "^4.0.0" +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + temporary@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/temporary/-/temporary-0.0.8.tgz#a18a981d28ba8ca36027fb3c30538c3ecb740ac0" + integrity sha1-oYqYHSi6jKNgJ/s8MFOMPst0CsA= dependencies: package ">= 1.0.0 < 1.2.0" text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= throttleit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" + integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= time-grunt@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/time-grunt/-/time-grunt-1.4.0.tgz#062213e660c907e86f440556c01ea6597b712420" + integrity sha1-BiIT5mDJB+hvRAVWwB6mWXtxJCA= dependencies: chalk "^1.0.0" date-time "^1.1.0" @@ -1783,69 +2627,109 @@ time-grunt@^1.4.0: time-zone@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-0.1.0.tgz#4a7728b6ac28db0e008f514043fd555bd5573b46" + integrity sha1-Sncotqwo2w4Aj1FAQ/1VW9VXO0Y= + +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== to-double-quotes@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-double-quotes/-/to-double-quotes-2.0.0.tgz#aaf231d6fa948949f819301bbab4484d8588e4a7" + integrity sha1-qvIx1vqUiUn4GTAburRITYWI5Kc= to-single-quotes@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/to-single-quotes/-/to-single-quotes-2.0.1.tgz#7cc29151f0f5f2c41946f119f5932fe554170125" + integrity sha1-fMKRUfD18sQZRvEZ9ZMv5VQXASU= tough-cookie@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + integrity sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA== dependencies: punycode "^1.4.1" +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= -typedarray@~0.0.5: +typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -uglify-js@~2.7.0: - version "2.7.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" +uglify-js@~2.8.21: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0= dependencies: - async "~0.2.6" source-map "~0.5.1" - uglify-to-browserify "~1.0.0" yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= -underscore.string@~3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.2.3.tgz#806992633665d5e5fcb4db1fb3a862eb68e9e6da" +underscore.string@~3.3.4: + version "3.3.5" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023" + integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg== + dependencies: + sprintf-js "^1.0.3" + util-deprecate "^1.0.2" underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" + integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" uri-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/uri-path/-/uri-path-1.0.0.tgz#9747f018358933c31de0fccfd82d138e67262e32" + integrity sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI= -util-deprecate@~1.0.1: +util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= utile@0.2.x: version "0.2.1" resolved "https://registry.yarnpkg.com/utile/-/utile-0.2.1.tgz#930c88e99098d6220834c356cbd9a770522d90d7" + integrity sha1-kwyI6ZCY1iIINMNWy9mncFItkNc= dependencies: async "~0.2.9" deep-equal "*" @@ -1857,27 +2741,34 @@ utile@0.2.x: uuid@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= -uuid@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" +uuid@^3.0.0, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" -verror@1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: - extsprintf "1.0.2" + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" vow-fs@~0.3.4: version "0.3.6" resolved "https://registry.yarnpkg.com/vow-fs/-/vow-fs-0.3.6.tgz#2d4c59be22e2bf2618ddf597ab4baa923be7200d" + integrity sha1-LUxZviLivyYY3fWXq0uqkjvnIA0= dependencies: glob "^7.0.5" uuid "^2.0.2" @@ -1885,32 +2776,50 @@ vow-fs@~0.3.4: vow-queue "^0.4.1" vow-queue@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/vow-queue/-/vow-queue-0.4.2.tgz#e7fe17160e15c7c4184d1b666a9bc64e18e30184" + version "0.4.3" + resolved "https://registry.yarnpkg.com/vow-queue/-/vow-queue-0.4.3.tgz#4ba8f64b56e9212c0dbe57f1405aeebd54cce78d" + integrity sha512-/poAKDTFL3zYbeQg7cl4BGcfP4sGgXKrHnRFSKj97dteUFu8oyXMwIcdwu8NSx/RmPGIuYx1Bik/y5vU4H/VKw== dependencies: - vow "~0.4.0" + vow "^0.4.17" -vow@^0.4.7, vow@~0.4.0, vow@~0.4.1, vow@~0.4.8: - version "0.4.13" - resolved "https://registry.yarnpkg.com/vow/-/vow-0.4.13.tgz#e7c14f1bd9c8be0e7359a4597fe2d1ef6d1a7e88" +vow@^0.4.17, vow@^0.4.7, vow@~0.4.1, vow@~0.4.8: + version "0.4.19" + resolved "https://registry.yarnpkg.com/vow/-/vow-0.4.19.tgz#cc5ef4d6bb6972d830830a7c9ecf8ad834a7c525" + integrity sha512-S+0+CiQlbUhTNWMlJdqo/ARuXOttXdvw5ACGyh1W97NFHUdwt3Fzyaus03Kvdmo733dwnYS9AGJSDg0Zu8mNfA== walkdir@^0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532" + integrity sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI= -which@~1.2.1, which@~1.2.10: - version "1.2.12" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +which@1, which@^1.2.10, which@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: - isexe "^1.1.1" + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= winston@0.8.x: version "0.8.3" resolved "https://registry.yarnpkg.com/winston/-/winston-0.8.3.tgz#64b6abf4cd01adcaefd5009393b1d8e8bec19db0" + integrity sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA= dependencies: async "0.2.x" colors "0.6.x" @@ -1923,24 +2832,29 @@ winston@0.8.x: wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= xmlbuilder@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-3.1.0.tgz#2c86888f2d4eade850fa38ca7f7223f7209516e1" + integrity sha1-LIaIjy1OrehQ+jjKf3Ij9yCVFuE= dependencies: lodash "^3.5.0" xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= dependencies: camelcase "^1.0.2" cliui "^2.1.0" @@ -1950,14 +2864,16 @@ yargs@~3.10.0: yauzl@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" + integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= dependencies: fd-slicer "~1.0.1" zip-stream@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.1.1.tgz#5216b48bbb4d2651f64d5c6e6f09eb4a7399d557" + version "1.2.0" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" + integrity sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ= dependencies: archiver-utils "^1.3.0" - compress-commons "^1.1.0" + compress-commons "^1.2.0" lodash "^4.8.0" readable-stream "^2.0.0" diff --git a/front/lib/AdminLTE/bower_components/bootstrap-slider/.bower.json b/front/lib/AdminLTE/bower_components/bootstrap-slider/.bower.json deleted file mode 100644 index c3bd2087..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-slider/.bower.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "bootstrap-slider", - "main": [ - "bootstrap-slider.js", - "slider.css" - ], - "homepage": "https://github.com/pammacdotnet/bootstrap-slider", - "authors": [ - "pammacdotnet" - ], - "description": "Eyecon Slider for Bootstrap", - "keywords": [ - "slider", - "bootstrap" - ], - "license": "Apache", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ], - "_release": "879a98dcd0", - "_resolution": { - "type": "branch", - "branch": "master", - "commit": "879a98dcd0923107363861e56423f3cc1c2472e7" - }, - "_source": "https://github.com/pammacdotnet/bootstrap-slider.git", - "_target": "*", - "_originalSource": "bootstrap-slider" -} \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-slider/README.md b/front/lib/AdminLTE/bower_components/bootstrap-slider/README.md deleted file mode 100644 index 2a073efe..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-slider/README.md +++ /dev/null @@ -1,26 +0,0 @@ -Bootstrap Slider -============= - -Fork of eyecon's [bootstrap-slider](http://www.eyecon.ro/bootstrap-slider/). - -Specially remastered for iLIME Project @ UNIR Research. More info: -[http://blogs.unir.net/elearning/telsock-research-group/](http://) - -![ScreenShot](https://raw.github.com/pammacdotnet/bootstrap-slider/master/locks.png) - -Changes ----------- -Current changes include: - -+ Better responsive support -+ Updated look and feel -+ Minor layout tweaks -+ Removed built-in handle types -+ Bower install -+ Limits and locks - - - - - - diff --git a/front/lib/AdminLTE/bower_components/bootstrap-slider/bootstrap-slider.js b/front/lib/AdminLTE/bower_components/bootstrap-slider/bootstrap-slider.js deleted file mode 100644 index 2191faf3..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-slider/bootstrap-slider.js +++ /dev/null @@ -1,427 +0,0 @@ -/* ========================================================= - * bootstrap-slider.js v2.0.0 - * http://www.eyecon.ro/bootstrap-slider - * ========================================================= - * Copyright 2012 Stefan Petre - * - * 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. - * ========================================================= */ - -!function( $ ) { - - var Slider = function(element, options) { - this.dragLocked = false; - this.limit = 100000; - this.element = $(element).hide(); - this.picker = $('
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
') - .insertBefore(this.element) - .append(this.element); - this.id = this.element.data('slider-id')||options.id; - if (this.id) { - this.picker[0].id = this.id; - } - - if (typeof Modernizr !== 'undefined' && Modernizr.touch) { - this.touchCapable = true; - } - - var tooltip = this.element.data('slider-tooltip')||options.tooltip; - - this.tooltip = this.picker.find('.tooltip'); - this.tooltipInner = this.tooltip.find('div.tooltip-inner'); - - this.orientation = this.element.data('slider-orientation')||options.orientation; - switch(this.orientation) { - case 'vertical': - this.picker.addClass('slider-vertical'); - this.stylePos = 'top'; - this.mousePos = 'pageY'; - this.sizePos = 'offsetHeight'; - this.tooltip.addClass('right')[0].style.left = '100%'; - break; - default: - this.picker - .addClass('slider-horizontal') - .css('width', this.element.outerWidth()); - this.orientation = 'horizontal'; - this.stylePos = 'left'; - this.mousePos = 'pageX'; - this.sizePos = 'offsetWidth'; - this.tooltip.addClass('top')[0].style.top = -this.tooltip.outerHeight() - 14 + 'px'; - break; - } - - this.min = this.element.data('slider-min')||options.min; - this.max = this.element.data('slider-max')||options.max; - this.step = this.element.data('slider-step')||options.step; - this.value = this.element.data('slider-value')||options.value; - if (this.value[1]) { - this.range = true; - } - - this.selection = this.element.data('slider-selection')||options.selection; - this.selectionEl = this.picker.find('.slider-selection'); - if (this.selection === 'none') { - this.selectionEl.addClass('hide'); - } - this.selectionElStyle = this.selectionEl[0].style; - - - this.handle1 = this.picker.find('.slider-handle:first'); - this.handle1Stype = this.handle1[0].style; - this.handle2 = this.picker.find('.slider-handle:last'); - this.handle2Stype = this.handle2[0].style; - - var handle = this.element.data('slider-handle')||options.handle; - switch(handle) { - case 'round': - this.handle1.addClass('round'); - this.handle2.addClass('round'); - break - case 'triangle': - this.handle1.addClass('triangle'); - this.handle2.addClass('triangle'); - break - } - - if (this.range) { - this.value[0] = Math.max(this.min, Math.min(this.max, this.value[0])); - this.value[1] = Math.max(this.min, Math.min(this.max, this.value[1])); - } else { - this.value = [ Math.max(this.min, Math.min(this.max, this.value))]; - this.handle2.addClass('hide'); - if (this.selection == 'after') { - this.value[1] = this.max; - } else { - this.value[1] = this.min; - } - } - this.diff = this.max - this.min; - this.percentage = [ - (this.value[0]-this.min)*100/this.diff, - (this.value[1]-this.min)*100/this.diff, - this.step*100/this.diff - ]; - - this.offset = this.picker.offset(); - this.size = this.picker[0][this.sizePos]; - - this.formater = options.formater; - this.reversed = this.element.data('slider-reversed')||options.reversed; - - this.layout(); - - if (this.touchCapable) { - // Touch: Bind touch events: - this.picker.on({ - touchstart: $.proxy(this.mousedown, this) - }); - } else { - this.picker.on({ - mousedown: $.proxy(this.mousedown, this) - }); - } - - if (tooltip === 'show') { - this.picker.on({ - mouseenter: $.proxy(this.showTooltip, this), - mouseleave: $.proxy(this.hideTooltip, this) - }); - } else { - this.tooltip.addClass('hide'); - } - }; - - Slider.prototype = { - constructor: Slider, - - over: false, - inDrag: false, - - showTooltip: function(){ - this.tooltip.addClass('in'); - //var left = Math.round(this.percent*this.width); - //this.tooltip.css('left', left - this.tooltip.outerWidth()/2); - this.over = true; - }, - - hideTooltip: function(){ - if (this.inDrag === false) { - this.tooltip.removeClass('in'); - } - this.over = false; - }, - - layout: function(){ - var positionPercentages; - - if(this.reversed) { - positionPercentages = [ this.percentage[1] - this.percentage[0], this.percentage[1] ]; - } else { - positionPercentages = [ this.percentage[0], this.percentage[1] ]; - } - - this.handle1Stype[this.stylePos] = positionPercentages[0]+'%'; - this.handle2Stype[this.stylePos] = positionPercentages[1]+'%'; - if (this.orientation == 'vertical') { - this.selectionElStyle.top = Math.min(positionPercentages[0], positionPercentages[1]) +'%'; - this.selectionElStyle.height = Math.abs(positionPercentages[0] - positionPercentages[1]) +'%'; - } else { - this.selectionElStyle.left = Math.min(positionPercentages[0], positionPercentages[1]) +'%'; - this.selectionElStyle.width = Math.abs(positionPercentages[0] - positionPercentages[1]) +'%'; - } - - if (this.range) { - this.tooltipInner.text( - this.formater(this.value[0]) + - ' : ' + - this.formater(this.value[1]) - ); - this.tooltip[0].style[this.stylePos] = this.size * (positionPercentages[0] + (positionPercentages[1] - positionPercentages[0])/2)/100 - (this.orientation === 'vertical' ? this.tooltip.outerHeight()/2 : this.tooltip.outerWidth()/2) +'px'; - } else { - this.tooltipInner.text( - this.formater(this.value[0]) - ); - this.tooltip[0].style[this.stylePos] = this.size * positionPercentages[0]/100 - (this.orientation === 'vertical' ? this.tooltip.outerHeight()/2 : this.tooltip.outerWidth()/2) +'px'; - } - }, - - mousedown: function(ev) { - - if (!this.dragLocked){ - // Touch: Get the original event: - if (this.touchCapable && ev.type === 'touchstart') { - ev = ev.originalEvent; - } - - this.offset = this.picker.offset(); - this.size = this.picker[0][this.sizePos]; - - var percentage = this.getPercentage(ev); - - if (this.range) { - var diff1 = Math.abs(this.percentage[0] - percentage); - var diff2 = Math.abs(this.percentage[1] - percentage); - this.dragged = (diff1 < diff2) ? 0 : 1; - } else { - this.dragged = 0; - } - - this.percentage[this.dragged] = this.reversed ? this.percentage[1] - percentage : percentage; - this.layout(); - - if (this.touchCapable) { - // Touch: Bind touch events: - $(document).on({ - touchmove: $.proxy(this.mousemove, this), - touchend: $.proxy(this.mouseup, this) - }); - } else { - $(document).on({ - mousemove: $.proxy(this.mousemove, this), - mouseup: $.proxy(this.mouseup, this) - }); - } - - this.inDrag = true; - var val = this.calculateValue(); - - this.setValue(val); - this.element.trigger({ - type: 'slideStart', - value: val - }).trigger({ - type: 'slide', - value: val - }); - return false; - } - }, - - mousemove: function(ev) { - // Touch: Get the original event: - if (!this.dragLocked){ - if (this.touchCapable && ev.type === 'touchmove') { - ev = ev.originalEvent; - } - - var percentage = this.getPercentage(ev); - if (this.range) { - if (this.dragged === 0 && this.percentage[1] < percentage) { - this.percentage[0] = this.percentage[1]; - this.dragged = 1; - } else if (this.dragged === 1 && this.percentage[0] > percentage) { - this.percentage[1] = this.percentage[0]; - this.dragged = 0; - } - } - x = this.reversed ? this.percentage[1] - percentage : percentage; - if (x > this.limit) { - return ; - } - this.percentage[this.dragged] = x; - this.layout(); - var val = this.calculateValue(); - this.setValue(val); - - this.element - .trigger({ - type: 'slide', - value: val - }) - .data('value', val) - .prop('value', val); - return false; - } - }, - - mouseup: function(ev) { - if (this.touchCapable) { - // Touch: Bind touch events: - $(document).off({ - touchmove: this.mousemove, - touchend: this.mouseup - }); - } else { - $(document).off({ - mousemove: this.mousemove, - mouseup: this.mouseup - }); - } - - this.inDrag = false; - if (this.over == false) { - this.hideTooltip(); - } - this.element; - var val = this.calculateValue(); - this.layout(); - this.element - .trigger({ - type: 'slideStop', - value: val - }) - .data('value', val) - .prop('value', val); - return false; - }, - - calculateValue: function() { - var val; - if (this.range) { - val = [ - (this.min + Math.round((this.diff * this.percentage[0]/100)/this.step)*this.step), - (this.min + Math.round((this.diff * this.percentage[1]/100)/this.step)*this.step) - ]; - this.value = val; - } else { - val = (this.min + Math.round((this.diff * this.percentage[0]/100)/this.step)*this.step); - this.value = [val, this.value[1]]; - } - return val; - }, - - getPercentage: function(ev) { - if (this.touchCapable) { - ev = ev.touches[0]; - } - var percentage = (ev[this.mousePos] - this.offset[this.stylePos])*100/this.size; - percentage = Math.round(percentage/this.percentage[2])*this.percentage[2]; - return Math.max(0, Math.min(100, percentage)); - }, - - getValue: function() { - if (this.range) { - return this.value; - } - return this.value[0]; - }, - setLimit: function(val) { - this.limit = val; - }, - setDragLocked: function(val) { - this.dragLocked = val; - }, - getDragLocked: function(val) { - return this.dragLocked; - }, - setValue: function(val) { - this.value = val; - - if (this.range) { - this.value[0] = Math.max(this.min, Math.min(this.max, this.value[0])); - this.value[1] = Math.max(this.min, Math.min(this.max, this.value[1])); - } else { - this.value = [ Math.max(this.min, Math.min(this.max, this.value))]; - this.handle2.addClass('hide'); - if (this.selection == 'after') { - this.value[1] = this.max; - } else { - this.value[1] = this.min; - } - } - this.diff = this.max - this.min; - this.percentage = [ - (this.value[0]-this.min)*100/this.diff, - (this.value[1]-this.min)*100/this.diff, - this.step*100/this.diff - ]; - this.layout(); - }, - destroy: function(){ - this.element.show().insertBefore(this.picker); - this.picker.remove(); - }, - }; - - $.fn.slider = function ( option, val ) { - return this.each(function () { - var $this = $(this), - data = $this.data('slider'), - options = typeof option === 'object' && option; - if (!data) { - $this.data('slider', (data = new Slider(this, $.extend({}, $.fn.slider.defaults,options)))); - } - if (typeof option == 'string') { - data[option](val); - } - }) - }; - - $.fn.slider.defaults = { - min: 0, - max: 10, - step: 1, - orientation: 'horizontal', - value: 5, - selection: 'before', - tooltip: 'show', - handle: 'round', - reversed : false, - limit: 100000, - dragLocked: false, - formater: function(value) { - return value; - } - }; - - $.fn.slider.Constructor = Slider; - -}( window.jQuery ); diff --git a/front/lib/AdminLTE/bower_components/bootstrap-slider/bower.json b/front/lib/AdminLTE/bower_components/bootstrap-slider/bower.json deleted file mode 100644 index 4f0242c4..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-slider/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "bootstrap-slider", - "main": ["bootstrap-slider.js", "slider.css"], - "version": "2.0.0", - "homepage": "https://github.com/pammacdotnet/bootstrap-slider", - "authors": [ - "pammacdotnet" - ], - "description": "Eyecon Slider for Bootstrap", - "keywords": [ - "slider", - "bootstrap" - ], - "license": "Apache", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ] -} diff --git a/front/lib/AdminLTE/bower_components/bootstrap-slider/locks.png b/front/lib/AdminLTE/bower_components/bootstrap-slider/locks.png deleted file mode 100644 index b29baf4e..00000000 Binary files a/front/lib/AdminLTE/bower_components/bootstrap-slider/locks.png and /dev/null differ diff --git a/front/lib/AdminLTE/bower_components/bootstrap-slider/slider.css b/front/lib/AdminLTE/bower_components/bootstrap-slider/slider.css deleted file mode 100644 index 1447d089..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-slider/slider.css +++ /dev/null @@ -1,178 +0,0 @@ -/*! - * Slider for Bootstrap - * - * Copyright 2012 Stefan Petre - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ -.slider { - display: inline-block; - vertical-align: middle; - position: relative; - margin-bottom: 10px -} - -.slider[class*="span"] { - float: none; - margin-left: 0; -} - -.slider-horizontal { - width: 210px; - height: 20px; -} - -.slider-horizontal .slider-handle-container, -.slider-horizontal .slider-track { - height: 10px; - margin-top: -5px; - top: 50%; -} - -.slider-horizontal .slider-track { - left: 0; - right: 0; -} - -.slider-horizontal .slider-handle-container { - left: 10px; - right: 10px; -} - -.slider-horizontal .slider-selection { - height: 100%; - top: 0; - bottom: 0; -} - -.slider-horizontal .slider-handle { - margin-left: -10px; - margin-top: -5px; -} - -.slider-vertical { - height: 210px; - width: 20px; -} - -.slider-vertical .slider-handle-container, -.slider-vertical .slider-track { - width: 10px; - margin-left: -5px; - left: 50%; -} - -.slider-vertical .slider-track { - top: 0; - bottom: 0; -} - -.slider-vertical .slider-handle-container { - top: 10px; - bottom: 10px; -} -.slider-vertical .slider-selection { - width: 100%; - left: 0; - top: 0; - bottom: 0; -} - -.slider-vertical .slider-handle { - margin-left: -5px; - margin-top: -10px; -} - -.slider input, -.slider input[class*="span"] { - display: none; -} - -.slider .tooltip-inner { - white-space: nowrap; -} - -.slider-handle-container { - position: absolute; -} - -.slider-track { - position: absolute; - cursor: pointer; - background-color: #f7f7f7; - background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); - background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); - background-repeat: repeat-x; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -} - -.slider-selection { - position: absolute; - background-color: #e6e6e6; - background-image: -moz-linear-gradient(top, #f0f0f0, #e0e0e0); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f0f0f0), to(#e0e0e0)); - background-image: -webkit-linear-gradient(top, #f0f0f0, #e0e0e0); - background-image: -o-linear-gradient(top, #f0f0f0, #e0e0e0); - background-image: linear-gradient(to bottom, #f0f0f0, #e0e0e0); - background-repeat: repeat-x; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-border-radius: 20px; - -moz-border-radius: 20px; - border-radius: 20px; -} - -.slider-handle { - position: absolute; - width: 20px; - height: 20px; - cursor: pointer; -} - -.slider-knob { - width: 20px; - height: 20px; - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #e6e6e6, #ffffff); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#ffffff)); - background-image: -webkit-linear-gradient(top, #e6e6e6, #ffffff); - background-image: -o-linear-gradient(top, #e6e6e6, #ffffff); - background-image: linear-gradient(to bottom, #e6e6e6, #ffffff); - background-repeat: repeat-x; - border: 1px solid #bbbbbb; - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - border-bottom-color: #a2a2a2; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -webkit-border-radius: 20px; - -moz-border-radius: 20px; - border-radius: 20px; -} - -.slider-handle:active .slider-knob, -.slider-handle:hover .slider-knob { - background-color: #e6e6e6; - background-position: 0 5px; - -webkit-transition: background-position 0.1s linear; - -moz-transition: background-position 0.1s linear; - -o-transition: background-position 0.1s linear; - transition: background-position 0.1s linear; -} \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/.bower.json b/front/lib/AdminLTE/bower_components/bootstrap-timepicker/.bower.json deleted file mode 100644 index dfe8dd6c..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/.bower.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "bootstrap-timepicker", - "description": "A timepicker component for Twitter Bootstrap", - "version": "0.5.2", - "main": "js/bootstrap-timepicker.js", - "license": "MIT", - "ignore": [ - "**/.*", - "_layouts", - "node_modules", - "_config.yml", - "assets", - "spec", - "index.html", - "Gruntfile.js", - "package.json", - "composer.json" - ], - "repository": { - "type": "git", - "url": "https://github.com/jdewit/bootstrap-timepicker" - }, - "dependencies": { - "bootstrap": "^3.0", - "jquery": "^2.0" - }, - "devDependencies": { - "autotype": "https://raw.github.com/mmonteleone/jquery.autotype/master/jquery.autotype.js" - }, - "keywords": [ - "widget", - "timepicker", - "time" - ], - "homepage": "https://github.com/jdewit/bootstrap-timepicker", - "_release": "0.5.2", - "_resolution": { - "type": "version", - "tag": "v0.5.2", - "commit": "5ac75ccbe2f53a7357fd97ca9afdebe014b4c027" - }, - "_source": "https://github.com/jdewit/bootstrap-timepicker.git", - "_target": "^0.5.2", - "_originalSource": "bootstrap-timepicker" -} \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/CHANGELOG.md b/front/lib/AdminLTE/bower_components/bootstrap-timepicker/CHANGELOG.md deleted file mode 100644 index 809b619d..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/CHANGELOG.md +++ /dev/null @@ -1,56 +0,0 @@ -# Changelog - -All notable changes will be documented in this file. This project -sort of conforms to Semantic Versioning. Since we're still pre-1.0, -it's like the Wild West up in here! - -## Unreleased -### Added (not started) -- Still planning out how to include i18n data and functionality. - -### Deprecated (not started) -- Incorrect usage of the word "meridian" will be deprecated. It should - be "meridiem". -- `showWidgetOnAddonClick`'s current behavior is not intuitive. Clicking - the input addon should _toggle_ the widget instead of showing it. - -## 0.5.2 - 2016-01-02 -### Added -- Tabbing out of the timepicker widget will now close it. -- You can specify your own icon classes. See docs for the option. - -### Changed -- Cleaned up `package.json` and `bower.json` files. The npm/bower package - should be cleaner now. -- `timepicker.less` now lives in the `css/` directory of the package. -- bootstrap-timepicker now uses the latest minor releases for jQuery 2 and - Bootstrap 3 - -### Fixed -- Fixed bad interaction between `setTime("12:00 AM")` and `showMeridian` -- Various documentation issues were fixed. - -## 0.5.1 - 2015-08-06 -### Changed -- Critical fix (#279) for bootstrap initialization. If you happened to - list your timepicker's classes in an order other than "input-group - bootstrap-timepicker", you'd be out of luck. Now we use jQuery's - `hasClass` method correctly. Yay! - -## 0.5 - 2015-07-31 -### Changed -- Bootstrap 3 support. No more Bootstrap 2 support. -- setTime sets time better -- more tests, and they exercise Bootstrap 3 support! -- snapToStep is a new option, off by default, which snaps times to the - nearest step or overflows to 0 if it would otherwise snap to 60 or - more. -- explicitMode is a new option, off by default, which lets you leave - out colons when typing times. -- shift+tab now correctly moves the cursor to the previously - highlighted unit, and blurs the timepicker when expected. -- We have cut out significant amounts of old cruft from the - repository. -- Minified/Uglified code is no longer kept in the repo. Please - download a release tarball or zip file to get the compiled and - minified CSS and Javascript files. diff --git a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/LICENSE b/front/lib/AdminLTE/bower_components/bootstrap-timepicker/LICENSE deleted file mode 100644 index a43ecdcf..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT license - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/README.md b/front/lib/AdminLTE/bower_components/bootstrap-timepicker/README.md deleted file mode 100644 index 28ee1213..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/README.md +++ /dev/null @@ -1,73 +0,0 @@ -Timepicker for Twitter Bootstrap -======= -[![Build Status](https://travis-ci.org/jdewit/bootstrap-timepicker.svg?branch=gh-pages)](https://travis-ci.org/jdewit/bootstrap-timepicker) - -A simple timepicker component for Twitter Bootstrap. - -Status -====== -Please take a look at the `CHANGELOG.md` and the issues tab for issues we're -working on and their relative priorities. - -Installation -============ - -This project is registered as a Bower package, -and can be installed with the following command: - -```bash -bower install bootstrap-timepicker -``` - -You can also download our latest release (and any previous release) -here. - -Demos & Documentation -===================== - -View demos & documentation. - -Support -======= - -If you make money using this timepicker, please consider -supporting its development. - -Click here to support bootstrap-timepicker! - -Contributing -============ - -1. Install NodeJS and Node Package Manager. - -2. Install packages - -```bash -npm install -``` - -3. Use Bower to get the dev dependencies. - -```bash -bower install -``` - -4. Use Grunt to run tests, compress assets, etc. - -```bash -grunt test // run jshint and jasmine tests -grunt watch // run jsHint and Jasmine tests whenever a file is changed -grunt compile // minify the js and css files -``` - -- Please make it easy on me by covering any new features or issues - with Jasmine tests. -- If your changes need documentation, please take the time to update the docs. - -Acknowledgements -================ - -Thanks to everyone who have given feedback and submitted pull requests. A -list of all the contributors can be found here. - -Special thanks to @eternicode and his Twitter Datepicker for inspiration. diff --git a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/bower.json b/front/lib/AdminLTE/bower_components/bootstrap-timepicker/bower.json deleted file mode 100644 index abb6afe8..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/bower.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "bootstrap-timepicker", - "description": "A timepicker component for Twitter Bootstrap", - "version": "0.5.2", - "main": "js/bootstrap-timepicker.js", - "license": "MIT", - "ignore": [ - "**/.*", - "_layouts", - "node_modules", - "_config.yml", - "assets", - "spec", - "index.html", - "Gruntfile.js", - "package.json", - "composer.json" - ], - "repository": { - "type": "git", - "url": "https://github.com/jdewit/bootstrap-timepicker" - }, - "dependencies": { - "bootstrap": "^3.0", - "jquery": "^2.0" - }, - "devDependencies": { - "autotype": "https://raw.github.com/mmonteleone/jquery.autotype/master/jquery.autotype.js" - }, - "keywords": [ - "widget", - "timepicker", - "time" - ] -} diff --git a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/css/timepicker.less b/front/lib/AdminLTE/bower_components/bootstrap-timepicker/css/timepicker.less deleted file mode 100644 index a2e813f9..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/css/timepicker.less +++ /dev/null @@ -1,172 +0,0 @@ -/*! - * Timepicker Component for Twitter Bootstrap - * - * Copyright 2013 Joris de Wit - * - * Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -.bootstrap-timepicker { - position: relative; - - &.pull-right { - .bootstrap-timepicker-widget { - &.dropdown-menu { - left: auto; - right: 0; - - &:before { - left: auto; - right: 12px; - } - &:after { - left: auto; - right: 13px; - } - } - } - } - - .input-group-addon { - cursor: pointer; - i { - display: inline-block; - width: 16px; - height: 16px; - } - } -} -.bootstrap-timepicker-widget { - &.dropdown-menu { - padding: 4px; - &.open { - display: inline-block; - } - &:before { - border-bottom: 7px solid rgba(0, 0, 0, 0.2); - border-left: 7px solid transparent; - border-right: 7px solid transparent; - content: ""; - display: inline-block; - position: absolute; - } - &:after { - border-bottom: 6px solid #FFFFFF; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - content: ""; - display: inline-block; - position: absolute; - } - } - &.timepicker-orient-left { - &:before { - left: 6px; - } - &:after { - left: 7px; - } - } - &.timepicker-orient-right { - &:before { - right: 6px; - } - &:after { - right: 7px; - } - } - &.timepicker-orient-top { - &:before { - top: -7px; - } - &:after { - top: -6px; - } - } - &.timepicker-orient-bottom { - &:before { - bottom: -7px; - border-bottom: 0; - border-top: 7px solid #999; - } - &:after { - bottom: -6px; - border-bottom: 0; - border-top: 6px solid #ffffff; - } - } - a.btn, input { - border-radius: 4px; - } - - table { - width: 100%; - margin: 0; - - td { - text-align: center; - height: 30px; - margin: 0; - padding: 2px; - - &:not(.separator) { - min-width: 30px; - } - - span { - width: 100%; - } - a { - border: 1px transparent solid; - width: 100%; - display: inline-block; - margin: 0; - padding: 8px 0; - outline: 0; - color: #333; - - &:hover { - text-decoration: none; - background-color: #eee; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - border-color: #ddd; - } - - i { - margin-top: 2px; - font-size: 18px; - } - } - input { - width: 25px; - margin: 0; - text-align: center; - } - } - } -} - -.bootstrap-timepicker-widget .modal-content { - padding: 4px; -} - -@media (min-width: 767px) { - .bootstrap-timepicker-widget.modal { - width: 200px; - margin-left: -100px; - } -} - -@media (max-width: 767px) { - .bootstrap-timepicker { - width: 100%; - - .dropdown-menu { - width: 100%; - } - } -} diff --git a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/js/bootstrap-timepicker.js b/front/lib/AdminLTE/bower_components/bootstrap-timepicker/js/bootstrap-timepicker.js deleted file mode 100644 index bbb923c5..00000000 --- a/front/lib/AdminLTE/bower_components/bootstrap-timepicker/js/bootstrap-timepicker.js +++ /dev/null @@ -1,1177 +0,0 @@ -/*! - * Timepicker Component for Twitter Bootstrap - * - * Copyright 2013 Joris de Wit and bootstrap-timepicker contributors - * - * Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -(function($, window, document) { - 'use strict'; - - // TIMEPICKER PUBLIC CLASS DEFINITION - var Timepicker = function(element, options) { - this.widget = ''; - this.$element = $(element); - this.defaultTime = options.defaultTime; - this.disableFocus = options.disableFocus; - this.disableMousewheel = options.disableMousewheel; - this.isOpen = options.isOpen; - this.minuteStep = options.minuteStep; - this.modalBackdrop = options.modalBackdrop; - this.orientation = options.orientation; - this.secondStep = options.secondStep; - this.snapToStep = options.snapToStep; - this.showInputs = options.showInputs; - this.showMeridian = options.showMeridian; - this.showSeconds = options.showSeconds; - this.template = options.template; - this.appendWidgetTo = options.appendWidgetTo; - this.showWidgetOnAddonClick = options.showWidgetOnAddonClick; - this.icons = options.icons; - this.maxHours = options.maxHours; - this.explicitMode = options.explicitMode; // If true 123 = 1:23, 12345 = 1:23:45, else invalid. - - this.handleDocumentClick = function (e) { - var self = e.data.scope; - // This condition was inspired by bootstrap-datepicker. - // The element the timepicker is invoked on is the input but it has a sibling for addon/button. - if (!(self.$element.parent().find(e.target).length || - self.$widget.is(e.target) || - self.$widget.find(e.target).length)) { - self.hideWidget(); - } - }; - - this._init(); - }; - - Timepicker.prototype = { - - constructor: Timepicker, - _init: function() { - var self = this; - - if (this.showWidgetOnAddonClick && (this.$element.parent().hasClass('input-group') && this.$element.parent().hasClass('bootstrap-timepicker'))) { - this.$element.parent('.input-group.bootstrap-timepicker').find('.input-group-addon').on({ - 'click.timepicker': $.proxy(this.showWidget, this) - }); - this.$element.on({ - 'focus.timepicker': $.proxy(this.highlightUnit, this), - 'click.timepicker': $.proxy(this.highlightUnit, this), - 'keydown.timepicker': $.proxy(this.elementKeydown, this), - 'blur.timepicker': $.proxy(this.blurElement, this), - 'mousewheel.timepicker DOMMouseScroll.timepicker': $.proxy(this.mousewheel, this) - }); - } else { - if (this.template) { - this.$element.on({ - 'focus.timepicker': $.proxy(this.showWidget, this), - 'click.timepicker': $.proxy(this.showWidget, this), - 'blur.timepicker': $.proxy(this.blurElement, this), - 'mousewheel.timepicker DOMMouseScroll.timepicker': $.proxy(this.mousewheel, this) - }); - } else { - this.$element.on({ - 'focus.timepicker': $.proxy(this.highlightUnit, this), - 'click.timepicker': $.proxy(this.highlightUnit, this), - 'keydown.timepicker': $.proxy(this.elementKeydown, this), - 'blur.timepicker': $.proxy(this.blurElement, this), - 'mousewheel.timepicker DOMMouseScroll.timepicker': $.proxy(this.mousewheel, this) - }); - } - } - - if (this.template !== false) { - this.$widget = $(this.getTemplate()).on('click', $.proxy(this.widgetClick, this)); - } else { - this.$widget = false; - } - - if (this.showInputs && this.$widget !== false) { - this.$widget.find('input').each(function() { - $(this).on({ - 'click.timepicker': function() { $(this).select(); }, - 'keydown.timepicker': $.proxy(self.widgetKeydown, self), - 'keyup.timepicker': $.proxy(self.widgetKeyup, self) - }); - }); - } - - this.setDefaultTime(this.defaultTime); - }, - - blurElement: function() { - this.highlightedUnit = null; - this.updateFromElementVal(); - }, - - clear: function() { - this.hour = ''; - this.minute = ''; - this.second = ''; - this.meridian = ''; - - this.$element.val(''); - }, - - decrementHour: function() { - if (this.showMeridian) { - if (this.hour === 1) { - this.hour = 12; - } else if (this.hour === 12) { - this.hour--; - - return this.toggleMeridian(); - } else if (this.hour === 0) { - this.hour = 11; - - return this.toggleMeridian(); - } else { - this.hour--; - } - } else { - if (this.hour <= 0) { - this.hour = this.maxHours - 1; - } else { - this.hour--; - } - } - }, - - decrementMinute: function(step) { - var newVal; - - if (step) { - newVal = this.minute - step; - } else { - newVal = this.minute - this.minuteStep; - } - - if (newVal < 0) { - this.decrementHour(); - this.minute = newVal + 60; - } else { - this.minute = newVal; - } - }, - - decrementSecond: function() { - var newVal = this.second - this.secondStep; - - if (newVal < 0) { - this.decrementMinute(true); - this.second = newVal + 60; - } else { - this.second = newVal; - } - }, - - elementKeydown: function(e) { - switch (e.which) { - case 9: //tab - if (e.shiftKey) { - if (this.highlightedUnit === 'hour') { - this.hideWidget(); - break; - } - this.highlightPrevUnit(); - } else if ((this.showMeridian && this.highlightedUnit === 'meridian') || (this.showSeconds && this.highlightedUnit === 'second') || (!this.showMeridian && !this.showSeconds && this.highlightedUnit ==='minute')) { - this.hideWidget(); - break; - } else { - this.highlightNextUnit(); - } - e.preventDefault(); - this.updateFromElementVal(); - break; - case 27: // escape - this.updateFromElementVal(); - break; - case 37: // left arrow - e.preventDefault(); - this.highlightPrevUnit(); - this.updateFromElementVal(); - break; - case 38: // up arrow - e.preventDefault(); - switch (this.highlightedUnit) { - case 'hour': - this.incrementHour(); - this.highlightHour(); - break; - case 'minute': - this.incrementMinute(); - this.highlightMinute(); - break; - case 'second': - this.incrementSecond(); - this.highlightSecond(); - break; - case 'meridian': - this.toggleMeridian(); - this.highlightMeridian(); - break; - } - this.update(); - break; - case 39: // right arrow - e.preventDefault(); - this.highlightNextUnit(); - this.updateFromElementVal(); - break; - case 40: // down arrow - e.preventDefault(); - switch (this.highlightedUnit) { - case 'hour': - this.decrementHour(); - this.highlightHour(); - break; - case 'minute': - this.decrementMinute(); - this.highlightMinute(); - break; - case 'second': - this.decrementSecond(); - this.highlightSecond(); - break; - case 'meridian': - this.toggleMeridian(); - this.highlightMeridian(); - break; - } - - this.update(); - break; - } - }, - - getCursorPosition: function() { - var input = this.$element.get(0); - - if ('selectionStart' in input) {// Standard-compliant browsers - - return input.selectionStart; - } else if (document.selection) {// IE fix - input.focus(); - var sel = document.selection.createRange(), - selLen = document.selection.createRange().text.length; - - sel.moveStart('character', - input.value.length); - - return sel.text.length - selLen; - } - }, - - getTemplate: function() { - var template, - hourTemplate, - minuteTemplate, - secondTemplate, - meridianTemplate, - templateContent; - - if (this.showInputs) { - hourTemplate = ''; - minuteTemplate = ''; - secondTemplate = ''; - meridianTemplate = ''; - } else { - hourTemplate = ''; - minuteTemplate = ''; - secondTemplate = ''; - meridianTemplate = ''; - } - - templateContent = ''+ - ''+ - ''+ - ''+ - ''+ - (this.showSeconds ? - ''+ - '' - : '') + - (this.showMeridian ? - ''+ - '' - : '') + - ''+ - ''+ - ' '+ - ''+ - ' '+ - (this.showSeconds ? - ''+ - '' - : '') + - (this.showMeridian ? - ''+ - '' - : '') + - ''+ - ''+ - ''+ - ''+ - ''+ - (this.showSeconds ? - ''+ - '' - : '') + - (this.showMeridian ? - ''+ - '' - : '') + - ''+ - '
   
'+ hourTemplate +':'+ minuteTemplate +':'+ secondTemplate +' '+ meridianTemplate +'
  
'; - - switch(this.template) { - case 'modal': - template = ''; - break; - case 'dropdown': - template = ''; - break; - } - - return template; - }, - - getTime: function() { - if (this.hour === '') { - return ''; - } - - return this.hour + ':' + (this.minute.toString().length === 1 ? '0' + this.minute : this.minute) + (this.showSeconds ? ':' + (this.second.toString().length === 1 ? '0' + this.second : this.second) : '') + (this.showMeridian ? ' ' + this.meridian : ''); - }, - - hideWidget: function() { - if (this.isOpen === false) { - return; - } - - this.$element.trigger({ - 'type': 'hide.timepicker', - 'time': { - 'value': this.getTime(), - 'hours': this.hour, - 'minutes': this.minute, - 'seconds': this.second, - 'meridian': this.meridian - } - }); - - if (this.template === 'modal' && this.$widget.modal) { - this.$widget.modal('hide'); - } else { - this.$widget.removeClass('open'); - } - - $(document).off('mousedown.timepicker, touchend.timepicker', this.handleDocumentClick); - - this.isOpen = false; - // show/hide approach taken by datepicker - this.$widget.detach(); - }, - - highlightUnit: function() { - this.position = this.getCursorPosition(); - if (this.position >= 0 && this.position <= 2) { - this.highlightHour(); - } else if (this.position >= 3 && this.position <= 5) { - this.highlightMinute(); - } else if (this.position >= 6 && this.position <= 8) { - if (this.showSeconds) { - this.highlightSecond(); - } else { - this.highlightMeridian(); - } - } else if (this.position >= 9 && this.position <= 11) { - this.highlightMeridian(); - } - }, - - highlightNextUnit: function() { - switch (this.highlightedUnit) { - case 'hour': - this.highlightMinute(); - break; - case 'minute': - if (this.showSeconds) { - this.highlightSecond(); - } else if (this.showMeridian){ - this.highlightMeridian(); - } else { - this.highlightHour(); - } - break; - case 'second': - if (this.showMeridian) { - this.highlightMeridian(); - } else { - this.highlightHour(); - } - break; - case 'meridian': - this.highlightHour(); - break; - } - }, - - highlightPrevUnit: function() { - switch (this.highlightedUnit) { - case 'hour': - if(this.showMeridian){ - this.highlightMeridian(); - } else if (this.showSeconds) { - this.highlightSecond(); - } else { - this.highlightMinute(); - } - break; - case 'minute': - this.highlightHour(); - break; - case 'second': - this.highlightMinute(); - break; - case 'meridian': - if (this.showSeconds) { - this.highlightSecond(); - } else { - this.highlightMinute(); - } - break; - } - }, - - highlightHour: function() { - var $element = this.$element.get(0), - self = this; - - this.highlightedUnit = 'hour'; - - if ($element.setSelectionRange) { - setTimeout(function() { - if (self.hour < 10) { - $element.setSelectionRange(0,1); - } else { - $element.setSelectionRange(0,2); - } - }, 0); - } - }, - - highlightMinute: function() { - var $element = this.$element.get(0), - self = this; - - this.highlightedUnit = 'minute'; - - if ($element.setSelectionRange) { - setTimeout(function() { - if (self.hour < 10) { - $element.setSelectionRange(2,4); - } else { - $element.setSelectionRange(3,5); - } - }, 0); - } - }, - - highlightSecond: function() { - var $element = this.$element.get(0), - self = this; - - this.highlightedUnit = 'second'; - - if ($element.setSelectionRange) { - setTimeout(function() { - if (self.hour < 10) { - $element.setSelectionRange(5,7); - } else { - $element.setSelectionRange(6,8); - } - }, 0); - } - }, - - highlightMeridian: function() { - var $element = this.$element.get(0), - self = this; - - this.highlightedUnit = 'meridian'; - - if ($element.setSelectionRange) { - if (this.showSeconds) { - setTimeout(function() { - if (self.hour < 10) { - $element.setSelectionRange(8,10); - } else { - $element.setSelectionRange(9,11); - } - }, 0); - } else { - setTimeout(function() { - if (self.hour < 10) { - $element.setSelectionRange(5,7); - } else { - $element.setSelectionRange(6,8); - } - }, 0); - } - } - }, - - incrementHour: function() { - if (this.showMeridian) { - if (this.hour === 11) { - this.hour++; - return this.toggleMeridian(); - } else if (this.hour === 12) { - this.hour = 0; - } - } - if (this.hour === this.maxHours - 1) { - this.hour = 0; - - return; - } - this.hour++; - }, - - incrementMinute: function(step) { - var newVal; - - if (step) { - newVal = this.minute + step; - } else { - newVal = this.minute + this.minuteStep - (this.minute % this.minuteStep); - } - - if (newVal > 59) { - this.incrementHour(); - this.minute = newVal - 60; - } else { - this.minute = newVal; - } - }, - - incrementSecond: function() { - var newVal = this.second + this.secondStep - (this.second % this.secondStep); - - if (newVal > 59) { - this.incrementMinute(true); - this.second = newVal - 60; - } else { - this.second = newVal; - } - }, - - mousewheel: function(e) { - if (this.disableMousewheel) { - return; - } - - e.preventDefault(); - e.stopPropagation(); - - var delta = e.originalEvent.wheelDelta || -e.originalEvent.detail, - scrollTo = null; - - if (e.type === 'mousewheel') { - scrollTo = (e.originalEvent.wheelDelta * -1); - } - else if (e.type === 'DOMMouseScroll') { - scrollTo = 40 * e.originalEvent.detail; - } - - if (scrollTo) { - e.preventDefault(); - $(this).scrollTop(scrollTo + $(this).scrollTop()); - } - - switch (this.highlightedUnit) { - case 'minute': - if (delta > 0) { - this.incrementMinute(); - } else { - this.decrementMinute(); - } - this.highlightMinute(); - break; - case 'second': - if (delta > 0) { - this.incrementSecond(); - } else { - this.decrementSecond(); - } - this.highlightSecond(); - break; - case 'meridian': - this.toggleMeridian(); - this.highlightMeridian(); - break; - default: - if (delta > 0) { - this.incrementHour(); - } else { - this.decrementHour(); - } - this.highlightHour(); - break; - } - - return false; - }, - - /** - * Given a segment value like 43, will round and snap the segment - * to the nearest "step", like 45 if step is 15. Segment will - * "overflow" to 0 if it's larger than 59 or would otherwise - * round up to 60. - */ - changeToNearestStep: function (segment, step) { - if (segment % step === 0) { - return segment; - } - if (Math.round((segment % step) / step)) { - return (segment + (step - segment % step)) % 60; - } else { - return segment - segment % step; - } - }, - - // This method was adapted from bootstrap-datepicker. - place : function() { - if (this.isInline) { - return; - } - var widgetWidth = this.$widget.outerWidth(), widgetHeight = this.$widget.outerHeight(), visualPadding = 10, windowWidth = - $(window).width(), windowHeight = $(window).height(), scrollTop = $(window).scrollTop(); - - var zIndex = parseInt(this.$element.parents().filter(function() { return $(this).css('z-index') !== 'auto'; }).first().css('z-index'), 10) + 10; - var offset = this.component ? this.component.parent().offset() : this.$element.offset(); - var height = this.component ? this.component.outerHeight(true) : this.$element.outerHeight(false); - var width = this.component ? this.component.outerWidth(true) : this.$element.outerWidth(false); - var left = offset.left, top = offset.top; - - this.$widget.removeClass('timepicker-orient-top timepicker-orient-bottom timepicker-orient-right timepicker-orient-left'); - - if (this.orientation.x !== 'auto') { - this.$widget.addClass('timepicker-orient-' + this.orientation.x); - if (this.orientation.x === 'right') { - left -= widgetWidth - width; - } - } else{ - // auto x orientation is best-placement: if it crosses a window edge, fudge it sideways - // Default to left - this.$widget.addClass('timepicker-orient-left'); - if (offset.left < 0) { - left -= offset.left - visualPadding; - } else if (offset.left + widgetWidth > windowWidth) { - left = windowWidth - widgetWidth - visualPadding; - } - } - // auto y orientation is best-situation: top or bottom, no fudging, decision based on which shows more of the widget - var yorient = this.orientation.y, topOverflow, bottomOverflow; - if (yorient === 'auto') { - topOverflow = -scrollTop + offset.top - widgetHeight; - bottomOverflow = scrollTop + windowHeight - (offset.top + height + widgetHeight); - if (Math.max(topOverflow, bottomOverflow) === bottomOverflow) { - yorient = 'top'; - } else { - yorient = 'bottom'; - } - } - this.$widget.addClass('timepicker-orient-' + yorient); - if (yorient === 'top'){ - top += height; - } else{ - top -= widgetHeight + parseInt(this.$widget.css('padding-top'), 10); - } - - this.$widget.css({ - top : top, - left : left, - zIndex : zIndex - }); - }, - - remove: function() { - $('document').off('.timepicker'); - if (this.$widget) { - this.$widget.remove(); - } - delete this.$element.data().timepicker; - }, - - setDefaultTime: function(defaultTime) { - if (!this.$element.val()) { - if (defaultTime === 'current') { - var dTime = new Date(), - hours = dTime.getHours(), - minutes = dTime.getMinutes(), - seconds = dTime.getSeconds(), - meridian = 'AM'; - - if (seconds !== 0) { - seconds = Math.ceil(dTime.getSeconds() / this.secondStep) * this.secondStep; - if (seconds === 60) { - minutes += 1; - seconds = 0; - } - } - - if (minutes !== 0) { - minutes = Math.ceil(dTime.getMinutes() / this.minuteStep) * this.minuteStep; - if (minutes === 60) { - hours += 1; - minutes = 0; - } - } - - if (this.showMeridian) { - if (hours === 0) { - hours = 12; - } else if (hours >= 12) { - if (hours > 12) { - hours = hours - 12; - } - meridian = 'PM'; - } else { - meridian = 'AM'; - } - } - - this.hour = hours; - this.minute = minutes; - this.second = seconds; - this.meridian = meridian; - - this.update(); - - } else if (defaultTime === false) { - this.hour = 0; - this.minute = 0; - this.second = 0; - this.meridian = 'AM'; - } else { - this.setTime(defaultTime); - } - } else { - this.updateFromElementVal(); - } - }, - - setTime: function(time, ignoreWidget) { - if (!time) { - this.clear(); - return; - } - - var timeMode, - timeArray, - hour, - minute, - second, - meridian; - - if (typeof time === 'object' && time.getMonth){ - // this is a date object - hour = time.getHours(); - minute = time.getMinutes(); - second = time.getSeconds(); - - if (this.showMeridian){ - meridian = 'AM'; - if (hour > 12){ - meridian = 'PM'; - hour = hour % 12; - } - - if (hour === 12){ - meridian = 'PM'; - } - } - } else { - timeMode = ((/a/i).test(time) ? 1 : 0) + ((/p/i).test(time) ? 2 : 0); // 0 = none, 1 = AM, 2 = PM, 3 = BOTH. - if (timeMode > 2) { // If both are present, fail. - this.clear(); - return; - } - - timeArray = time.replace(/[^0-9\:]/g, '').split(':'); - - hour = timeArray[0] ? timeArray[0].toString() : timeArray.toString(); - - if(this.explicitMode && hour.length > 2 && (hour.length % 2) !== 0 ) { - this.clear(); - return; - } - - minute = timeArray[1] ? timeArray[1].toString() : ''; - second = timeArray[2] ? timeArray[2].toString() : ''; - - // adaptive time parsing - if (hour.length > 4) { - second = hour.slice(-2); - hour = hour.slice(0, -2); - } - - if (hour.length > 2) { - minute = hour.slice(-2); - hour = hour.slice(0, -2); - } - - if (minute.length > 2) { - second = minute.slice(-2); - minute = minute.slice(0, -2); - } - - hour = parseInt(hour, 10); - minute = parseInt(minute, 10); - second = parseInt(second, 10); - - if (isNaN(hour)) { - hour = 0; - } - if (isNaN(minute)) { - minute = 0; - } - if (isNaN(second)) { - second = 0; - } - - // Adjust the time based upon unit boundary. - // NOTE: Negatives will never occur due to time.replace() above. - if (second > 59) { - second = 59; - } - - if (minute > 59) { - minute = 59; - } - - if (hour >= this.maxHours) { - // No day/date handling. - hour = this.maxHours - 1; - } - - if (this.showMeridian) { - if (hour > 12) { - // Force PM. - timeMode = 2; - hour -= 12; - } - if (!timeMode) { - timeMode = 1; - } - if (hour === 0) { - hour = 12; // AM or PM, reset to 12. 0 AM = 12 AM. 0 PM = 12 PM, etc. - } - meridian = timeMode === 1 ? 'AM' : 'PM'; - } else if (hour < 12 && timeMode === 2) { - hour += 12; - } else { - if (hour >= this.maxHours) { - hour = this.maxHours - 1; - } else if ((hour < 0) || (hour === 12 && timeMode === 1)){ - hour = 0; - } - } - } - - this.hour = hour; - if (this.snapToStep) { - this.minute = this.changeToNearestStep(minute, this.minuteStep); - this.second = this.changeToNearestStep(second, this.secondStep); - } else { - this.minute = minute; - this.second = second; - } - this.meridian = meridian; - - this.update(ignoreWidget); - }, - - showWidget: function() { - if (this.isOpen) { - return; - } - - if (this.$element.is(':disabled')) { - return; - } - - // show/hide approach taken by datepicker - this.$widget.appendTo(this.appendWidgetTo); - $(document).on('mousedown.timepicker, touchend.timepicker', {scope: this}, this.handleDocumentClick); - - this.$element.trigger({ - 'type': 'show.timepicker', - 'time': { - 'value': this.getTime(), - 'hours': this.hour, - 'minutes': this.minute, - 'seconds': this.second, - 'meridian': this.meridian - } - }); - - this.place(); - if (this.disableFocus) { - this.$element.blur(); - } - - // widget shouldn't be empty on open - if (this.hour === '') { - if (this.defaultTime) { - this.setDefaultTime(this.defaultTime); - } else { - this.setTime('0:0:0'); - } - } - - if (this.template === 'modal' && this.$widget.modal) { - this.$widget.modal('show').on('hidden', $.proxy(this.hideWidget, this)); - } else { - if (this.isOpen === false) { - this.$widget.addClass('open'); - } - } - - this.isOpen = true; - }, - - toggleMeridian: function() { - this.meridian = this.meridian === 'AM' ? 'PM' : 'AM'; - }, - - update: function(ignoreWidget) { - this.updateElement(); - if (!ignoreWidget) { - this.updateWidget(); - } - - this.$element.trigger({ - 'type': 'changeTime.timepicker', - 'time': { - 'value': this.getTime(), - 'hours': this.hour, - 'minutes': this.minute, - 'seconds': this.second, - 'meridian': this.meridian - } - }); - }, - - updateElement: function() { - this.$element.val(this.getTime()).change(); - }, - - updateFromElementVal: function() { - this.setTime(this.$element.val()); - }, - - updateWidget: function() { - if (this.$widget === false) { - return; - } - - var hour = this.hour, - minute = this.minute.toString().length === 1 ? '0' + this.minute : this.minute, - second = this.second.toString().length === 1 ? '0' + this.second : this.second; - - if (this.showInputs) { - this.$widget.find('input.bootstrap-timepicker-hour').val(hour); - this.$widget.find('input.bootstrap-timepicker-minute').val(minute); - - if (this.showSeconds) { - this.$widget.find('input.bootstrap-timepicker-second').val(second); - } - if (this.showMeridian) { - this.$widget.find('input.bootstrap-timepicker-meridian').val(this.meridian); - } - } else { - this.$widget.find('span.bootstrap-timepicker-hour').text(hour); - this.$widget.find('span.bootstrap-timepicker-minute').text(minute); - - if (this.showSeconds) { - this.$widget.find('span.bootstrap-timepicker-second').text(second); - } - if (this.showMeridian) { - this.$widget.find('span.bootstrap-timepicker-meridian').text(this.meridian); - } - } - }, - - updateFromWidgetInputs: function() { - if (this.$widget === false) { - return; - } - - var t = this.$widget.find('input.bootstrap-timepicker-hour').val() + ':' + - this.$widget.find('input.bootstrap-timepicker-minute').val() + - (this.showSeconds ? ':' + this.$widget.find('input.bootstrap-timepicker-second').val() : '') + - (this.showMeridian ? this.$widget.find('input.bootstrap-timepicker-meridian').val() : '') - ; - - this.setTime(t, true); - }, - - widgetClick: function(e) { - e.stopPropagation(); - e.preventDefault(); - - var $input = $(e.target), - action = $input.closest('a').data('action'); - - if (action) { - this[action](); - } - this.update(); - - if ($input.is('input')) { - $input.get(0).setSelectionRange(0,2); - } - }, - - widgetKeydown: function(e) { - var $input = $(e.target), - name = $input.attr('class').replace('bootstrap-timepicker-', ''); - - switch (e.which) { - case 9: //tab - if (e.shiftKey) { - if (name === 'hour') { - return this.hideWidget(); - } - } else if ((this.showMeridian && name === 'meridian') || (this.showSeconds && name === 'second') || (!this.showMeridian && !this.showSeconds && name === 'minute')) { - return this.hideWidget(); - } - break; - case 27: // escape - this.hideWidget(); - break; - case 38: // up arrow - e.preventDefault(); - switch (name) { - case 'hour': - this.incrementHour(); - break; - case 'minute': - this.incrementMinute(); - break; - case 'second': - this.incrementSecond(); - break; - case 'meridian': - this.toggleMeridian(); - break; - } - this.setTime(this.getTime()); - $input.get(0).setSelectionRange(0,2); - break; - case 40: // down arrow - e.preventDefault(); - switch (name) { - case 'hour': - this.decrementHour(); - break; - case 'minute': - this.decrementMinute(); - break; - case 'second': - this.decrementSecond(); - break; - case 'meridian': - this.toggleMeridian(); - break; - } - this.setTime(this.getTime()); - $input.get(0).setSelectionRange(0,2); - break; - } - }, - - widgetKeyup: function(e) { - if ((e.which === 65) || (e.which === 77) || (e.which === 80) || (e.which === 46) || (e.which === 8) || (e.which >= 48 && e.which <= 57) || (e.which >= 96 && e.which <= 105)) { - this.updateFromWidgetInputs(); - } - } - }; - - //TIMEPICKER PLUGIN DEFINITION - $.fn.timepicker = function(option) { - var args = Array.apply(null, arguments); - args.shift(); - return this.each(function() { - var $this = $(this), - data = $this.data('timepicker'), - options = typeof option === 'object' && option; - - if (!data) { - $this.data('timepicker', (data = new Timepicker(this, $.extend({}, $.fn.timepicker.defaults, options, $(this).data())))); - } - - if (typeof option === 'string') { - data[option].apply(data, args); - } - }); - }; - - $.fn.timepicker.defaults = { - defaultTime: 'current', - disableFocus: false, - disableMousewheel: false, - isOpen: false, - minuteStep: 15, - modalBackdrop: false, - orientation: { x: 'auto', y: 'auto'}, - secondStep: 15, - snapToStep: false, - showSeconds: false, - showInputs: true, - showMeridian: true, - template: 'dropdown', - appendWidgetTo: 'body', - showWidgetOnAddonClick: true, - icons: { - up: 'glyphicon glyphicon-chevron-up', - down: 'glyphicon glyphicon-chevron-down' - }, - maxHours: 24, - explicitMode: false - }; - - $.fn.timepicker.Constructor = Timepicker; - - $(document).on( - 'focus.timepicker.data-api click.timepicker.data-api', - '[data-provide="timepicker"]', - function(e){ - var $this = $(this); - if ($this.data('timepicker')) { - return; - } - e.preventDefault(); - // component click requires us to explicitly show it - $this.timepicker(); - } - ); - -})(jQuery, window, document); diff --git a/front/lib/AdminLTE/bower_components/bootstrap/.bower.json b/front/lib/AdminLTE/bower_components/bootstrap/.bower.json index 99de6efd..8b87a2e4 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/.bower.json +++ b/front/lib/AdminLTE/bower_components/bootstrap/.bower.json @@ -11,7 +11,7 @@ "framework", "web" ], - "homepage": "http://getbootstrap.com", + "homepage": "https://getbootstrap.com/", "license": "MIT", "moduleType": "globals", "main": [ @@ -31,14 +31,14 @@ "dependencies": { "jquery": "1.9.1 - 3" }, - "version": "3.3.7", - "_release": "3.3.7", + "version": "3.4.1", + "_release": "3.4.1", "_resolution": { "type": "version", - "tag": "v3.3.7", - "commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86" + "tag": "v3.4.1", + "commit": "68b0d231a13201eb14acd3dc84e51543d16e5f7e" }, "_source": "https://github.com/twbs/bootstrap.git", - "_target": "^3.3.7", + "_target": "^3.4", "_originalSource": "bootstrap" } \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap/CHANGELOG.md b/front/lib/AdminLTE/bower_components/bootstrap/CHANGELOG.md index b25f8384..416b64bd 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/CHANGELOG.md +++ b/front/lib/AdminLTE/bower_components/bootstrap/CHANGELOG.md @@ -1,5 +1,5 @@ -Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs. +Bootstrap uses [GitHub's Releases feature](https://blog.github.com/2013-07-02-release-your-software/) for its changelogs. See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. -Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release. +Release announcement posts on [the official Bootstrap blog](https://blog.getbootstrap.com/) contain summaries of the most noteworthy changes made in each release. diff --git a/front/lib/AdminLTE/bower_components/bootstrap/Gemfile b/front/lib/AdminLTE/bower_components/bootstrap/Gemfile index feb16229..c7122202 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/Gemfile +++ b/front/lib/AdminLTE/bower_components/bootstrap/Gemfile @@ -1,6 +1,8 @@ source 'https://rubygems.org' group :development, :test do - gem 'jekyll', '~> 3.1.2' - gem 'jekyll-sitemap', '~> 0.11.0' + gem 'jekyll', '~> 3.8.5' + gem 'jekyll-redirect-from', '~> 0.14.0' + gem 'jekyll-sitemap', '~> 1.2.0' + gem 'wdm', '~> 0.1.1', :install_if => Gem.win_platform? end diff --git a/front/lib/AdminLTE/bower_components/bootstrap/Gemfile.lock b/front/lib/AdminLTE/bower_components/bootstrap/Gemfile.lock index 1b5dc3e9..175fe6a7 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/Gemfile.lock +++ b/front/lib/AdminLTE/bower_components/bootstrap/Gemfile.lock @@ -1,43 +1,74 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.4.0) - colorator (0.1) - ffi (1.9.14-x64-mingw32) - jekyll (3.1.6) - colorator (~> 0.1) + addressable (2.6.0) + public_suffix (>= 2.0.2, < 4.0) + colorator (1.1.0) + concurrent-ruby (1.1.4) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + eventmachine (1.2.7) + eventmachine (1.2.7-x64-mingw32) + ffi (1.10.0) + ffi (1.10.0-x64-mingw32) + forwardable-extended (2.6.0) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.8.5) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 1.1) - kramdown (~> 1.3) - liquid (~> 3.0) + jekyll-watch (~> 2.0) + kramdown (~> 1.14) + liquid (~> 4.0) mercenary (~> 0.3.3) - rouge (~> 1.7) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) safe_yaml (~> 1.0) - jekyll-sass-converter (1.4.0) + jekyll-redirect-from (0.14.0) + jekyll (~> 3.3) + jekyll-sass-converter (1.5.2) sass (~> 3.4) - jekyll-sitemap (0.11.0) - addressable (~> 2.4.0) - jekyll-watch (1.4.0) - listen (~> 3.0, < 3.1) - kramdown (1.11.1) - liquid (3.0.6) - listen (3.0.8) + jekyll-sitemap (1.2.0) + jekyll (~> 3.3) + jekyll-watch (2.1.2) + listen (~> 3.0) + kramdown (1.17.0) + liquid (4.0.1) + listen (3.1.5) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) mercenary (0.3.6) - rb-fsevent (0.9.7) - rb-inotify (0.9.7) - ffi (>= 0.5.0) - rouge (1.11.1) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (3.0.3) + rb-fsevent (0.10.3) + rb-inotify (0.10.0) + ffi (~> 1.0) + rouge (3.3.0) + ruby_dep (1.5.0) safe_yaml (1.0.4) - sass (3.4.22) + sass (3.7.3) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + wdm (0.1.1) PLATFORMS + ruby x64-mingw32 DEPENDENCIES - jekyll (~> 3.1.2) - jekyll-sitemap (~> 0.11.0) + jekyll (~> 3.8.5) + jekyll-redirect-from (~> 0.14.0) + jekyll-sitemap (~> 1.2.0) + wdm (~> 0.1.1) BUNDLED WITH - 1.12.5 + 1.17.3 diff --git a/front/lib/AdminLTE/bower_components/bootstrap/Gruntfile.js b/front/lib/AdminLTE/bower_components/bootstrap/Gruntfile.js index 994a5008..05d88c28 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/Gruntfile.js +++ b/front/lib/AdminLTE/bower_components/bootstrap/Gruntfile.js @@ -1,7 +1,7 @@ /*! * Bootstrap's Gruntfile - * http://getbootstrap.com - * Copyright 2013-2016 Twitter, Inc. + * https://getbootstrap.com/ + * Copyright 2013-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ @@ -104,7 +104,7 @@ module.exports = function (grunt) { banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>', stripBanners: false }, - bootstrap: { + core: { src: [ 'js/transition.js', 'js/alert.js', @@ -125,78 +125,90 @@ module.exports = function (grunt) { uglify: { options: { - compress: { - warnings: false - }, + compress: true, mangle: true, - preserveComments: /^!|@preserve|@license|@cc_on/i + ie8: true, + output: { + comments: /^!|@preserve|@license|@cc_on/i + } }, core: { - src: '<%= concat.bootstrap.dest %>', + src: '<%= concat.core.dest %>', dest: 'dist/js/<%= pkg.name %>.min.js' }, customize: { src: configBridge.paths.customizerJs, dest: 'docs/assets/js/customize.min.js' }, - docsJs: { + docs: { src: configBridge.paths.docsJs, dest: 'docs/assets/js/docs.min.js' } }, - qunit: { - options: { - inject: 'js/tests/unit/phantom.js' - }, - files: 'js/tests/index.html' - }, - less: { - compileCore: { + options: { + ieCompat: true, + strictMath: true, + sourceMap: true, + outputSourceFiles: true + }, + core: { options: { - strictMath: true, - sourceMap: true, - outputSourceFiles: true, sourceMapURL: '<%= pkg.name %>.css.map', sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map' }, src: 'less/bootstrap.less', dest: 'dist/css/<%= pkg.name %>.css' }, - compileTheme: { + theme: { options: { - strictMath: true, - sourceMap: true, - outputSourceFiles: true, sourceMapURL: '<%= pkg.name %>-theme.css.map', sourceMapFilename: 'dist/css/<%= pkg.name %>-theme.css.map' }, src: 'less/theme.less', dest: 'dist/css/<%= pkg.name %>-theme.css' + }, + docs: { + options: { + sourceMapURL: 'docs.css.map', + sourceMapFilename: 'docs/assets/css/docs.css.map' + }, + src: 'docs/assets/less/docs.less', + dest: 'docs/assets/css/docs.css' + }, + docsIe: { + options: { + sourceMap: false + }, + src: 'docs/assets/less/ie10-viewport-bug-workaround.less', + dest: 'docs/assets/css/ie10-viewport-bug-workaround.css' } }, - autoprefixer: { + postcss: { options: { - browsers: configBridge.config.autoprefixerBrowsers + map: { + inline: false, + sourcesContent: true + }, + processors: [ + require('autoprefixer')(configBridge.config.autoprefixer) + ] }, core: { - options: { - map: true - }, src: 'dist/css/<%= pkg.name %>.css' }, theme: { - options: { - map: true - }, src: 'dist/css/<%= pkg.name %>-theme.css' }, docs: { - src: ['docs/assets/css/src/docs.css'] + src: 'docs/assets/css/docs.css' }, examples: { + options: { + map: false + }, expand: true, cwd: 'docs/examples/', src: ['**/*.css'], @@ -204,76 +216,47 @@ module.exports = function (grunt) { } }, - csslint: { + stylelint: { options: { - csslintrc: 'less/.csslintrc' + configFile: 'grunt/.stylelintrc', + reportNeedlessDisables: false }, dist: [ - 'dist/css/bootstrap.css', - 'dist/css/bootstrap-theme.css' + 'less/**/*.less' + ], + docs: [ + 'docs/assets/less/**/*.less' ], examples: [ 'docs/examples/**/*.css' - ], - docs: { - options: { - ids: false, - 'overqualified-elements': false - }, - src: 'docs/assets/css/src/docs.css' - } + ] }, cssmin: { options: { - // TODO: disable `zeroUnits` optimization once clean-css 3.2 is released - // and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly compatibility: 'ie8', - keepSpecialComments: '*', sourceMap: true, sourceMapInlineSources: true, - advanced: false + level: { + 1: { + specialComments: 'all' + } + } }, - minifyCore: { + core: { src: 'dist/css/<%= pkg.name %>.css', dest: 'dist/css/<%= pkg.name %>.min.css' }, - minifyTheme: { + theme: { src: 'dist/css/<%= pkg.name %>-theme.css', dest: 'dist/css/<%= pkg.name %>-theme.min.css' }, docs: { - src: [ - 'docs/assets/css/ie10-viewport-bug-workaround.css', - 'docs/assets/css/src/pygments-manni.css', - 'docs/assets/css/src/docs.css' - ], + src: 'docs/assets/css/docs.css', dest: 'docs/assets/css/docs.min.css' } }, - csscomb: { - options: { - config: 'less/.csscomb.json' - }, - dist: { - expand: true, - cwd: 'dist/css/', - src: ['*.css', '!*.min.css'], - dest: 'dist/css/' - }, - examples: { - expand: true, - cwd: 'docs/examples/', - src: '**/*.css', - dest: 'docs/examples/' - }, - docs: { - src: 'docs/assets/css/src/docs.css', - dest: 'docs/assets/css/src/docs.css' - } - }, - copy: { fonts: { expand: true, @@ -313,41 +296,6 @@ module.exports = function (grunt) { } }, - htmlmin: { - dist: { - options: { - collapseBooleanAttributes: true, - collapseWhitespace: true, - conservativeCollapse: true, - decodeEntities: false, - minifyCSS: { - compatibility: 'ie8', - keepSpecialComments: 0 - }, - minifyJS: true, - minifyURLs: false, - processConditionalComments: true, - removeAttributeQuotes: true, - removeComments: true, - removeOptionalAttributes: true, - removeOptionalTags: true, - removeRedundantAttributes: true, - removeScriptTypeAttributes: true, - removeStyleLinkTypeAttributes: true, - removeTagWhitespace: false, - sortAttributes: true, - sortClassName: true - }, - expand: true, - cwd: '_gh_pages', - dest: '_gh_pages', - src: [ - '**/*.html', - '!examples/**/*.html' - ] - } - }, - pug: { options: { pretty: true, @@ -366,67 +314,40 @@ module.exports = function (grunt) { htmllint: { options: { ignore: [ - 'Attribute "autocomplete" not allowed on element "button" at this point.', - 'Attribute "autocomplete" is only allowed when the input type is "color", "date", "datetime", "datetime-local", "email", "hidden", "month", "number", "password", "range", "search", "tel", "text", "time", "url", or "week".', 'Element "img" is missing required attribute "src".' - ] + ], + noLangDetect: true }, - src: '_gh_pages/**/*.html' + src: ['_gh_pages/**/*.html', 'js/tests/**/*.html'] }, watch: { src: { files: '<%= jshint.core.src %>', - tasks: ['jshint:core', 'qunit', 'concat'] + tasks: ['jshint:core', 'exec:karma', 'concat'] }, test: { files: '<%= jshint.test.src %>', - tasks: ['jshint:test', 'qunit'] + tasks: ['jshint:test', 'exec:karma'] }, less: { files: 'less/**/*.less', - tasks: 'less' - } - }, - - 'saucelabs-qunit': { - all: { - options: { - build: process.env.TRAVIS_JOB_ID, - throttled: 10, - maxRetries: 3, - maxPollRetries: 4, - urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'], - browsers: grunt.file.readYAML('grunt/sauce_browsers.yml') - } + tasks: ['less', 'copy'] + }, + docs: { + files: 'docs/assets/less/**/*.less', + tasks: ['less'] } }, exec: { - npmUpdate: { - command: 'npm update' - } - }, - - compress: { - main: { - options: { - archive: 'bootstrap-<%= pkg.version %>-dist.zip', - mode: 'zip', - level: 9, - pretty: true - }, - files: [ - { - expand: true, - cwd: 'dist/', - src: ['**'], - dest: 'bootstrap-<%= pkg.version %>-dist' - } - ] + browserstack: { + command: 'cross-env BROWSER=true karma start grunt/karma.conf.js' + }, + karma: { + command: 'karma start grunt/karma.conf.js' } } - }); @@ -441,16 +362,14 @@ module.exports = function (grunt) { return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset; }; var isUndefOrNonZero = function (val) { - return val === undefined || val !== '0'; + return typeof val === 'undefined' || val !== '0'; }; // Test task. var testSubtasks = []; // Skip core tests if running a different subset of the test suite - if (runSubset('core') && - // Skip core tests if this is a Savage build - process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') { - testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'csslint:dist', 'test-js', 'docs']); + if (runSubset('core')) { + testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'stylelint:dist', 'test-js', 'docs']); } // Skip HTML validation if running a different subset of the test suite if (runSubset('validate-html') && @@ -458,24 +377,23 @@ module.exports = function (grunt) { isUndefOrNonZero(process.env.TWBS_DO_VALIDATOR)) { testSubtasks.push('validate-html'); } - // Only run Sauce Labs tests if there's a Sauce access key - if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined' && - // Skip Sauce if running a different subset of the test suite - runSubset('sauce-js-unit') && - // Skip Sauce on Travis when [skip sauce] is in the commit message - isUndefOrNonZero(process.env.TWBS_DO_SAUCE)) { - testSubtasks.push('connect'); - testSubtasks.push('saucelabs-qunit'); + // Only run BrowserStack tests if there's a BrowserStack access key + if (typeof process.env.BROWSER_STACK_USERNAME !== 'undefined' && + // Skip BrowserStack if running a different subset of the test suite + runSubset('browserstack') && + // Skip BrowserStack on Travis when [skip browserstack] is in the commit message + isUndefOrNonZero(process.env.TWBS_DO_BROWSERSTACK)) { + testSubtasks.push('exec:browserstack'); } + grunt.registerTask('test', testSubtasks); - grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']); + grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'exec:karma']); // JS distribution task. grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']); // CSS distribution task. - grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']); - grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'autoprefixer:theme', 'csscomb:dist', 'cssmin:minifyCore', 'cssmin:minifyTheme']); + grunt.registerTask('dist-css', ['less:core', 'less:theme', 'postcss:core', 'postcss:theme', 'cssmin:core', 'cssmin:theme']); // Full distribution task. grunt.registerTask('dist', ['clean:dist', 'dist-css', 'copy:fonts', 'dist-js']); @@ -483,7 +401,9 @@ module.exports = function (grunt) { // Default task. grunt.registerTask('default', ['clean:dist', 'copy:fonts', 'test']); - grunt.registerTask('build-glyphicons-data', function () { generateGlyphiconsData.call(this, grunt); }); + grunt.registerTask('build-glyphicons-data', function () { + generateGlyphiconsData.call(this, grunt); + }); // task for building customizer grunt.registerTask('build-customizer', ['build-customizer-html', 'build-raw-files']); @@ -494,18 +414,17 @@ module.exports = function (grunt) { }); grunt.registerTask('commonjs', 'Generate CommonJS entrypoint module in dist dir.', function () { - var srcFiles = grunt.config.get('concat.bootstrap.src'); + var srcFiles = grunt.config.get('concat.core.src'); var destFilepath = 'dist/js/npm.js'; generateCommonJSModule(grunt, srcFiles, destFilepath); }); // Docs task. - grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']); - grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']); - grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']); + grunt.registerTask('docs-css', ['less:docs', 'less:docsIe', 'postcss:docs', 'postcss:examples', 'cssmin:docs']); + grunt.registerTask('lint-docs-css', ['stylelint:docs', 'stylelint:examples']); + grunt.registerTask('docs-js', ['uglify:docs', 'uglify:customize']); grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']); grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']); - grunt.registerTask('docs-github', ['jekyll:github', 'htmlmin']); - grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress']); + grunt.registerTask('prep-release', ['dist', 'docs', 'jekyll:github']); }; diff --git a/front/lib/AdminLTE/bower_components/bootstrap/ISSUE_TEMPLATE.md b/front/lib/AdminLTE/bower_components/bootstrap/ISSUE_TEMPLATE.md index 66c3a2bb..d7732a79 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/ISSUE_TEMPLATE.md +++ b/front/lib/AdminLTE/bower_components/bootstrap/ISSUE_TEMPLATE.md @@ -1,7 +1,7 @@ Before opening an issue: - [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue) -- [Validate](http://validator.w3.org/nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems +- [Validate](https://validator.w3.org/nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems - Prepare a [reduced test case](https://css-tricks.com/reduced-test-cases/) for any bugs - Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md) @@ -14,7 +14,7 @@ When reporting a bug, include: - Operating system and version (Windows, Mac OS X, Android, iOS, Win10 Mobile) - Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera 15+, Android Browser) -- Reduced test cases and potential fixes using [JS Bin](https://jsbin.com) +- Reduced test cases and potential fixes using [JS Bin](https://jsbin.com/) When suggesting a feature, include: diff --git a/front/lib/AdminLTE/bower_components/bootstrap/LICENSE b/front/lib/AdminLTE/bower_components/bootstrap/LICENSE index 7a300022..e2640928 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/LICENSE +++ b/front/lib/AdminLTE/bower_components/bootstrap/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2011-2016 Twitter, Inc. +Copyright (c) 2011-2019 Twitter, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/front/lib/AdminLTE/bower_components/bootstrap/README.md b/front/lib/AdminLTE/bower_components/bootstrap/README.md index f92150f4..f8b77ee8 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/README.md +++ b/front/lib/AdminLTE/bower_components/bootstrap/README.md @@ -1,16 +1,15 @@ -# [Bootstrap](http://getbootstrap.com) +# [Bootstrap](https://getbootstrap.com/) -[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com) +[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com/) ![Bower version](https://img.shields.io/bower/v/bootstrap.svg) [![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap) [![Build Status](https://img.shields.io/travis/twbs/bootstrap/master.svg)](https://travis-ci.org/twbs/bootstrap) [![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap#info=devDependencies) [![NuGet](https://img.shields.io/nuget/v/bootstrap.svg)](https://www.nuget.org/packages/Bootstrap) -[![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap) Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) with the massive support and involvement of the community. -To get started, check out ! +To get started, check out ! ## Table of contents @@ -22,6 +21,7 @@ To get started, check out ! * [Community](#community) * [Versioning](#versioning) * [Creators](#creators) +* [Thanks](#thanks) * [Copyright and license](#copyright-and-license) @@ -29,14 +29,14 @@ To get started, check out ! Several quick start options are available: -* [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.7.zip). +* [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.4.1.zip). * Clone the repo: `git clone https://github.com/twbs/bootstrap.git`. -* Install with [Bower](http://bower.io): `bower install bootstrap`. -* Install with [npm](https://www.npmjs.com): `npm install bootstrap@3`. -* Install with [Meteor](https://www.meteor.com): `meteor add twbs:bootstrap`. -* Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`. +* Install with [Bower](https://bower.io/): `bower install bootstrap`. +* Install with [npm](https://www.npmjs.com/): `npm install bootstrap@3`. +* Install with [Meteor](https://www.meteor.com/): `meteor add twbs:bootstrap`. +* Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap`. -Read the [Getting started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more. +Read the [Getting started page](https://getbootstrap.com/docs/3.4/getting-started/) for information on the framework contents, templates and examples, and more. ### What's included @@ -64,7 +64,7 @@ bootstrap/ └── glyphicons-halflings-regular.woff2 ``` -We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developer.chrome.com/devtools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme. +We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme. ## Bugs and feature requests @@ -76,20 +76,20 @@ Note that **feature requests must target [Bootstrap v4](https://github.com/twbs/ ## Documentation -Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](http://jekyllrb.com) and publicly hosted on GitHub Pages at . The docs may also be run locally. +Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages at . The docs may also be run locally. ### Running documentation locally -1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) and other Ruby dependencies with `bundle install`. - **Note for Windows users:** Read [this unofficial guide](http://jekyll-windows.juthilo.com/) to get Jekyll up and running without problems. +1. If necessary, [install Jekyll](https://jekyllrb.com/docs/installation/) and other Ruby dependencies with `bundle install`. + **Note for Windows users:** Read [this guide](https://jekyllrb.com/docs/installation/windows/) to get Jekyll up and running without problems. 2. From the root `/bootstrap` directory, run `bundle exec jekyll serve` in the command line. 4. Open `http://localhost:9001` in your browser, and voilà. -Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/). +Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/). ### Documentation for previous releases -Documentation for v2.3.2 has been made available for the time being at while folks transition to Bootstrap 3. +Documentation for v2.3.2 has been made available for the time being at while folks transition to Bootstrap 3. [Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download. @@ -102,7 +102,7 @@ Moreover, if your pull request contains JavaScript patches or features, you must **Bootstrap v3 is now closed off to new features.** It has gone into maintenance mode so that we can focus our efforts on [Bootstrap v4](https://github.com/twbs/bootstrap/tree/v4-dev), the future of the framework. Pull requests which add new features (rather than fix bugs) should target [Bootstrap v4 (the `v4-dev` git branch)](https://github.com/twbs/bootstrap/tree/v4-dev) instead. -Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at . +Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at . ## Community @@ -110,18 +110,25 @@ Editor preferences are available in the [editor config](https://github.com/twbs/ Get updates on Bootstrap's development and chat with the project maintainers and community members. * Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap). -* Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com). -* Join [the official Slack room](https://bootstrap-slack.herokuapp.com). +* Read and subscribe to [The Official Bootstrap Blog](https://blog.getbootstrap.com/). +* Join [the official Slack room](https://bootstrap-slack.herokuapp.com/). * Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel. * Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](https://stackoverflow.com/questions/tagged/twitter-bootstrap-3)). -* Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability. +* Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/search?q=keywords:bootstrap) or similar delivery mechanisms for maximum discoverability. ## Versioning -For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible. +For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](https://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible. -See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release. +See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](https://blog.getbootstrap.com/) contain summaries of the most noteworthy changes made in each release. + + +## Thanks + +BrowserStack Logo + +Thanks to [BrowserStack](https://www.browserstack.com/) for providing the infrastructure that allows us to test in real browsers! ## Creators @@ -139,4 +146,4 @@ See [the Releases section of our GitHub project](https://github.com/twbs/bootstr ## Copyright and license -Code and documentation copyright 2011-2016 Twitter, Inc. Code released under [the MIT license](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE). +Code and documentation copyright 2011-2019 Twitter, Inc. Code released under [the MIT license](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE). diff --git a/front/lib/AdminLTE/bower_components/bootstrap/bower.json b/front/lib/AdminLTE/bower_components/bootstrap/bower.json index b1b1bc0d..379d65f4 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/bower.json +++ b/front/lib/AdminLTE/bower_components/bootstrap/bower.json @@ -11,7 +11,7 @@ "framework", "web" ], - "homepage": "http://getbootstrap.com", + "homepage": "https://getbootstrap.com/", "license": "MIT", "moduleType": "globals", "main": [ diff --git a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.css b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.css index 31d88826..ea33f76a 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.css +++ b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.css @@ -1,6 +1,6 @@ /*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ .btn-default, @@ -9,9 +9,9 @@ .btn-info, .btn-warning, .btn-danger { - 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); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } .btn-default:active, .btn-primary:active, @@ -25,8 +25,8 @@ .btn-info.active, .btn-warning.active, .btn-danger.active { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn-default.disabled, .btn-primary.disabled, @@ -47,7 +47,7 @@ fieldset[disabled] .btn-info, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-danger { -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .btn-default .badge, .btn-primary .badge, @@ -62,15 +62,15 @@ fieldset[disabled] .btn-danger { 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: -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%); + 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; + text-shadow: 0 1px 0 #fff; border-color: #ccc; } .btn-default:hover, @@ -106,9 +106,9 @@ fieldset[disabled] .btn-default.active { } .btn-primary { background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); - background-image: -o-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%); + 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; @@ -147,9 +147,9 @@ fieldset[disabled] .btn-primary.active { } .btn-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); - background-image: -o-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%); + 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; @@ -188,9 +188,9 @@ fieldset[disabled] .btn-success.active { } .btn-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); - background-image: -o-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%); + 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; @@ -229,9 +229,9 @@ fieldset[disabled] .btn-info.active { } .btn-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); - background-image: -o-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%); + 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; @@ -270,9 +270,9 @@ fieldset[disabled] .btn-warning.active { } .btn-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); - background-image: -o-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%); + 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; @@ -311,81 +311,81 @@ fieldset[disabled] .btn-danger.active { } .thumbnail, .img-thumbnail { - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); - box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { - 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: -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%); + 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; + background-color: #e8e8e8; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { - 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: -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%); + 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; + background-color: #2e6da4; } .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%); + background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); + background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8)); + background-image: linear-gradient(to bottom, #ffffff 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; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 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); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .active > a { background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); - background-image: -o-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%); + 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); + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); } .navbar-brand, .navbar-nav > li > a { - text-shadow: 0 1px 0 rgba(255, 255, 255, .25); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.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: -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%); + 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; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); border-radius: 4px; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .active > a { background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); - background-image: -o-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%); + 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); + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); } .navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a { - text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); } .navbar-static-top, .navbar-fixed-top, @@ -398,120 +398,120 @@ fieldset[disabled] .btn-danger.active { .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); - background-image: -o-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%); + 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); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.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); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { 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: -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%); + 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; @@ -522,66 +522,66 @@ fieldset[disabled] .btn-danger.active { 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); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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: -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%); + 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); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); } -/*# sourceMappingURL=bootstrap-theme.css.map */ +/*# sourceMappingURL=bootstrap-theme.css.map */ \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.css.map b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.css.map index d876f60f..949d0973 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +++ b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.css.map @@ -1 +1 @@ -{"version":3,"sources":["bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","file":"bootstrap-theme.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file +{"version":3,"sources":["bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","file":"bootstrap-theme.css","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// stylelint-disable selector-no-qualifying-type, selector-max-compound-selectors\n\n/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default {\n .btn-styles(@btn-default-bg);\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);\n .box-shadow(@shadow);\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.min.css b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.min.css index 5e394019..2a69f48c 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +++ b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.min.css @@ -1,6 +1,6 @@ /*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 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)} + */.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{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;text-shadow:0 1px 0 #fff;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-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;background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{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;background-color:#2e6da4}.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);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);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);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);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/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map index 94813e90..5d75106e 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map +++ b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file +{"version":3,"sources":["bootstrap-theme.css","dist/css/bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// stylelint-disable selector-no-qualifying-type, selector-max-compound-selectors\n\n/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default {\n .btn-styles(@btn-default-bg);\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);\n .box-shadow(@shadow);\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.css b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.css index 6167622c..fcab4155 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.css +++ b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.css @@ -1,13 +1,13 @@ /*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 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; + -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; } body { margin: 0; @@ -50,7 +50,11 @@ a:hover { outline: 0; } abbr[title] { - border-bottom: 1px dotted; + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + -moz-text-decoration: underline dotted; + text-decoration: underline dotted; } b, strong { @@ -60,28 +64,28 @@ dfn { font-style: italic; } h1 { - margin: .67em 0; font-size: 2em; + margin: 0.67em 0; } mark { - color: #000; background: #ff0; + color: #000; } small { font-size: 80%; } sub, sup { - position: relative; font-size: 75%; line-height: 0; + position: relative; vertical-align: baseline; } sup { - top: -.5em; + top: -0.5em; } sub { - bottom: -.25em; + bottom: -0.25em; } img { border: 0; @@ -93,10 +97,10 @@ figure { margin: 1em 40px; } hr { - height: 0; -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; } pre { overflow: auto; @@ -113,9 +117,9 @@ input, optgroup, select, textarea { - margin: 0; - font: inherit; color: inherit; + font: inherit; + margin: 0; } button { overflow: visible; @@ -137,8 +141,8 @@ html input[disabled] { } button::-moz-focus-inner, input::-moz-focus-inner { - padding: 0; border: 0; + padding: 0; } input { line-height: normal; @@ -146,8 +150,8 @@ input { input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, @@ -155,23 +159,23 @@ 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; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; } 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 #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } legend { - padding: 0; border: 0; + padding: 0; } textarea { overflow: auto; @@ -180,8 +184,8 @@ optgroup { font-weight: bold; } table { - border-spacing: 0; border-collapse: collapse; + border-spacing: 0; } td, th { @@ -196,7 +200,7 @@ th { text-shadow: none !important; background: transparent !important; -webkit-box-shadow: none !important; - box-shadow: none !important; + box-shadow: none !important; } a, a:visited { @@ -215,7 +219,6 @@ th { pre, blockquote { border: 1px solid #999; - page-break-inside: avoid; } thead { @@ -261,20 +264,18 @@ th { } } @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'); + 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-family: "Glyphicons Halflings"; font-style: normal; - font-weight: normal; + font-weight: 400; line-height: 1; - -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @@ -1067,25 +1068,24 @@ th { } * { -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } *:before, *:after { -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - 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; + color: #333333; background-color: #fff; } input, @@ -1128,17 +1128,17 @@ img { 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; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; } .img-circle { border-radius: 50%; @@ -1147,7 +1147,7 @@ hr { margin-top: 20px; margin-bottom: 20px; border: 0; - border-top: 1px solid #eee; + border-top: 1px solid #eeeeee; } .sr-only { position: absolute; @@ -1212,9 +1212,9 @@ h6 .small, .h4 .small, .h5 .small, .h6 .small { - font-weight: normal; + font-weight: 400; line-height: 1; - color: #777; + color: #777777; } h1, .h1, @@ -1306,7 +1306,7 @@ small, } mark, .mark { - padding: .2em; + padding: 0.2em; background-color: #fcf8e3; } .text-left { @@ -1334,7 +1334,7 @@ mark, text-transform: capitalize; } .text-muted { - color: #777; + color: #777777; } .text-primary { color: #337ab7; @@ -1410,7 +1410,7 @@ a.bg-danger:focus { .page-header { padding-bottom: 9px; margin: 40px 0 20px; - border-bottom: 1px solid #eee; + border-bottom: 1px solid #eeeeee; } ul, ol { @@ -1429,8 +1429,8 @@ ol ol { } .list-inline { padding-left: 0; - margin-left: -5px; list-style: none; + margin-left: -5px; } .list-inline > li { display: inline-block; @@ -1446,7 +1446,7 @@ dd { line-height: 1.42857143; } dt { - font-weight: bold; + font-weight: 700; } dd { margin-left: 0; @@ -1455,9 +1455,9 @@ dd { .dl-horizontal dt { float: left; width: 160px; - overflow: hidden; clear: left; text-align: right; + overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } @@ -1468,7 +1468,6 @@ dd { abbr[title], abbr[data-original-title] { cursor: help; - border-bottom: 1px dotted #777; } .initialism { font-size: 90%; @@ -1478,7 +1477,7 @@ blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; - border-left: 5px solid #eee; + border-left: 5px solid #eeeeee; } blockquote p:last-child, blockquote ul:last-child, @@ -1491,19 +1490,19 @@ blockquote .small { display: block; font-size: 80%; line-height: 1.42857143; - color: #777; + color: #777777; } blockquote footer:before, blockquote small:before, blockquote .small:before { - content: '\2014 \00A0'; + content: "\2014 \00A0"; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; text-align: right; - border-right: 5px solid #eee; + border-right: 5px solid #eeeeee; border-left: 0; } .blockquote-reverse footer:before, @@ -1512,7 +1511,7 @@ blockquote.pull-right footer:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { - content: ''; + content: ""; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, @@ -1520,7 +1519,7 @@ blockquote.pull-right footer:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { - content: '\00A0 \2014'; + content: "\00A0 \2014"; } address { margin-bottom: 20px; @@ -1546,15 +1545,15 @@ kbd { 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); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } kbd kbd { padding: 0; font-size: 100%; - font-weight: bold; + font-weight: 700; -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } pre { display: block; @@ -1562,7 +1561,7 @@ pre { margin: 0 0 10px; font-size: 13px; line-height: 1.42857143; - color: #333; + color: #333333; word-break: break-all; word-wrap: break-word; background-color: #f5f5f5; @@ -1612,13 +1611,79 @@ pre code { margin-right: -15px; margin-left: -15px; } -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { +.row-no-gutters { + margin-right: 0; + margin-left: 0; +} +.row-no-gutters [class*="col-"] { + padding-right: 0; + padding-left: 0; +} +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12 { float: left; } .col-xs-12 { @@ -1772,10 +1837,21 @@ pre code { margin-left: 8.33333333%; } .col-xs-offset-0 { - margin-left: 0; + margin-left: 0%; } @media (min-width: 768px) { - .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12 { + .col-sm-1, + .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-sm-10, + .col-sm-11, + .col-sm-12 { float: left; } .col-sm-12 { @@ -1929,11 +2005,22 @@ pre code { margin-left: 8.33333333%; } .col-sm-offset-0 { - margin-left: 0; + margin-left: 0%; } } @media (min-width: 992px) { - .col-md-1, .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-md-10, .col-md-11, .col-md-12 { + .col-md-1, + .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-md-10, + .col-md-11, + .col-md-12 { float: left; } .col-md-12 { @@ -2087,11 +2174,22 @@ pre code { margin-left: 8.33333333%; } .col-md-offset-0 { - margin-left: 0; + margin-left: 0%; } } @media (min-width: 1200px) { - .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12 { + .col-lg-1, + .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-lg-10, + .col-lg-11, + .col-lg-12 { float: left; } .col-lg-12 { @@ -2245,16 +2343,27 @@ pre code { margin-left: 8.33333333%; } .col-lg-offset-0 { - margin-left: 0; + margin-left: 0%; } } table { background-color: transparent; } +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; +} caption { padding-top: 8px; padding-bottom: 8px; - color: #777; + color: #777777; text-align: left; } th { @@ -2323,17 +2432,6 @@ th { .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 > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, @@ -2440,7 +2538,7 @@ table th[class*="col-"] { background-color: #ebcccc; } .table-responsive { - min-height: .01%; + min-height: 0.01%; overflow-x: auto; } @media screen and (max-width: 767px) { @@ -2501,7 +2599,7 @@ legend { margin-bottom: 20px; font-size: 21px; line-height: inherit; - color: #333; + color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; } @@ -2509,12 +2607,15 @@ label { display: inline-block; max-width: 100%; margin-bottom: 5px; - font-weight: bold; + font-weight: 700; } input[type="search"] { -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } input[type="radio"], input[type="checkbox"] { @@ -2522,6 +2623,14 @@ input[type="checkbox"] { margin-top: 1px \9; line-height: normal; } +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} input[type="file"] { display: block; } @@ -2544,7 +2653,7 @@ output { padding-top: 7px; font-size: 14px; line-height: 1.42857143; - color: #555; + color: #555555; } .form-control { display: block; @@ -2553,22 +2662,25 @@ output { padding: 6px 12px; font-size: 14px; line-height: 1.42857143; - color: #555; + color: #555555; 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-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -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; + transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + 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, -webkit-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); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6); } .form-control::-moz-placeholder { color: #999; @@ -2587,7 +2699,7 @@ output { .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { - background-color: #eee; + background-color: #eeeeee; opacity: 1; } .form-control[disabled], @@ -2597,9 +2709,6 @@ fieldset[disabled] .form-control { 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, @@ -2638,12 +2747,18 @@ input[type="search"] { margin-top: 10px; margin-bottom: 10px; } +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; - font-weight: normal; + font-weight: 400; cursor: pointer; } .radio input[type="radio"], @@ -2664,34 +2779,20 @@ input[type="search"] { display: inline-block; padding-left: 20px; margin-bottom: 0; - font-weight: normal; + font-weight: 400; vertical-align: middle; cursor: pointer; } -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"].disabled, -input[type="checkbox"].disabled, -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; -} .radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } -.radio.disabled label, -.checkbox.disabled label, -fieldset[disabled] .radio label, -fieldset[disabled] .checkbox label { - cursor: not-allowed; +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; } .form-control-static { min-height: 34px; @@ -2824,13 +2925,13 @@ select[multiple].input-lg { } .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); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 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; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; @@ -2854,13 +2955,13 @@ select[multiple].input-lg { } .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); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 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; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; @@ -2884,13 +2985,13 @@ select[multiple].input-lg { } .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); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 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; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; @@ -3002,24 +3103,24 @@ select[multiple].input-lg { } .btn { display: inline-block; - padding: 6px 12px; margin-bottom: 0; - font-size: 14px; font-weight: normal; - line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; - 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; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } .btn:focus, .btn:active:focus, @@ -3040,17 +3141,17 @@ select[multiple].input-lg { .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); + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; filter: alpha(opacity=65); + opacity: 0.65; -webkit-box-shadow: none; - box-shadow: none; - opacity: .65; + box-shadow: none; } a.btn.disabled, fieldset[disabled] a.btn { @@ -3077,6 +3178,7 @@ fieldset[disabled] a.btn { .open > .dropdown-toggle.btn-default { color: #333; background-color: #e6e6e6; + background-image: none; border-color: #adadad; } .btn-default:active:hover, @@ -3092,11 +3194,6 @@ fieldset[disabled] a.btn { background-color: #d4d4d4; border-color: #8c8c8c; } -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, @@ -3134,6 +3231,7 @@ fieldset[disabled] .btn-default.focus { .open > .dropdown-toggle.btn-primary { color: #fff; background-color: #286090; + background-image: none; border-color: #204d74; } .btn-primary:active:hover, @@ -3149,11 +3247,6 @@ fieldset[disabled] .btn-default.focus { background-color: #204d74; border-color: #122b40; } -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, @@ -3191,6 +3284,7 @@ fieldset[disabled] .btn-primary.focus { .open > .dropdown-toggle.btn-success { color: #fff; background-color: #449d44; + background-image: none; border-color: #398439; } .btn-success:active:hover, @@ -3206,11 +3300,6 @@ fieldset[disabled] .btn-primary.focus { background-color: #398439; border-color: #255625; } -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, @@ -3248,6 +3337,7 @@ fieldset[disabled] .btn-success.focus { .open > .dropdown-toggle.btn-info { color: #fff; background-color: #31b0d5; + background-image: none; border-color: #269abc; } .btn-info:active:hover, @@ -3263,11 +3353,6 @@ fieldset[disabled] .btn-success.focus { background-color: #269abc; border-color: #1b6d85; } -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, @@ -3305,6 +3390,7 @@ fieldset[disabled] .btn-info.focus { .open > .dropdown-toggle.btn-warning { color: #fff; background-color: #ec971f; + background-image: none; border-color: #d58512; } .btn-warning:active:hover, @@ -3320,11 +3406,6 @@ fieldset[disabled] .btn-info.focus { background-color: #d58512; border-color: #985f0d; } -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, @@ -3362,6 +3443,7 @@ fieldset[disabled] .btn-warning.focus { .open > .dropdown-toggle.btn-danger { color: #fff; background-color: #c9302c; + background-image: none; border-color: #ac2925; } .btn-danger:active:hover, @@ -3377,11 +3459,6 @@ fieldset[disabled] .btn-warning.focus { background-color: #ac2925; border-color: #761c19; } -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, @@ -3399,7 +3476,7 @@ fieldset[disabled] .btn-danger.focus { background-color: #fff; } .btn-link { - font-weight: normal; + font-weight: 400; color: #337ab7; border-radius: 0; } @@ -3410,7 +3487,7 @@ fieldset[disabled] .btn-danger.focus { fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .btn-link, .btn-link:hover, @@ -3428,7 +3505,7 @@ fieldset[disabled] .btn-link { fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { - color: #777; + color: #777777; text-decoration: none; } .btn-lg, @@ -3466,9 +3543,9 @@ input[type="button"].btn-block { } .fade { opacity: 0; - -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; } .fade.in { opacity: 1; @@ -3489,15 +3566,15 @@ tbody.collapse.in { 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; + -o-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + -o-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; } .caret { display: inline-block; @@ -3531,13 +3608,12 @@ tbody.collapse.in { text-align: left; list-style: none; background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; + background-clip: padding-box; border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .15); + border: 1px solid rgba(0, 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); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } .dropdown-menu.pull-right { right: 0; @@ -3553,9 +3629,9 @@ tbody.collapse.in { display: block; padding: 3px 20px; clear: both; - font-weight: normal; + font-weight: 400; line-height: 1.42857143; - color: #333; + color: #333333; white-space: nowrap; } .dropdown-menu > li > a:hover, @@ -3575,7 +3651,7 @@ tbody.collapse.in { .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { - color: #777; + color: #777777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { @@ -3604,7 +3680,7 @@ tbody.collapse.in { padding: 3px 20px; font-size: 12px; line-height: 1.42857143; - color: #777; + color: #777777; white-space: nowrap; } .dropdown-backdrop { @@ -3725,12 +3801,12 @@ tbody.collapse.in { 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); + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .btn .caret { margin-left: 0; @@ -3898,11 +3974,11 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .input-group-addon { padding: 6px 12px; font-size: 14px; - font-weight: normal; + font-weight: 400; line-height: 1; - color: #555; + color: #555555; text-align: center; - background-color: #eee; + background-color: #eeeeee; border: 1px solid #ccc; border-radius: 4px; } @@ -3988,14 +4064,14 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; - background-color: #eee; + background-color: #eeeeee; } .nav > li.disabled > a { - color: #777; + color: #777777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { - color: #777; + color: #777777; text-decoration: none; cursor: not-allowed; background-color: transparent; @@ -4003,7 +4079,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { - background-color: #eee; + background-color: #eeeeee; border-color: #337ab7; } .nav .nav-divider { @@ -4029,12 +4105,12 @@ select[multiple].input-group-sm > .input-group-btn > .btn { border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { - border-color: #eee #eee #ddd; + border-color: #eeeeee #eeeeee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { - color: #555; + color: #555555; cursor: default; background-color: #fff; border: 1px solid #ddd; @@ -4183,10 +4259,10 @@ select[multiple].input-group-sm > .input-group-btn > .btn { 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); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; } .navbar-collapse.in { overflow-y: auto; @@ -4196,7 +4272,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { width: auto; border-top: 0; -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .navbar-collapse.collapse { display: block !important; @@ -4214,6 +4290,13 @@ select[multiple].input-group-sm > .input-group-btn > .btn { padding-left: 0; } } +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; @@ -4224,6 +4307,21 @@ select[multiple].input-group-sm > .input-group-btn > .btn { max-height: 200px; } } +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + 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; +} .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, @@ -4249,28 +4347,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn { border-radius: 0; } } -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; -} -@media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - 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; @@ -4295,8 +4371,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { position: relative; float: right; padding: 9px 10px; - margin-top: 8px; margin-right: 15px; + margin-top: 8px; margin-bottom: 8px; background-color: transparent; background-image: none; @@ -4337,7 +4413,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { background-color: transparent; border: 0; -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { @@ -4366,14 +4442,14 @@ select[multiple].input-group-sm > .input-group-btn > .btn { } .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); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 8px; + margin-bottom: 8px; } @media (min-width: 768px) { .navbar-form .form-group { @@ -4442,7 +4518,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { margin-left: 0; border: 0; -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } } .navbar-nav > li > .dropdown-menu { @@ -4527,20 +4603,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn { color: #ccc; background-color: transparent; } -.navbar-default .navbar-toggle { - border-color: #ddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - 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:hover, .navbar-default .navbar-nav > .open > a:focus { @@ -4569,6 +4631,20 @@ select[multiple].input-group-sm > .input-group-btn > .btn { background-color: transparent; } } +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + 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-link { color: #777; } @@ -4623,20 +4699,6 @@ fieldset[disabled] .navbar-default .btn-link:focus { color: #444; background-color: transparent; } -.navbar-inverse .navbar-toggle { - border-color: #333; -} -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - 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:hover, .navbar-inverse .navbar-nav > .open > a:focus { @@ -4671,6 +4733,20 @@ fieldset[disabled] .navbar-default .btn-link:focus { background-color: transparent; } } +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + 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-link { color: #9d9d9d; } @@ -4706,7 +4782,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { content: "/\00a0"; } .breadcrumb > .active { - color: #777; + color: #777777; } .pagination { display: inline-block; @@ -4729,6 +4805,15 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { background-color: #fff; border: 1px solid #ddd; } +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; @@ -4740,15 +4825,6 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - z-index: 2; - color: #23527c; - background-color: #eee; - border-color: #ddd; -} .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, @@ -4767,7 +4843,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { - color: #777; + color: #777777; cursor: not-allowed; background-color: #fff; border-color: #ddd; @@ -4824,7 +4900,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { .pager li > a:hover, .pager li > a:focus { text-decoration: none; - background-color: #eee; + background-color: #eeeeee; } .pager .next > a, .pager .next > span { @@ -4838,21 +4914,21 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { - color: #777; + color: #777777; cursor: not-allowed; background-color: #fff; } .label { display: inline; - padding: .2em .6em .3em; + padding: 0.2em 0.6em 0.3em; font-size: 75%; - font-weight: bold; + font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; - border-radius: .25em; + border-radius: 0.25em; } a.label:hover, a.label:focus { @@ -4868,7 +4944,7 @@ a.label:focus { top: -1px; } .label-default { - background-color: #777; + background-color: #777777; } .label-default[href]:hover, .label-default[href]:focus { @@ -4920,7 +4996,7 @@ a.label:focus { text-align: center; white-space: nowrap; vertical-align: middle; - background-color: #777; + background-color: #777777; border-radius: 10px; } .badge:empty { @@ -4960,7 +5036,7 @@ a.badge:focus { padding-bottom: 30px; margin-bottom: 30px; color: inherit; - background-color: #eee; + background-color: #eeeeee; } .jumbotron h1, .jumbotron .h1 { @@ -5006,9 +5082,9 @@ a.badge:focus { 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; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; } .thumbnail > img, .thumbnail a > img { @@ -5022,7 +5098,7 @@ a.thumbnail.active { } .thumbnail .caption { padding: 9px; - color: #333; + color: #333333; } .alert { padding: 15px; @@ -5129,69 +5205,69 @@ a.thumbnail.active { 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); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } .progress-bar { float: left; - width: 0; + 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; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; } .progress-striped .progress-bar, .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); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; - background-size: 40px 40px; + background-size: 40px 40px; } .progress.active .progress-bar, .progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - 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); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.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); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.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); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.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); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .media { margin-top: 15px; @@ -5262,32 +5338,12 @@ a.thumbnail.active { 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:hover, -button.list-group-item:hover, -a.list-group-item:focus, -button.list-group-item:focus { - 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:hover, .list-group-item.disabled:focus { - color: #777; + color: #777777; cursor: not-allowed; - background-color: #eee; + background-color: #eeeeee; } .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, @@ -5297,7 +5353,7 @@ button.list-group-item { .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { - color: #777; + color: #777777; } .list-group-item.active, .list-group-item.active:hover, @@ -5323,6 +5379,26 @@ button.list-group-item { .list-group-item.active:focus .list-group-item-text { color: #c7ddef; } +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:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} .list-group-item-success { color: #3c763d; background-color: #dff0d8; @@ -5452,8 +5528,8 @@ button.list-group-item-danger.active:focus { 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); + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } .panel-body { padding: 15px; @@ -5686,7 +5762,7 @@ button.list-group-item-danger.active:focus { border-color: #ddd; } .panel-default > .panel-heading { - color: #333; + color: #333333; background-color: #f5f5f5; border-color: #ddd; } @@ -5695,7 +5771,7 @@ button.list-group-item-danger.active:focus { } .panel-default > .panel-heading .badge { color: #f5f5f5; - background-color: #333; + background-color: #333333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; @@ -5823,12 +5899,12 @@ button.list-group-item-danger.active:focus { 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); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } .well blockquote { border-color: #ddd; - border-color: rgba(0, 0, 0, .15); + border-color: rgba(0, 0, 0, 0.15); } .well-lg { padding: 24px; @@ -5846,7 +5922,7 @@ button.list-group-item-danger.active:focus { color: #000; text-shadow: 0 1px 0 #fff; filter: alpha(opacity=20); - opacity: .2; + opacity: 0.2; } .close:hover, .close:focus { @@ -5854,14 +5930,16 @@ button.list-group-item-danger.active:focus { text-decoration: none; cursor: pointer; filter: alpha(opacity=50); - opacity: .5; + opacity: 0.5; } button.close { - -webkit-appearance: none; padding: 0; cursor: pointer; background: transparent; border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } .modal-open { overflow: hidden; @@ -5879,19 +5957,21 @@ button.close { 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%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out; } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - -o-transform: translate(0, 0); - transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; @@ -5905,14 +5985,13 @@ button.close { .modal-content { position: relative; background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; + background-clip: padding-box; border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, .2); + border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); 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; @@ -5929,7 +6008,7 @@ button.close { } .modal-backdrop.in { filter: alpha(opacity=50); - opacity: .5; + opacity: 0.5; } .modal-header { padding: 15px; @@ -5974,8 +6053,8 @@ button.close { 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); + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } .modal-sm { width: 300px; @@ -5991,10 +6070,10 @@ button.close { z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 12px; font-style: normal; - font-weight: normal; + font-weight: 400; line-height: 1.42857143; + line-break: auto; text-align: left; text-align: start; text-decoration: none; @@ -6005,14 +6084,13 @@ button.close { word-spacing: normal; word-wrap: normal; white-space: normal; + font-size: 12px; filter: alpha(opacity=0); opacity: 0; - - line-break: auto; } .tooltip.in { filter: alpha(opacity=90); - opacity: .9; + opacity: 0.9; } .tooltip.top { padding: 5px 0; @@ -6030,21 +6108,6 @@ button.close { 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%; @@ -6101,6 +6164,21 @@ button.close { border-width: 0 5px 5px; border-bottom-color: #000; } +.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; +} .popover { position: absolute; top: 0; @@ -6110,10 +6188,10 @@ button.close { max-width: 276px; padding: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; font-style: normal; - font-weight: normal; + font-weight: 400; line-height: 1.42857143; + line-break: auto; text-align: left; text-align: start; text-decoration: none; @@ -6124,16 +6202,14 @@ button.close { word-spacing: normal; word-wrap: normal; white-space: normal; + font-size: 14px; background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; + background-clip: padding-box; border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .2); + border: 1px solid rgba(0, 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; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } .popover.top { margin-top: -10px; @@ -6147,16 +6223,8 @@ button.close { .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 { + border-width: 11px; } .popover > .arrow, .popover > .arrow:after { @@ -6167,9 +6235,6 @@ button.close { border-color: transparent; border-style: solid; } -.popover > .arrow { - border-width: 11px; -} .popover > .arrow:after { content: ""; border-width: 10px; @@ -6178,8 +6243,8 @@ button.close { bottom: -11px; left: 50%; margin-left: -11px; - border-top-color: #999; - border-top-color: rgba(0, 0, 0, .25); + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); border-bottom-width: 0; } .popover.top > .arrow:after { @@ -6193,8 +6258,8 @@ button.close { top: 50%; left: -11px; margin-top: -11px; - border-right-color: #999; - border-right-color: rgba(0, 0, 0, .25); + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); border-left-width: 0; } .popover.right > .arrow:after { @@ -6209,8 +6274,8 @@ button.close { left: 50%; margin-left: -11px; border-top-width: 0; - border-bottom-color: #999; - border-bottom-color: rgba(0, 0, 0, .25); + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); } .popover.bottom > .arrow:after { top: 1px; @@ -6224,8 +6289,8 @@ button.close { right: -11px; margin-top: -11px; border-right-width: 0; - border-left-color: #999; - border-left-color: rgba(0, 0, 0, .25); + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); } .popover.left > .arrow:after { right: 1px; @@ -6234,6 +6299,17 @@ button.close { border-right-width: 0; border-left-color: #fff; } +.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; +} .carousel { position: relative; } @@ -6245,9 +6321,9 @@ button.close { .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; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { @@ -6255,33 +6331,34 @@ button.close { } @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-transition: -webkit-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out; -webkit-backface-visibility: hidden; - backface-visibility: hidden; + backface-visibility: hidden; -webkit-perspective: 1000px; - perspective: 1000px; + perspective: 1000px; } .carousel-inner > .item.next, .carousel-inner > .item.active.right { - left: 0; -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; } .carousel-inner > .item.prev, .carousel-inner > .item.active.left { - left: 0; -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; } .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { - left: 0; -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; } } .carousel-inner > .active, @@ -6323,26 +6400,26 @@ button.close { font-size: 20px; color: #fff; text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); background-color: rgba(0, 0, 0, 0); filter: alpha(opacity=50); - opacity: .5; + opacity: 0.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%); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 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%); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); background-repeat: repeat-x; } @@ -6350,9 +6427,9 @@ button.close { .carousel-control:focus { color: #fff; text-decoration: none; - filter: alpha(opacity=90); outline: 0; - opacity: .9; + filter: alpha(opacity=90); + opacity: 0.9; } .carousel-control .icon-prev, .carousel-control .icon-next, @@ -6382,10 +6459,10 @@ button.close { line-height: 1; } .carousel-control .icon-prev:before { - content: '\2039'; + content: "\2039"; } .carousel-control .icon-next:before { - content: '\203a'; + content: "\203a"; } .carousel-indicators { position: absolute; @@ -6426,7 +6503,7 @@ button.close { padding-bottom: 20px; color: #fff; text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-caption .btn { text-shadow: none; @@ -6754,4 +6831,4 @@ button.close { display: none !important; } } -/*# sourceMappingURL=bootstrap.css.map */ +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.css.map b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.css.map index f010c82d..caac3e61 100644 --- a/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.css.map +++ b/front/lib/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.css.map @@ -1 +1 @@ -{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,4EAA4E;ACG5E;EACE,wBAAA;EACA,2BAAA;EACA,+BAAA;CDDD;ACQD;EACE,UAAA;CDND;ACmBD;;;;;;;;;;;;;EAaE,eAAA;CDjBD;ACyBD;;;;EAIE,sBAAA;EACA,yBAAA;CDvBD;AC+BD;EACE,cAAA;EACA,UAAA;CD7BD;ACqCD;;EAEE,cAAA;CDnCD;AC6CD;EACE,8BAAA;CD3CD;ACmDD;;EAEE,WAAA;CDjDD;AC2DD;EACE,0BAAA;CDzDD;ACgED;;EAEE,kBAAA;CD9DD;ACqED;EACE,mBAAA;CDnED;AC2ED;EACE,eAAA;EACA,iBAAA;CDzED;ACgFD;EACE,iBAAA;EACA,YAAA;CD9ED;ACqFD;EACE,eAAA;CDnFD;AC0FD;;EAEE,eAAA;EACA,eAAA;EACA,mBAAA;EACA,yBAAA;CDxFD;AC2FD;EACE,YAAA;CDzFD;AC4FD;EACE,gBAAA;CD1FD;ACoGD;EACE,UAAA;CDlGD;ACyGD;EACE,iBAAA;CDvGD;ACiHD;EACE,iBAAA;CD/GD;ACsHD;EACE,gCAAA;KAAA,6BAAA;UAAA,wBAAA;EACA,UAAA;CDpHD;AC2HD;EACE,eAAA;CDzHD;ACgID;;;;EAIE,kCAAA;EACA,eAAA;CD9HD;ACgJD;;;;;EAKE,eAAA;EACA,cAAA;EACA,UAAA;CD9ID;ACqJD;EACE,kBAAA;CDnJD;AC6JD;;EAEE,qBAAA;CD3JD;ACsKD;;;;EAIE,2BAAA;EACA,gBAAA;CDpKD;AC2KD;;EAEE,gBAAA;CDzKD;ACgLD;;EAEE,UAAA;EACA,WAAA;CD9KD;ACsLD;EACE,oBAAA;CDpLD;AC+LD;;EAEE,+BAAA;KAAA,4BAAA;UAAA,uBAAA;EACA,WAAA;CD7LD;ACsMD;;EAEE,aAAA;CDpMD;AC4MD;EACE,8BAAA;EACA,gCAAA;KAAA,6BAAA;UAAA,wBAAA;CD1MD;ACmND;;EAEE,yBAAA;CDjND;ACwND;EACE,0BAAA;EACA,cAAA;EACA,+BAAA;CDtND;AC8ND;EACE,UAAA;EACA,WAAA;CD5ND;ACmOD;EACE,eAAA;CDjOD;ACyOD;EACE,kBAAA;CDvOD;ACiPD;EACE,0BAAA;EACA,kBAAA;CD/OD;ACkPD;;EAEE,WAAA;CDhPD;AACD,qFAAqF;AElFrF;EA7FI;;;IAGI,mCAAA;IACA,uBAAA;IACA,oCAAA;YAAA,4BAAA;IACA,6BAAA;GFkLL;EE/KC;;IAEI,2BAAA;GFiLL;EE9KC;IACI,6BAAA;GFgLL;EE7KC;IACI,8BAAA;GF+KL;EE1KC;;IAEI,YAAA;GF4KL;EEzKC;;IAEI,uBAAA;IACA,yBAAA;GF2KL;EExKC;IACI,4BAAA;GF0KL;EEvKC;;IAEI,yBAAA;GFyKL;EEtKC;IACI,2BAAA;GFwKL;EErKC;;;IAGI,WAAA;IACA,UAAA;GFuKL;EEpKC;;IAEI,wBAAA;GFsKL;EEhKC;IACI,cAAA;GFkKL;EEhKC;;IAGQ,kCAAA;GFiKT;EE9JC;IACI,uBAAA;GFgKL;EE7JC;IACI,qCAAA;GF+JL;EEhKC;;IAKQ,kCAAA;GF+JT;EE5JC;;IAGQ,kCAAA;GF6JT;CACF;AGnPD;EACE,oCAAA;EACA,sDAAA;EACA,gYAAA;CHqPD;AG7OD;EACE,mBAAA;EACA,SAAA;EACA,sBAAA;EACA,oCAAA;EACA,mBAAA;EACA,oBAAA;EACA,eAAA;EACA,oCAAA;EACA,mCAAA;CH+OD;AG3OmC;EAAW,iBAAA;CH8O9C;AG7OmC;EAAW,iBAAA;CHgP9C;AG9OmC;;EAAW,iBAAA;CHkP9C;AGjPmC;EAAW,iBAAA;CHoP9C;AGnPmC;EAAW,iBAAA;CHsP9C;AGrPmC;EAAW,iBAAA;CHwP9C;AGvPmC;EAAW,iBAAA;CH0P9C;AGzPmC;EAAW,iBAAA;CH4P9C;AG3PmC;EAAW,iBAAA;CH8P9C;AG7PmC;EAAW,iBAAA;CHgQ9C;AG/PmC;EAAW,iBAAA;CHkQ9C;AGjQmC;EAAW,iBAAA;CHoQ9C;AGnQmC;EAAW,iBAAA;CHsQ9C;AGrQmC;EAAW,iBAAA;CHwQ9C;AGvQmC;EAAW,iBAAA;CH0Q9C;AGzQmC;EAAW,iBAAA;CH4Q9C;AG3QmC;EAAW,iBAAA;CH8Q9C;AG7QmC;EAAW,iBAAA;CHgR9C;AG/QmC;EAAW,iBAAA;CHkR9C;AGjRmC;EAAW,iBAAA;CHoR9C;AGnRmC;EAAW,iBAAA;CHsR9C;AGrRmC;EAAW,iBAAA;CHwR9C;AGvRmC;EAAW,iBAAA;CH0R9C;AGzRmC;EAAW,iBAAA;CH4R9C;AG3RmC;EAAW,iBAAA;CH8R9C;AG7RmC;EAAW,iBAAA;CHgS9C;AG/RmC;EAAW,iBAAA;CHkS9C;AGjSmC;EAAW,iBAAA;CHoS9C;AGnSmC;EAAW,iBAAA;CHsS9C;AGrSmC;EAAW,iBAAA;CHwS9C;AGvSmC;EAAW,iBAAA;CH0S9C;AGzSmC;EAAW,iBAAA;CH4S9C;AG3SmC;EAAW,iBAAA;CH8S9C;AG7SmC;EAAW,iBAAA;CHgT9C;AG/SmC;EAAW,iBAAA;CHkT9C;AGjTmC;EAAW,iBAAA;CHoT9C;AGnTmC;EAAW,iBAAA;CHsT9C;AGrTmC;EAAW,iBAAA;CHwT9C;AGvTmC;EAAW,iBAAA;CH0T9C;AGzTmC;EAAW,iBAAA;CH4T9C;AG3TmC;EAAW,iBAAA;CH8T9C;AG7TmC;EAAW,iBAAA;CHgU9C;AG/TmC;EAAW,iBAAA;CHkU9C;AGjUmC;EAAW,iBAAA;CHoU9C;AGnUmC;EAAW,iBAAA;CHsU9C;AGrUmC;EAAW,iBAAA;CHwU9C;AGvUmC;EAAW,iBAAA;CH0U9C;AGzUmC;EAAW,iBAAA;CH4U9C;AG3UmC;EAAW,iBAAA;CH8U9C;AG7UmC;EAAW,iBAAA;CHgV9C;AG/UmC;EAAW,iBAAA;CHkV9C;AGjVmC;EAAW,iBAAA;CHoV9C;AGnVmC;EAAW,iBAAA;CHsV9C;AGrVmC;EAAW,iBAAA;CHwV9C;AGvVmC;EAAW,iBAAA;CH0V9C;AGzVmC;EAAW,iBAAA;CH4V9C;AG3VmC;EAAW,iBAAA;CH8V9C;AG7VmC;EAAW,iBAAA;CHgW9C;AG/VmC;EAAW,iBAAA;CHkW9C;AGjWmC;EAAW,iBAAA;CHoW9C;AGnWmC;EAAW,iBAAA;CHsW9C;AGrWmC;EAAW,iBAAA;CHwW9C;AGvWmC;EAAW,iBAAA;CH0W9C;AGzWmC;EAAW,iBAAA;CH4W9C;AG3WmC;EAAW,iBAAA;CH8W9C;AG7WmC;EAAW,iBAAA;CHgX9C;AG/WmC;EAAW,iBAAA;CHkX9C;AGjXmC;EAAW,iBAAA;CHoX9C;AGnXmC;EAAW,iBAAA;CHsX9C;AGrXmC;EAAW,iBAAA;CHwX9C;AGvXmC;EAAW,iBAAA;CH0X9C;AGzXmC;EAAW,iBAAA;CH4X9C;AG3XmC;EAAW,iBAAA;CH8X9C;AG7XmC;EAAW,iBAAA;CHgY9C;AG/XmC;EAAW,iBAAA;CHkY9C;AGjYmC;EAAW,iBAAA;CHoY9C;AGnYmC;EAAW,iBAAA;CHsY9C;AGrYmC;EAAW,iBAAA;CHwY9C;AGvYmC;EAAW,iBAAA;CH0Y9C;AGzYmC;EAAW,iBAAA;CH4Y9C;AG3YmC;EAAW,iBAAA;CH8Y9C;AG7YmC;EAAW,iBAAA;CHgZ9C;AG/YmC;EAAW,iBAAA;CHkZ9C;AGjZmC;EAAW,iBAAA;CHoZ9C;AGnZmC;EAAW,iBAAA;CHsZ9C;AGrZmC;EAAW,iBAAA;CHwZ9C;AGvZmC;EAAW,iBAAA;CH0Z9C;AGzZmC;EAAW,iBAAA;CH4Z9C;AG3ZmC;EAAW,iBAAA;CH8Z9C;AG7ZmC;EAAW,iBAAA;CHga9C;AG/ZmC;EAAW,iBAAA;CHka9C;AGjamC;EAAW,iBAAA;CHoa9C;AGnamC;EAAW,iBAAA;CHsa9C;AGramC;EAAW,iBAAA;CHwa9C;AGvamC;EAAW,iBAAA;CH0a9C;AGzamC;EAAW,iBAAA;CH4a9C;AG3amC;EAAW,iBAAA;CH8a9C;AG7amC;EAAW,iBAAA;CHgb9C;AG/amC;EAAW,iBAAA;CHkb9C;AGjbmC;EAAW,iBAAA;CHob9C;AGnbmC;EAAW,iBAAA;CHsb9C;AGrbmC;EAAW,iBAAA;CHwb9C;AGvbmC;EAAW,iBAAA;CH0b9C;AGzbmC;EAAW,iBAAA;CH4b9C;AG3bmC;EAAW,iBAAA;CH8b9C;AG7bmC;EAAW,iBAAA;CHgc9C;AG/bmC;EAAW,iBAAA;CHkc9C;AGjcmC;EAAW,iBAAA;CHoc9C;AGncmC;EAAW,iBAAA;CHsc9C;AGrcmC;EAAW,iBAAA;CHwc9C;AGvcmC;EAAW,iBAAA;CH0c9C;AGzcmC;EAAW,iBAAA;CH4c9C;AG3cmC;EAAW,iBAAA;CH8c9C;AG7cmC;EAAW,iBAAA;CHgd9C;AG/cmC;EAAW,iBAAA;CHkd9C;AGjdmC;EAAW,iBAAA;CHod9C;AGndmC;EAAW,iBAAA;CHsd9C;AGrdmC;EAAW,iBAAA;CHwd9C;AGvdmC;EAAW,iBAAA;CH0d9C;AGzdmC;EAAW,iBAAA;CH4d9C;AG3dmC;EAAW,iBAAA;CH8d9C;AG7dmC;EAAW,iBAAA;CHge9C;AG/dmC;EAAW,iBAAA;CHke9C;AGjemC;EAAW,iBAAA;CHoe9C;AGnemC;EAAW,iBAAA;CHse9C;AGremC;EAAW,iBAAA;CHwe9C;AGvemC;EAAW,iBAAA;CH0e9C;AGzemC;EAAW,iBAAA;CH4e9C;AG3emC;EAAW,iBAAA;CH8e9C;AG7emC;EAAW,iBAAA;CHgf9C;AG/emC;EAAW,iBAAA;CHkf9C;AGjfmC;EAAW,iBAAA;CHof9C;AGnfmC;EAAW,iBAAA;CHsf9C;AGrfmC;EAAW,iBAAA;CHwf9C;AGvfmC;EAAW,iBAAA;CH0f9C;AGzfmC;EAAW,iBAAA;CH4f9C;AG3fmC;EAAW,iBAAA;CH8f9C;AG7fmC;EAAW,iBAAA;CHggB9C;AG/fmC;EAAW,iBAAA;CHkgB9C;AGjgBmC;EAAW,iBAAA;CHogB9C;AGngBmC;EAAW,iBAAA;CHsgB9C;AGrgBmC;EAAW,iBAAA;CHwgB9C;AGvgBmC;EAAW,iBAAA;CH0gB9C;AGzgBmC;EAAW,iBAAA;CH4gB9C;AG3gBmC;EAAW,iBAAA;CH8gB9C;AG7gBmC;EAAW,iBAAA;CHghB9C;AG/gBmC;EAAW,iBAAA;CHkhB9C;AGjhBmC;EAAW,iBAAA;CHohB9C;AGnhBmC;EAAW,iBAAA;CHshB9C;AGrhBmC;EAAW,iBAAA;CHwhB9C;AGvhBmC;EAAW,iBAAA;CH0hB9C;AGzhBmC;EAAW,iBAAA;CH4hB9C;AG3hBmC;EAAW,iBAAA;CH8hB9C;AG7hBmC;EAAW,iBAAA;CHgiB9C;AG/hBmC;EAAW,iBAAA;CHkiB9C;AGjiBmC;EAAW,iBAAA;CHoiB9C;AGniBmC;EAAW,iBAAA;CHsiB9C;AGriBmC;EAAW,iBAAA;CHwiB9C;AGviBmC;EAAW,iBAAA;CH0iB9C;AGziBmC;EAAW,iBAAA;CH4iB9C;AG3iBmC;EAAW,iBAAA;CH8iB9C;AG7iBmC;EAAW,iBAAA;CHgjB9C;AG/iBmC;EAAW,iBAAA;CHkjB9C;AGjjBmC;EAAW,iBAAA;CHojB9C;AGnjBmC;EAAW,iBAAA;CHsjB9C;AGrjBmC;EAAW,iBAAA;CHwjB9C;AGvjBmC;EAAW,iBAAA;CH0jB9C;AGzjBmC;EAAW,iBAAA;CH4jB9C;AG3jBmC;EAAW,iBAAA;CH8jB9C;AG7jBmC;EAAW,iBAAA;CHgkB9C;AG/jBmC;EAAW,iBAAA;CHkkB9C;AGjkBmC;EAAW,iBAAA;CHokB9C;AGnkBmC;EAAW,iBAAA;CHskB9C;AGrkBmC;EAAW,iBAAA;CHwkB9C;AGvkBmC;EAAW,iBAAA;CH0kB9C;AGzkBmC;EAAW,iBAAA;CH4kB9C;AG3kBmC;EAAW,iBAAA;CH8kB9C;AG7kBmC;EAAW,iBAAA;CHglB9C;AG/kBmC;EAAW,iBAAA;CHklB9C;AGjlBmC;EAAW,iBAAA;CHolB9C;AGnlBmC;EAAW,iBAAA;CHslB9C;AGrlBmC;EAAW,iBAAA;CHwlB9C;AGvlBmC;EAAW,iBAAA;CH0lB9C;AGzlBmC;EAAW,iBAAA;CH4lB9C;AG3lBmC;EAAW,iBAAA;CH8lB9C;AG7lBmC;EAAW,iBAAA;CHgmB9C;AG/lBmC;EAAW,iBAAA;CHkmB9C;AGjmBmC;EAAW,iBAAA;CHomB9C;AGnmBmC;EAAW,iBAAA;CHsmB9C;AGrmBmC;EAAW,iBAAA;CHwmB9C;AGvmBmC;EAAW,iBAAA;CH0mB9C;AGzmBmC;EAAW,iBAAA;CH4mB9C;AG3mBmC;EAAW,iBAAA;CH8mB9C;AG7mBmC;EAAW,iBAAA;CHgnB9C;AG/mBmC;EAAW,iBAAA;CHknB9C;AGjnBmC;EAAW,iBAAA;CHonB9C;AGnnBmC;EAAW,iBAAA;CHsnB9C;AGrnBmC;EAAW,iBAAA;CHwnB9C;AGvnBmC;EAAW,iBAAA;CH0nB9C;AGznBmC;EAAW,iBAAA;CH4nB9C;AG3nBmC;EAAW,iBAAA;CH8nB9C;AG7nBmC;EAAW,iBAAA;CHgoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AGvoBmC;EAAW,iBAAA;CH0oB9C;AGzoBmC;EAAW,iBAAA;CH4oB9C;AG3oBmC;EAAW,iBAAA;CH8oB9C;AG7oBmC;EAAW,iBAAA;CHgpB9C;AG/oBmC;EAAW,iBAAA;CHkpB9C;AGjpBmC;EAAW,iBAAA;CHopB9C;AGnpBmC;EAAW,iBAAA;CHspB9C;AGrpBmC;EAAW,iBAAA;CHwpB9C;AGvpBmC;EAAW,iBAAA;CH0pB9C;AGzpBmC;EAAW,iBAAA;CH4pB9C;AG3pBmC;EAAW,iBAAA;CH8pB9C;AG7pBmC;EAAW,iBAAA;CHgqB9C;AG/pBmC;EAAW,iBAAA;CHkqB9C;AGjqBmC;EAAW,iBAAA;CHoqB9C;AGnqBmC;EAAW,iBAAA;CHsqB9C;AGrqBmC;EAAW,iBAAA;CHwqB9C;AGvqBmC;EAAW,iBAAA;CH0qB9C;AGzqBmC;EAAW,iBAAA;CH4qB9C;AG3qBmC;EAAW,iBAAA;CH8qB9C;AG7qBmC;EAAW,iBAAA;CHgrB9C;AG/qBmC;EAAW,iBAAA;CHkrB9C;AGjrBmC;EAAW,iBAAA;CHorB9C;AGnrBmC;EAAW,iBAAA;CHsrB9C;AGrrBmC;EAAW,iBAAA;CHwrB9C;AGvrBmC;EAAW,iBAAA;CH0rB9C;AGzrBmC;EAAW,iBAAA;CH4rB9C;AG3rBmC;EAAW,iBAAA;CH8rB9C;AG7rBmC;EAAW,iBAAA;CHgsB9C;AG/rBmC;EAAW,iBAAA;CHksB9C;AGjsBmC;EAAW,iBAAA;CHosB9C;AGnsBmC;EAAW,iBAAA;CHssB9C;AGrsBmC;EAAW,iBAAA;CHwsB9C;AGvsBmC;EAAW,iBAAA;CH0sB9C;AGzsBmC;EAAW,iBAAA;CH4sB9C;AG3sBmC;EAAW,iBAAA;CH8sB9C;AG7sBmC;EAAW,iBAAA;CHgtB9C;AG/sBmC;EAAW,iBAAA;CHktB9C;AGjtBmC;EAAW,iBAAA;CHotB9C;AGntBmC;EAAW,iBAAA;CHstB9C;AGrtBmC;EAAW,iBAAA;CHwtB9C;AGvtBmC;EAAW,iBAAA;CH0tB9C;AGztBmC;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ukDH;AexkDC;EACE,oBAAA;Cf0kDH;Ae3kDC;EACE,WAAA;Cf6kDH;Ae9kDC;EACE,oBAAA;CfglDH;AejlDC;EACE,mBAAA;CfmlDH;Ae/kDC;EACE,YAAA;CfilDH;AejmDC;EACE,WAAA;CfmmDH;AepmDC;EACE,mBAAA;CfsmDH;AevmDC;EACE,mBAAA;CfymDH;Ae1mDC;EACE,UAAA;Cf4mDH;Ae7mDC;EACE,mBAAA;Cf+mDH;AehnDC;EACE,mBAAA;CfknDH;AennDC;EACE,UAAA;CfqnDH;AetnDC;EACE,mBAAA;CfwnDH;AeznDC;EACE,mBAAA;Cf2nDH;Ae5nDC;EACE,UAAA;Cf8nDH;Ae/nDC;EACE,mBAAA;CfioDH;AeloDC;EACE,kBAAA;CfooDH;AehoDC;EACE,WAAA;CfkoDH;AepnDC;EACE,kBAAA;CfsnDH;AevnDC;EACE,0BAAA;CfynDH;Ae1nDC;EACE,0BAAA;Cf4nDH;Ae7nDC;EACE,iBAAA;Cf+nDH;AehoDC;EACE,0BAAA;CfkoDH;AenoDC;EACE,0BAAA;CfqoDH;AetoDC;EACE,iBAAA;CfwoDH;AezoDC;EACE,0BAAA;Cf2oDH;Ae5oDC;EACE,0BAAA;Cf8oDH;Ae/oDC;EACE,iBAAA;CfipDH;AelpDC;EACE,0BAAA;CfopDH;AerpDC;EACE,yBAAA;CfupDH;AexpDC;EACE,gBAAA;Cf0pDH;Aa1pDD;EElCI;IACE,YAAA;Gf+rDH;EexrDD;IACE,YAAA;Gf0rDD;Ee3rDD;IACE,oBAAA;Gf6rDD;Ee9rDD;IACE,oBAAA;GfgsDD;EejsDD;IACE,WAAA;GfmsDD;EepsDD;IACE,oBAAA;GfssDD;EevsDD;IACE,oBAAA;GfysDD;Ee1sDD;IACE,WAAA;Gf4sDD;Ee7sDD;IACE,oBAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,WAAA;GfqtDD;EettDD;IACE,oBAAA;GfwtDD;EeztDD;IACE,mBAAA;Gf2tDD;Ee7sDD;IACE,YAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,oBAAA;GfqtDD;EettDD;IACE,WAAA;GfwtDD;EeztDD;IACE,oBAAA;Gf2tDD;Ee5tDD;IACE,oBAAA;Gf8tDD;Ee/tDD;IACE,WAAA;GfiuDD;EeluDD;IACE,oBAAA;GfouDD;EeruDD;IACE,oBAAA;GfuuDD;EexuDD;IACE,WAAA;Gf0uDD;Ee3uDD;IACE,oBAAA;Gf6uDD;Ee9uDD;IACE,mBAAA;GfgvDD;Ee5uDD;IACE,YAAA;Gf8uDD;Ee9vDD;IACE,WAAA;GfgwDD;EejwDD;IACE,mBAAA;GfmwDD;EepwDD;IACE,mBAAA;GfswDD;EevwDD;IACE,UAAA;GfywDD;Ee1wDD;IACE,mBAAA;Gf4wDD;Ee7wDD;IACE,mBAAA;Gf+wDD;EehxDD;IACE,UAAA;GfkxDD;EenxDD;IACE,mBAAA;GfqxDD;EetxDD;IACE,mBAAA;GfwxDD;EezxDD;IACE,UAAA;Gf2xDD;Ee5xDD;IACE,mBAAA;Gf8xDD;Ee/xDD;IACE,kBAAA;GfiyDD;Ee7xDD;IACE,WAAA;Gf+xDD;EejxDD;IACE,kBAAA;GfmxDD;EepxDD;IACE,0BAAA;GfsxDD;EevxDD;IACE,0BAAA;GfyxDD;Ee1xDD;IACE,iBAAA;Gf4xDD;Ee7xDD;IACE,0BAAA;Gf+xDD;EehyDD;IACE,0BAAA;GfkyDD;EenyDD;IACE,iBAAA;GfqyDD;EetyDD;IACE,0BAAA;GfwyDD;EezyDD;IACE,0BAAA;Gf2yDD;Ee5yDD;IACE,iBAAA;Gf8yDD;Ee/yDD;IACE,0BAAA;GfizDD;EelzDD;IACE,yBAAA;GfozDD;EerzDD;IACE,gBAAA;GfuzDD;CACF;Aa/yDD;EE3CI;IACE,YAAA;Gf61DH;Eet1DD;IACE,YAAA;Gfw1DD;Eez1DD;IACE,oBAAA;Gf21DD;Ee51DD;IACE,oBAAA;Gf81DD;Ee/1DD;IACE,WAAA;Gfi2DD;Eel2DD;IACE,oBAAA;Gfo2DD;Eer2DD;IACE,oBAAA;Gfu2DD;Eex2DD;IACE,WAAA;Gf02DD;Ee32DD;IACE,oBAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,WAAA;Gfm3DD;Eep3DD;IACE,oBAAA;Gfs3DD;Eev3DD;IACE,mBAAA;Gfy3DD;Ee32DD;IACE,YAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,oBAAA;Gfm3DD;Eep3DD;IACE,WAAA;Gfs3DD;Eev3DD;IACE,oBAAA;Gfy3DD;Ee13DD;IACE,oBAAA;Gf43DD;Ee73DD;IACE,WAAA;Gf+3DD;Eeh4DD;IACE,oBAAA;Gfk4DD;Een4DD;IACE,oBAAA;Gfq4DD;Eet4DD;IACE,WAAA;Gfw4DD;Eez4DD;IACE,oBAAA;Gf24DD;Ee54DD;IACE,mBAAA;Gf84DD;Ee14DD;IACE,YAAA;Gf44DD;Ee55DD;IACE,WAAA;Gf85DD;Ee/5DD;IACE,mBAAA;Gfi6DD;Eel6DD;IACE,mBAAA;Gfo6DD;Eer6DD;IACE,UAAA;Gfu6DD;Eex6DD;IACE,mBAAA;Gf06DD;Ee36DD;IACE,mBAAA;Gf66DD;Ee96DD;IACE,UAAA;Gfg7DD;Eej7DD;IACE,mBAAA;Gfm7DD;Eep7DD;IACE,mBAAA;Gfs7DD;Eev7DD;IACE,UAAA;Gfy7DD;Ee17DD;IACE,mBAAA;Gf47DD;Ee77DD;IACE,kBAAA;Gf+7DD;Ee37DD;IACE,WAAA;Gf67DD;Ee/6DD;IACE,kBAAA;Gfi7DD;Eel7DD;IACE,0BAAA;Gfo7DD;Eer7DD;IACE,0BAAA;Gfu7DD;Eex7DD;IACE,iBAAA;Gf07DD;Ee37DD;IACE,0BAAA;Gf67DD;Ee97DD;IACE,0BAAA;Gfg8DD;Eej8DD;IACE,iBAAA;Gfm8DD;Eep8DD;IACE,0BAAA;Gfs8DD;Eev8DD;IACE,0BAAA;Gfy8DD;Ee18DD;IACE,iBAAA;Gf48DD;Ee78DD;IACE,0BAAA;Gf+8DD;Eeh9DD;IACE,yBAAA;Gfk9DD;Een9DD;IACE,gBAAA;Gfq9DD;CACF;Aa18DD;EE9CI;IACE,YAAA;Gf2/DH;Eep/DD;IACE,YAAA;Gfs/DD;Eev/DD;IACE,oBAAA;Gfy/DD;Ee1/DD;IACE,oBAAA;Gf4/DD;Ee7/DD;IACE,WAAA;Gf+/DD;EehgED;IACE,oBAAA;GfkgED;EengED;IACE,oBAAA;GfqgED;EetgED;IACE,WAAA;GfwgED;EezgED;IACE,oBAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,WAAA;GfihED;EelhED;IACE,oBAAA;GfohED;EerhED;IACE,mBAAA;GfuhED;EezgED;IACE,YAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,oBAAA;GfihED;EelhED;IACE,WAAA;GfohED;EerhED;IACE,oBAAA;GfuhED;EexhED;IACE,oBAAA;Gf0hED;Ee3hED;IACE,WAAA;Gf6hED;Ee9hED;IACE,oBAAA;GfgiED;EejiED;IACE,oBAAA;GfmiED;EepiED;IACE,WAAA;GfsiED;EeviED;IACE,oBAAA;GfyiED;Ee1iED;IACE,mBAAA;Gf4iED;EexiED;IACE,YAAA;Gf0iED;Ee1jED;IACE,WAAA;Gf4jED;Ee7jED;IACE,mBAAA;Gf+jED;EehkED;IACE,mBAAA;GfkkED;EenkED;IACE,UAAA;GfqkED;EetkED;IACE,mBAAA;GfwkED;EezkED;IACE,mBAAA;Gf2kED;Ee5kED;IACE,UAAA;Gf8kED;Ee/kED;IACE,mBAAA;GfilED;EellED;IACE,mBAAA;GfolED;EerlED;IACE,UAAA;GfulED;EexlED;IACE,mBAAA;Gf0lED;Ee3lED;IACE,kBAAA;Gf6lED;EezlED;IACE,WAAA;Gf2lED;Ee7kED;IACE,kBAAA;Gf+kED;EehlED;IACE,0BAAA;GfklED;EenlED;IACE,0BAAA;GfqlED;EetlED;IACE,iBAAA;GfwlED;EezlED;IACE,0BAAA;Gf2lED;Ee5lED;IACE,0BAAA;Gf8lED;Ee/lED;IACE,iBAAA;GfimED;EelmED;IACE,0BAAA;GfomED;EermED;IACE,0BAAA;GfumED;EexmED;IACE,iBAAA;Gf0mED;Ee3mED;IACE,0BAAA;Gf6mED;Ee9mED;IACE,yBAAA;GfgnED;EejnED;IACE,gBAAA;GfmnED;CACF;AgBvrED;EACE,8BAAA;ChByrED;AgBvrED;EACE,iBAAA;EACA,oBAAA;EACA,eAAA;EACA,iBAAA;ChByrED;AgBvrED;EACE,iBAAA;ChByrED;AgBnrED;EACE,YAAA;EACA,gBA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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n 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');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .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-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n border: 0;\n background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #fff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #ccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor((@gutter / 2));\n padding-right: ceil((@gutter / 2));\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: ceil((@gutter / -2));\n margin-right: floor((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil((@grid-gutter-width / 2));\n padding-right: floor((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on ``\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: @link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n opacity: @opacity;\n // IE8 filter\n @opacity-ie: (@opacity * 100);\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: @dropdown-bg;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: @dropdown-link-hover-color;\n background-color: @dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: @dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n cursor: @cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: normal;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: @cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n height: @navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: @navbar-padding-horizontal;\n padding: 9px 10px;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -@navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n padding: 10px @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-left: @navbar-padding-horizontal;\n margin-right: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-default-link-active-bg;\n color: @navbar-default-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-inverse-link-active-bg;\n color: @navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: @breadcrumb-color;\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n line-height: @line-height-base;\n text-decoration: none;\n color: @pagination-color;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n cursor: @cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n list-style: none;\n text-align: center;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n background-color: @pager-bg;\n cursor: @cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n color: @badge-color;\n line-height: @badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: (@jumbotron-padding * 2);\n padding-right: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-left: auto;\n margin-right: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing @headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on