From a1b80d0b3cbb58f068ff220b1bcf112de816c158 Mon Sep 17 00:00:00 2001 From: Rasika Date: Tue, 9 Jun 2015 16:02:00 +0530 Subject: [PATCH] removing sensebot jaggery app --- .../jaggeryapps/iot/api/device-api.jag | 6 +- .../mydevice.hbs => iot/pages/sensebot.hbs} | 3 +- .../sensebot}/public/css/daterangepicker.css | 0 .../units/sensebot}/public/css/nv.d3.css | 0 .../sensebot}/public/images/bulb-off.png | Bin .../units/sensebot}/public/images/bulb-on.png | Bin .../units/sensebot}/public/images/fan.png | Bin .../units/sensebot}/public/images/temp.png | Bin .../units/sensebot}/public/js/bulb.js | 0 .../public/js/cumulativelinechart.js | 0 .../units/sensebot}/public/js/d3.min.js | 0 .../units/sensebot}/public/js/date-range.js | 0 .../sensebot}/public/js/discretebarchart.js | 0 .../units/sensebot}/public/js/graph_util.js | 0 .../public/js/jquery.daterangepicker.js | 0 .../units/sensebot}/public/js/light_graph.js | 0 .../sensebot}/public/js/linewithfocuschart.js | 0 .../units/sensebot}/public/js/moment.min.js | 0 .../units/sensebot}/public/js/motion_graph.js | 0 .../units/sensebot}/public/js/nv.d3.js | 0 .../units/sensebot}/public/js/sonar_graph.js | 0 .../sensebot}/public/js/stream_layers.js | 0 .../sensebot}/public/js/temperature_graph.js | 0 .../units/sensebot/sensebot.hbs} | 2 +- .../units/sensebot/sensebot.js} | 0 .../units/sensebot/sensebot.json} | 0 .../showcase/public/images/digitaldisplay.png | Bin 0 -> 8161 bytes .../units/showcase/public/images/sensebot.png | Bin 0 -> 15059 bytes .../iot/units/showcase/showcase.hbs | 32 + .../iot/units/theme/public/css/main.css | 6 + .../jaggeryapps/sensebot/api/device-api.jag | 50 - .../jaggeryapps/sensebot/api/stats-api.jag | 144 - .../jaggeryapps/sensebot/config/config.json | 16 - .../jaggeryapps/sensebot/config/dc-props.js | 37 - .../jaggeryapps/sensebot/config/init.js | 28 - .../jaggeryapps/sensebot/jaggery.conf | 23 - .../sensebot/layouts/enrollment.hbs | 29 - .../jaggeryapps/sensebot/layouts/fluid.hbs | 23 - .../sensebot/layouts/nav-fluid.hbs | 50 - .../jaggeryapps/sensebot/lib/acs.jag | 49 - .../jaggeryapps/sensebot/lib/fuse-router.js | 210 - .../jaggeryapps/sensebot/lib/fuse.jag | 29 - .../jaggeryapps/sensebot/lib/fuse.js | 417 - .../sensebot/lib/handlebars-helpers.js | 194 - .../sensebot/lib/handlebars-v2.0.0.js | 3079 ----- .../sensebot/lib/less-rhino-1.7.5.js | 10209 ---------------- .../jaggeryapps/sensebot/lib/login.jag | 36 - .../jaggeryapps/sensebot/lib/logout.jag | 37 - .../jaggeryapps/sensebot/modules/constants.js | 26 - .../jaggeryapps/sensebot/modules/download.js | 68 - .../jaggeryapps/sensebot/modules/pinch.min.js | 27 - .../jaggeryapps/sensebot/modules/sso.js | 161 - .../jaggeryapps/sensebot/modules/user.js | 299 - .../jaggeryapps/sensebot/modules/utility.js | 59 - .../jaggeryapps/sensebot/pages/index.hbs | 8 - .../sensebot/test/testExecutor.jag | 20 - .../sensebot/tmp/cached_theme_less_base.css | 6293 ---------- .../sensebot/units/appbar/appbar.hbs | 141 - .../sensebot/units/appbar/appbar.js | 19 - .../sensebot/units/appbar/appbar.json | 3 - .../units/appbar/public/images/logo.png | Bin 5174 -> 0 bytes .../units/theme/public/css/bootstrap.min.css | 6671 ---------- .../units/theme/public/css/custom-theme.css | 74 - .../theme/public/css/fontwso2-extend.css | 177 - .../units/theme/public/css/fontwso2.css | 481 - .../sensebot/units/theme/public/css/main.css | 485 - .../public/fonts/OpenSans-Bold-webfont.eot | Bin 30858 -> 0 bytes .../public/fonts/OpenSans-Bold-webfont.svg | 251 - .../public/fonts/OpenSans-Bold-webfont.ttf | Bin 30680 -> 0 bytes .../public/fonts/OpenSans-Bold-webfont.woff | Bin 19788 -> 0 bytes .../fonts/OpenSans-BoldItalic-webfont.eot | Bin 34166 -> 0 bytes .../fonts/OpenSans-BoldItalic-webfont.svg | 251 - .../fonts/OpenSans-BoldItalic-webfont.ttf | Bin 33960 -> 0 bytes .../fonts/OpenSans-BoldItalic-webfont.woff | Bin 21940 -> 0 bytes .../fonts/OpenSans-ExtraBold-webfont.eot | Bin 30602 -> 0 bytes .../fonts/OpenSans-ExtraBold-webfont.svg | 251 - .../fonts/OpenSans-ExtraBold-webfont.ttf | Bin 30404 -> 0 bytes .../fonts/OpenSans-ExtraBold-webfont.woff | Bin 19972 -> 0 bytes .../OpenSans-ExtraBoldItalic-webfont.eot | Bin 33758 -> 0 bytes .../OpenSans-ExtraBoldItalic-webfont.svg | 251 - .../OpenSans-ExtraBoldItalic-webfont.ttf | Bin 33532 -> 0 bytes .../OpenSans-ExtraBoldItalic-webfont.woff | Bin 21824 -> 0 bytes .../public/fonts/OpenSans-Italic-webfont.eot | Bin 34798 -> 0 bytes .../public/fonts/OpenSans-Italic-webfont.svg | 251 - .../public/fonts/OpenSans-Italic-webfont.ttf | Bin 34612 -> 0 bytes .../public/fonts/OpenSans-Italic-webfont.woff | Bin 22416 -> 0 bytes .../public/fonts/OpenSans-Light-webfont.eot | Bin 29794 -> 0 bytes .../public/fonts/OpenSans-Light-webfont.svg | 252 - .../public/fonts/OpenSans-Light-webfont.ttf | Bin 29612 -> 0 bytes .../public/fonts/OpenSans-Light-webfont.woff | Bin 19396 -> 0 bytes .../fonts/OpenSans-LightItalic-webfont.eot | Bin 34578 -> 0 bytes .../fonts/OpenSans-LightItalic-webfont.svg | 252 - .../fonts/OpenSans-LightItalic-webfont.ttf | Bin 34368 -> 0 bytes .../fonts/OpenSans-LightItalic-webfont.woff | Bin 22444 -> 0 bytes .../public/fonts/OpenSans-Regular-webfont.eot | Bin 29934 -> 0 bytes .../public/fonts/OpenSans-Regular-webfont.svg | 252 - .../public/fonts/OpenSans-Regular-webfont.ttf | Bin 29744 -> 0 bytes .../fonts/OpenSans-Regular-webfont.woff | Bin 19624 -> 0 bytes .../fonts/OpenSans-Semibold-webfont.eot | Bin 30350 -> 0 bytes .../fonts/OpenSans-Semibold-webfont.svg | 251 - .../fonts/OpenSans-Semibold-webfont.ttf | Bin 30156 -> 0 bytes .../fonts/OpenSans-Semibold-webfont.woff | Bin 19736 -> 0 bytes .../fonts/OpenSans-SemiboldItalic-webfont.eot | Bin 34866 -> 0 bytes .../fonts/OpenSans-SemiboldItalic-webfont.svg | 251 - .../fonts/OpenSans-SemiboldItalic-webfont.ttf | Bin 34644 -> 0 bytes .../OpenSans-SemiboldItalic-webfont.woff | Bin 22332 -> 0 bytes .../units/theme/public/fonts/fontwso2.eot | Bin 34828 -> 0 bytes .../units/theme/public/fonts/fontwso2.svg | 124 - .../units/theme/public/fonts/fontwso2.ttf | Bin 34660 -> 0 bytes .../units/theme/public/fonts/fontwso2.woff | Bin 34736 -> 0 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 229 - .../fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 0 bytes .../theme/public/images/content-bg-1.png | Bin 29835 -> 0 bytes .../units/theme/public/images/content-bg.png | Bin 11641 -> 0 bytes .../units/theme/public/js/bootstrap.min.js | 7 - .../units/theme/public/js/html5shiv.min.js | 7 - .../theme/public/js/jquery-1.11.2.min.js | 5 - .../units/theme/public/js/jquery.min.js | 5 - .../units/theme/public/js/respond.min.js | 5 - .../sensebot/units/theme/public/js/toggle.js | 11 - .../theme/public/scripts/validate-register.js | 140 - .../sensebot/units/theme/theme.hbs | 27 - .../sensebot/units/theme/theme.json | 3 - modules/p2-profile-gen/pom.xml | 75 +- 126 files changed, 88 insertions(+), 32784 deletions(-) rename modules/distribution/src/repository/jaggeryapps/{sensebot/pages/mydevice.hbs => iot/pages/sensebot.hbs} (69%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/css/daterangepicker.css (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/css/nv.d3.css (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/images/bulb-off.png (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/images/bulb-on.png (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/images/fan.png (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/images/temp.png (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/bulb.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/cumulativelinechart.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/d3.min.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/date-range.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/discretebarchart.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/graph_util.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/jquery.daterangepicker.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/light_graph.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/linewithfocuschart.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/moment.min.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/motion_graph.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/nv.d3.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/sonar_graph.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/stream_layers.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice => iot/units/sensebot}/public/js/temperature_graph.js (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice/mydevice.hbs => iot/units/sensebot/sensebot.hbs} (97%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice/mydevice.js => iot/units/sensebot/sensebot.js} (100%) rename modules/distribution/src/repository/jaggeryapps/{sensebot/units/mydevice/mydevice.json => iot/units/sensebot/sensebot.json} (100%) create mode 100644 modules/distribution/src/repository/jaggeryapps/iot/units/showcase/public/images/digitaldisplay.png create mode 100644 modules/distribution/src/repository/jaggeryapps/iot/units/showcase/public/images/sensebot.png delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/api/device-api.jag delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/api/stats-api.jag delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/config/config.json delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/config/dc-props.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/config/init.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/jaggery.conf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/layouts/enrollment.hbs delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/layouts/fluid.hbs delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/layouts/nav-fluid.hbs delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/lib/acs.jag delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse-router.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse.jag delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/lib/handlebars-helpers.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/lib/handlebars-v2.0.0.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/lib/less-rhino-1.7.5.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/lib/login.jag delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/lib/logout.jag delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/modules/constants.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/modules/download.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/modules/pinch.min.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/modules/sso.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/modules/user.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/modules/utility.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/pages/index.hbs delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/test/testExecutor.jag delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/tmp/cached_theme_less_base.css delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.hbs delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.json delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/public/images/logo.png delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/bootstrap.min.css delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/custom-theme.css delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/fontwso2-extend.css delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/fontwso2.css delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/main.css delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Italic-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Italic-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Italic-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Italic-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Regular-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Regular-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Regular-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Regular-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.eot delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.svg delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.ttf delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.woff delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/images/content-bg-1.png delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/images/content-bg.png delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/bootstrap.min.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/html5shiv.min.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/jquery-1.11.2.min.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/jquery.min.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/respond.min.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/toggle.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/scripts/validate-register.js delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/theme.hbs delete mode 100644 modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/theme.json diff --git a/modules/distribution/src/repository/jaggeryapps/iot/api/device-api.jag b/modules/distribution/src/repository/jaggeryapps/iot/api/device-api.jag index 4fb5b99d..c1690750 100644 --- a/modules/distribution/src/repository/jaggeryapps/iot/api/device-api.jag +++ b/modules/distribution/src/repository/jaggeryapps/iot/api/device-api.jag @@ -44,7 +44,7 @@ if (uriMatcher.match("/{context}/api/device/sketch/")) { } //URL: /iotdevices/FireAlarmManager/device/firealarm/download - fireAlarmManagerService = carbonHttpsServletTransport + "/iotdevices/FireAlarmManager"; + fireAlarmManagerService = carbonHttpsServletTransport + "/firealarm/manager"; sketchDownloadEndPoint = fireAlarmManagerService + "/device/" + sketchType + "/download"; response.sendRedirect(sketchDownloadEndPoint + "?owner=" + user.username); exit(); @@ -61,8 +61,8 @@ if (uriMatcher.match("/{context}/api/devices/")) { } //URL: /iotdevices/DevicesManager/devices/username - devicesManagerService = carbonHttpsServletTransport + "/iotdevices/DevicesManager"; - listAllDevicesEndPoint = devicesManagerService + "/devices/" + user.username; + devicesManagerService = carbonHttpsServletTransport + "/devicecloud/manager"; + listAllDevicesEndPoint = devicesManagerService + "/devices/username/" + user.username; var data = {}; //XMLHTTPRequest's GET diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/pages/mydevice.hbs b/modules/distribution/src/repository/jaggeryapps/iot/pages/sensebot.hbs similarity index 69% rename from modules/distribution/src/repository/jaggeryapps/sensebot/pages/mydevice.hbs rename to modules/distribution/src/repository/jaggeryapps/iot/pages/sensebot.hbs index 3f8b077d..6f479949 100644 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/pages/mydevice.hbs +++ b/modules/distribution/src/repository/jaggeryapps/iot/pages/sensebot.hbs @@ -1,9 +1,8 @@ -{{authorized}} {{layout "fluid"}} {{#zone "title"}} WSO2 DC | FireAlarm {{/zone}} {{#zone "body"}} {{unit "appbar"}} - {{unit "mydevice"}} + {{unit "sensebot"}} {{/zone}} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/css/daterangepicker.css b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/css/daterangepicker.css similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/css/daterangepicker.css rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/css/daterangepicker.css diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/css/nv.d3.css b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/css/nv.d3.css similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/css/nv.d3.css rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/css/nv.d3.css diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/images/bulb-off.png b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/images/bulb-off.png similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/images/bulb-off.png rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/images/bulb-off.png diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/images/bulb-on.png b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/images/bulb-on.png similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/images/bulb-on.png rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/images/bulb-on.png diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/images/fan.png b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/images/fan.png similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/images/fan.png rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/images/fan.png diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/images/temp.png b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/images/temp.png similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/images/temp.png rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/images/temp.png diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/bulb.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/bulb.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/bulb.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/bulb.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/cumulativelinechart.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/cumulativelinechart.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/cumulativelinechart.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/cumulativelinechart.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/d3.min.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/d3.min.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/d3.min.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/d3.min.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/date-range.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/date-range.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/date-range.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/date-range.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/discretebarchart.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/discretebarchart.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/discretebarchart.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/discretebarchart.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/graph_util.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/graph_util.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/graph_util.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/graph_util.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/jquery.daterangepicker.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/jquery.daterangepicker.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/jquery.daterangepicker.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/jquery.daterangepicker.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/light_graph.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/light_graph.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/light_graph.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/light_graph.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/linewithfocuschart.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/linewithfocuschart.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/linewithfocuschart.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/linewithfocuschart.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/moment.min.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/moment.min.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/moment.min.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/moment.min.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/motion_graph.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/motion_graph.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/motion_graph.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/motion_graph.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/nv.d3.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/nv.d3.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/nv.d3.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/nv.d3.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/sonar_graph.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/sonar_graph.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/sonar_graph.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/sonar_graph.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/stream_layers.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/stream_layers.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/stream_layers.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/stream_layers.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/temperature_graph.js b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/temperature_graph.js similarity index 100% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/public/js/temperature_graph.js rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/public/js/temperature_graph.js diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/mydevice.hbs b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/sensebot.hbs similarity index 97% rename from modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/mydevice.hbs rename to modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/sensebot.hbs index b9c692a5..a3c07c41 100644 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/mydevice/mydevice.hbs +++ b/modules/distribution/src/repository/jaggeryapps/iot/units/sensebot/sensebot.hbs @@ -22,7 +22,7 @@

Device Id:

-
+ +
+
+
+ +
+

SenseBot

+
+ Connect your digital displays and start managing and controlling your devices. + Let us give you all that you need to know of the devices you own. +

+
+ Connect +
+
+ +
+
+
+ +
+

Digital Display

+
+ Connect your digital displays and start managing and controlling your devices. + Let us give you all that you need to know of the devices you own. +

+
+ Connect +
+
diff --git a/modules/distribution/src/repository/jaggeryapps/iot/units/theme/public/css/main.css b/modules/distribution/src/repository/jaggeryapps/iot/units/theme/public/css/main.css index 4846f352..a33cde6b 100644 --- a/modules/distribution/src/repository/jaggeryapps/iot/units/theme/public/css/main.css +++ b/modules/distribution/src/repository/jaggeryapps/iot/units/theme/public/css/main.css @@ -471,6 +471,12 @@ header{background-color: #2a2a2a;} border: 1px solid #ccc; width: 300px; } + +#device_id{ + background: #fff none repeat scroll 0 0; + border: 1px solid #ccc; + width: 220px; +} .hour-range,.minute-range{background: #fff none repeat scroll 0 0; border: 1px solid #ccc;} .btn-black-action{color: #ffffff; padding: 5px 20px; text-decoration: none; overflow: hidden; background:#5c5c5c; text-align: center; margin: 0 10px; float: left; cursor: pointer; border: none; outline:none;} diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/api/device-api.jag b/modules/distribution/src/repository/jaggeryapps/sensebot/api/device-api.jag deleted file mode 100644 index 28809f2b..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/api/device-api.jag +++ /dev/null @@ -1,50 +0,0 @@ -<% -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ - -var uri = request.getRequestURI(); -var uriMatcher = new URIMatcher(String(uri)); - -var log = new Log("api/device-api.jag"); - -var constants = require("/modules/constants.js"); -var dcProps = require('/config/dc-props.js').config(); -var downloadModule = require("/modules/download.js").downloadModule; -var utility = require("/modules/utility.js").utility; - -var carbon = require('carbon'); -var carbonHttpServletTransport = carbon.server.address('http'); -var carbonHttpsServletTransport = carbon.server.address('https'); - -var result; - -if (uriMatcher.match("/{context}/api/device/sketch/")) { - sketchType = request.getParameter("type"); - if(!sketchType){log.error("Sketch Type is empty");} - - senseBotManagerService = carbonHttpsServletTransport+"/iotdevices/SenseBotManager"; - sketchDownloadEndPoint = senseBotManagerService + "/downloadSketch/device/"; - response.sendRedirect(sketchDownloadEndPoint + sketchType + "?owner=anonymous"); - exit(); -} - -// returning the result. -if (result) { - print(result); -} -%> diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/api/stats-api.jag b/modules/distribution/src/repository/jaggeryapps/sensebot/api/stats-api.jag deleted file mode 100644 index 57034136..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/api/stats-api.jag +++ /dev/null @@ -1,144 +0,0 @@ -<% -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ - -var uri = request.getRequestURI(); -var uriMatcher = new URIMatcher(String(uri)); - -var log = new Log("api/stats-api.jag"); - -var constants = require("/modules/constants.js"); -var dcProps = require('/config/dc-props.js').config(); -var utility = require("/modules/utility.js").utility; - -var result; -var statsClient = new Packages.org.wso2.carbon.device.mgt.iot.usage.statistics.IoTUsageStatisticsClient; - -if (uriMatcher.match("/{context}/api/stats")) { - - var deviceId = request.getParameter("deviceId"); - var from = request.getParameter("from"); - var to = request.getParameter("to"); - - log.info("deviceId : " + deviceId + " from : " + from + " to : " + to); - - result = getData(getUsername(), deviceId, from, to); - -} - -// returning the result. -if (result) { - print(result); -} - -function getUsername() { - - var user = session.get(constants.USER_SESSION_KEY); - - if (user) { - log.info("username: "+ user.username); - return user.username; - } else { - log.info("username is null"); - return null; - } - - - -} - -function getData(user, deviceId, from, to) { - - result = new Object(); - - result['sonarData'] = getSensorData("SONAR_SENSOR_SUMMARY","sonar",user, deviceId, from, to); - result['motionData'] = getSensorData("PIR_MOTION_SENSOR_SUMMARY","motion",user, deviceId, from, to); - result['lightData'] = getSensorData("LDR_LIGHT_SENSOR_SUMMARY","light",user, deviceId, from, to); - result['temperatureData'] = getSensorData("DEVICE_TEMPERATURE_SUMMARY","TEMPERATURE",user, deviceId, from, to); - - return result; - -} - -function getSensorData(table, column, user, deviceId, from, to) { - - var fetchedData = statsClient.getDeviceStats(table, column, user, deviceId, from, to); - - var temperatureData = []; - - for (var i = 0; i < fetchedData.size(); i++) { - temperatureData.push({ - time: fetchedData.get(i).getTime(), - value: fetchedData.get(i).getValue() - }); - } - - return temperatureData; -} - -// ------------- Sample data generation ----------------- - -function getSampleData() { - - result = new Object(); - - result['bulbStatusData'] = getBulbStatusSampleData(); - result['fanStatusData'] = getFanStatusSampleData(); - result['temperatureData'] = getTemperatureSampleData(); - - return result; -} - -function getBulbStatusSampleData(from, to) { - - var bulbStatusData = []; - - for (var i = 0; i < 100; i++) { - bulbStatusData.push({ - time: Date.now() + (i * 1000), - value: Math.floor((Math.random() * 100) + 1) % 2 == 0 ? 'ON' : 'OFF'}); - } - - return bulbStatusData; -}; - - -function getFanStatusSampleData(from, to) { - - var fanStatusData = []; - - for (var i = 0; i < 100; i++) { - fanStatusData.push({time: Date.now() + (i * 1000), value: Math.floor((Math.random() * 100) + 1) % 2 == 0 ? 'ON' : 'OFF'}); - } - - return fanStatusData; -} - -function getTemperatureSampleData(from, to) { - - var temperatureData = []; - - for (var i = 0; i < 100; i++) { - temperatureData.push({time: Date.now() + (i * 1000), value: Math.random() * 100}); - } - - return temperatureData; -} - - -%> \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/config/config.json b/modules/distribution/src/repository/jaggeryapps/sensebot/config/config.json deleted file mode 100644 index 95a917df..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/config/config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "appContext" : "/iot/", - "apiContext" : "api", - "httpsURL": "%https.ip%", - "httpURL": "%http.ip%", - "ssoConfiguration": { - "enabled": false, - "issuer": "iot", - "appName": "iot", - "identityProviderURL": "%https.ip%/sso/samlsso.jag", - "responseSigningEnabled": "true", - "keyStorePassword": "wso2carbon", - "identityAlias": "wso2carbon", - "keyStoreName": "/repository/resources/security/wso2carbon.jks" - } -} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/config/dc-props.js b/modules/distribution/src/repository/jaggeryapps/sensebot/config/dc-props.js deleted file mode 100644 index 7911f514..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/config/dc-props.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ - -var config = function () { - var conf = application.get("PINCH_CONFIG"); - if (!conf) {//if not in cache - var pinch = require('/modules/pinch.min.js').pinch; - var server = require('carbon').server; - var config = require('/config/config.json'); - pinch(config, /^/, function (path, key, value) { - if ((typeof value === 'string') && value.indexOf('%https.ip%') > -1) { - return value.replace('%https.ip%', server.address("https")); - } else if ((typeof value === 'string') && value.indexOf('%http.ip%') > -1) { - return value.replace('%http.ip%', server.address("http")); - } - return value; - }); - application.put("PINCH_CONFIG", config);//caching - conf = config; - } - return conf; -}; \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/config/init.js b/modules/distribution/src/repository/jaggeryapps/sensebot/config/init.js deleted file mode 100644 index d492ae79..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/config/init.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ - -var carbonModule = require("carbon"); -var dcProps = require('/config/dc-props.js').config(); -var carbonServer = new carbonModule.server.Server({ - tenanted: true, - url: dcProps.httpsURL + '/admin' -}); -application.put("carbonServer", carbonServer); -var userModule = require("/modules/user.js").userModule; -var utility = require("/modules/utility.js").utility; -utility.insertAppPermissions(userModule, "init"); \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/jaggery.conf b/modules/distribution/src/repository/jaggeryapps/sensebot/jaggery.conf deleted file mode 100644 index c0d708f1..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/jaggery.conf +++ /dev/null @@ -1,23 +0,0 @@ -{ - "displayName": "Fuse Sample", - "logLevel": "info", - "initScripts": ["/config/init.js"], - "urlMappings": [ - { - "url" : "/test/*", - "path" : "test/testExecutor.jag" - }, - { - "url": "/api/stats/*", - "path": "/api/stats-api.jag" - }, - { - "url": "/api/device/*", - "path": "/api/device-api.jag" - }, - { - "url": "/*", - "path": "/lib/fuse.jag" - } - ] -} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/layouts/enrollment.hbs b/modules/distribution/src/repository/jaggeryapps/sensebot/layouts/enrollment.hbs deleted file mode 100644 index 388ca0d4..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/layouts/enrollment.hbs +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - {{ defineZone "title"}} - - {{ defineZone "topLibCss"}} - {{ defineZone "topCss"}} - - -
- -
-
- -
-
- - {{ defineZone "body"}} -
- {{ defineZone "bottomjquery" }} - {{ defineZone "bottomLibJs" }} - {{ defineZone "bottomJs" }} - - diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/layouts/fluid.hbs b/modules/distribution/src/repository/jaggeryapps/sensebot/layouts/fluid.hbs deleted file mode 100644 index 1c9a5847..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/layouts/fluid.hbs +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - {{ defineZone "title"}} - {{ defineZone "topLibCss"}} - {{ defineZone "topCss"}} - {{ defineZone "topJs"}} - - -
- - {{ defineZone "header"}} - - {{ defineZone "body"}} -
- {{ defineZone "bottomLibJs" }} - {{ defineZone "bottomJs" }} - - diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/layouts/nav-fluid.hbs b/modules/distribution/src/repository/jaggeryapps/sensebot/layouts/nav-fluid.hbs deleted file mode 100644 index 00278772..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/layouts/nav-fluid.hbs +++ /dev/null @@ -1,50 +0,0 @@ - - - - - {{ defineZone "title"}} - {{ defineZone "topCss"}} - - - - -
-
- -
-
- {{ defineZone "left"}} -
- -
- {{ defineZone "content"}} -
-
- -
- -
- - - - diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/acs.jag b/modules/distribution/src/repository/jaggeryapps/sensebot/lib/acs.jag deleted file mode 100644 index 147c20a2..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/acs.jag +++ /dev/null @@ -1,49 +0,0 @@ -<% -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ - -var dataConfig = require('/config/dc-props.js').config(); -var sso = require('/modules/sso.js').sso; -var constants = require('/modules/constants.js'); -var carbonModule = require("carbon"); -var log = new Log(); -var keyStoreParams = { - keyStoreName: dataConfig.ssoConfiguration.keyStoreName, - keyStorePassword: dataConfig.ssoConfiguration.keyStorePassword, - identityAlias: dataConfig.ssoConfiguration.identityAlias -}; -sso.configure(dataConfig.ssoConfiguration.issuer, - dataConfig.ssoConfiguration.appName, - keyStoreParams, dataConfig.ssoConfiguration.identityProviderURL); -sso.acs( - function(loggedInUser) { - var carbonUser = carbonModule.server.tenantUser(loggedInUser); - session.put(constants.USER_SESSION_KEY, carbonUser); - var username = carbonUser.username; - if(log.isDebugEnabled()){ - log.debug("User logged in: "+username); - } - response.sendRedirect(dataConfig.appContext); - }, function() { - if(log.isDebugEnabled()){ - log.debug("User logged out"); - } - response.sendRedirect(dataConfig.appContext); - } -); -%> \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse-router.js b/modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse-router.js deleted file mode 100644 index 7aab77d7..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse-router.js +++ /dev/null @@ -1,210 +0,0 @@ -//public function declarations -var route; - -(function () { - - //public - /** - * front controller entity point. acts as the main function for every request. - */ - route = function () { - //lets assume URL looks like https://my.domain.com/app/{one}/{two}/{three}/{four} - var uri = request.getRequestURI(); // = app/{one}/{two}/{three}/{four} - var parts = splitFirst(uri); - fuseState.appName = parts.head; - var path = parts.tail; // = /{one}/{two}/{three}/{four} - var handled = false; - - parts = splitFirst(path); - if (parts.head == 'public') { // {one} == 'public' - parts = splitFirst(parts.tail); - if (splitFirst(parts.tail).head == 'less') { // {three} == 'less' - handled = renderLess(parts.head, parts.tail); // renderLess({two},{three}/{four}) - } else { - handled = renderStatic(parts.head, parts.tail); - } - } else { - handled = renderPage(path); - if (!handled) { - handled = renderUnit(path); - } - } - - if (!handled) { - response.sendError(404, 'Requested resource not found'); - } - - }; - - - //private - var log = new Log('fuse.router'); - - var getMime = function (path) { - var index = path.lastIndexOf('.') + 1; - var knowMime = { - 'js': 'application/javascript', - 'html': 'text/html', - 'htm': 'text/html', - 'woff': 'application/x-font-woff', - "png": "image/png", - "css": "text/css", - "hbs": "text/x-handlebars-template", - "apk": "application/vnd.android.package-archive", - "ipa": "application/octet-stream" - }; - var mime; - if (index >= 0) { - mime = knowMime[path.substr(index)]; - } - return mime || 'text/plain'; - }; - - /** - * '/a/b/c/d' -> {'a','b/c/d'} - * @param path URI part, should start with '/' - * @returns {{head: string, tail: string}} - */ - var splitFirst = function (path) { - var firstSlashPos = path.indexOf('/', 1); - var head = path.substring(1, firstSlashPos); - var tail = path.substring(firstSlashPos); - return {head: head, tail: tail}; - }; - - /** - * @param str - * @param prefix - * @returns {boolean} true iif str starts with prefix - */ - var startsWith = function (str, prefix) { - return (str.lastIndexOf(prefix, 0) === 0); - }; - - var renderStatic = function (unit, path) { - log.debug('[' + requestId + '] for unit "' + unit + '" a request received for a static file "' + path + '"'); - var staticFile = fuse.getFile(unit, 'public' + path); - if (staticFile.isExists() && !staticFile.isDirectory()) { - response.addHeader('Content-type', getMime(path)); - response.addHeader('Cache-Control', 'public,max-age=12960000'); - staticFile.open('r'); - var stream = staticFile.getStream(); - print(stream); - staticFile.close(); - return true; - } - return false; - }; - - var renderPage = function (path) { - var jagFile; - if (path.indexOf('/', path.length - 1) !== -1) { - jagFile = new File('/pages' + path + 'index.jag'); - } else { - jagFile = new File('/pages' + path + '.jag'); - } - if (jagFile.isExists()) { - include(jagFile.getPath()); - return true; - }else{ - return false; - } - }; - - var renderUnit = function (path) { - var mainUnit = null; - var matchedUnits = fuse.getMatchedUnitDefinitions(); - fuse.addDependencies(matchedUnits); - var zones = fuseState.zones; - - // A map of maps. this is used to ensure same zone is not render twice in to same definition. - // zonesAdded = { titleZone : { zoneFromA : true, zoneFromB : true } } - var zonesAdded = {}; - - for (var i = 0; i < matchedUnits.length; i++) { - var definition = matchedUnits[i]; - - for (var j = 0; j < definition.zones.length; j++) { - var zone = definition.zones[j]; - if (!zones[zone.name]) { - zones[zone.name] = []; - zonesAdded[zone.name] = {}; - } - var zoneKey = zone.origin + ':' + zone.name; // temp unique key to identify zone form a given unit. - if (!zonesAdded[zone.name][zoneKey]) { - var zoneInfo = {unitName: definition.name}; - if (zone.origin != definition.name) { - zoneInfo.originUnitName = zone.origin; - } - zones[zone.name].push(zoneInfo); - zonesAdded[zone.name][zoneKey] = true; - } - } - - } - - var layout = fuseState.layout; - if (layout !== null) { - log.debug( - '[' + requestId + '] request for "' + path + '" will be rendered using layout "' + - layout + '" (defined in "' + mainUnit + '") and zones ' + - stringify(zones) - ); - - var output = handlebars.Handlebars.compileFile(fuse.getLayoutPath(layout))({}); - response.addHeader('Content-type', 'text/html'); - print(output); - return true; - } else { - log.debug( - '[' + requestId + '] request for "' + path + '" will can\'t be rendered, since no layout is defined' + - 'in any of the units ' + stringify(zones)); - return false; - } - }; - - function fileToString(path) { - } - - /** - * convert less file to css and print to output. add '?nocache=true' to force regenerate. - * @param unit name of the unit - * @param path the path to the less file relative to unit root (should start with slash) - * @returns {boolean} is successfully rendered. - */ - function renderLess(unit, path) { - //TODO: fix - incorrect less files makes it respond the old less even if it is nocahce. - log.debug('[' + requestId + '] for unit "' + unit + '" a request received for a less file "' + path + '"'); - var cacheKey = '/tmp/cached_' + unit + path.replace(/[^\w\.-]/g, '_'); - fuseState.currentUnit = unit; - var cachedCss = new File(cacheKey); - - //TODO: move this check to caller function ?? - if (fuseDebug || request.getParameter('nocache') == 'true' || !cachedCss.isExists()) { - var parts = splitFirst(path); - var lessPath = '/public/less' + parts.tail.replace(/\.css$/, '') + '.less'; - var lessFile = fuse.getFile(unit, lessPath); - - if (lessFile.isExists()) { - var x = require('less-rhino-1.7.5.js'); - x.compile([lessFile.getPath(), cacheKey]); - log.debug('[' + requestId + '] for unit "' + unit + '" request for "' + path + '" is cached as "' + cacheKey + '"'); - } - } - - - if (cachedCss.isExists()) { - response.addHeader('Content-type', 'text/css'); - response.addHeader('Cache-Control', 'public,max-age=12960000'); - cachedCss.open('r'); - var stream = cachedCss.getStream(); - print(stream); - cachedCss.close(); - return true; - } - return false; - - } - - -})(); diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse.jag b/modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse.jag deleted file mode 100644 index 597c9970..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse.jag +++ /dev/null @@ -1,29 +0,0 @@ -<% - -//global object to pass request stat among fuse framework files. -var fuseState = { - zones: {}, - appName: '', - zoneStack: [], - currentUnit: null -}; - -var requestId = function makeId() { - var text = ""; - var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - for (var i = 0; i < 5; i++) - text += possible.charAt(Math.floor(Math.random() * possible.length)); - - return text; -}(); -var fuseDebug = false; -//var fuseDebug = true; - -var handlebars = require('handlebars-helpers.js'); -var fuseRouter = require('fuse-router.js'); -var fuse = require('fuse.js'); - - -fuseRouter.route(); - -%> diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse.js b/modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse.js deleted file mode 100644 index f802f4be..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/fuse.js +++ /dev/null @@ -1,417 +0,0 @@ -//public function declarations -var getHbsFile, getFile, toRelativePath, cleanupAncestors, - getUnitPath, getMatchedUnitDefinitions, getZoneDefinition, getUnitDefinition, - getUnitDefinitions, getLayoutPath; - -(function () { - //private - var log = new Log('fuse.core'); - var lookUpTable = null; - var definitions = null; - - var initLookUp = function (definitions) { - if (lookUpTable === null) { - lookUpTable = {}; - for (var i = 0; i < definitions.length; i++) { - var definition = definitions[i]; - lookUpTable[definition.name] = i; - } - } - }; - - var isMatched = function (definition, layout) { - var urlMatch = function (pattern) { - var uriMatcher = new URIMatcher(request.getRequestURI()); - return Boolean(uriMatcher.match('/{appName}' + pattern)); - }; - var permission = function (permissionStr) { - var carbonModule = require("carbon"); - var carbonServer = application.get("carbonServer"); - var carbonUser = session.get("USER"); - if (carbonUser) { - var userManager = new carbonModule.user.UserManager(carbonServer, carbonUser.tenantId); - var user = new carbonModule.user.User(userManager, carbonUser.username); - return user.isAuthorized(permissionStr, "ui.execute"); - } - return false; - }; - var config = {'theme': 'default'}; - var predicateStr = definition.definition.predicate; - if (predicateStr) { - var js = 'function(config,urlMatch,permission,layout){ return ' + predicateStr + ';}'; - return Boolean(eval(js)(config, urlMatch,permission, layout ? layout : NaN)); - } - return false; - }; - - var getAncestorModels = function (unit) { - var unitModel = getUnitDefinition(unit); - var ancestors = [unitModel]; - var parentName; - while ((parentName = unitModel.definition.extends) != null) { - unitModel = getUnitDefinition(parentName); - ancestors.push(unitModel); - } - return ancestors; - }; - - addDependencies = function (unitModels) { - var resolved = {}; - for (var i = 0; i < unitModels.length; i++) { - resolved[unitModels[i].name] = true; - } - - for (i = 0; i < unitModels.length; i++) { - var unitModel = unitModels[i]; - var dependencies = unitModel.definition.dependencies; - if (dependencies) { - for (var j = 0; j < dependencies.length; j++) { - var dependencyName = dependencies[j]; - unitModels.push(getUnitDefinition(dependencyName)); - resolved[dependencyName] = true; - } - } - } - - - }; - - - //public - getMatchedUnitDefinitions = function () { - //TODO: return map not list - var unitDefinitions = getUnitDefinitions(); - var matched = []; - var unMatched = []; - var layout = null; - var mainUnit = null; - - var addToMatched = function (model) { - matched.push(model); - if (model.layout) { - if (layout == null) { - layout = model.layout; - mainUnit = model.name; - } else { - log.warn( - '[' + requestId + '] multiple layouts ' + mainUnit + ':' + - layout + ' vs ' + model.name + ':' + model.layout - ); - } - } - }; - - - // first pass - for (var i = 0; i < unitDefinitions.length; i++) { - var unitDefinition = unitDefinitions[i]; - if (isMatched(unitDefinition)) { - addToMatched(unitDefinition); - } else { - unMatched.push(unitDefinition); - } - } - - fuseState.layout = layout; - - // second pass : we have to do this two passes since we don't know the layout - // first time around - if (layout) { - for (i = 0; i < unMatched.length; i++) { - unitDefinition = unMatched[i]; - if (isMatched(unitDefinition, layout)) { - addToMatched(unitDefinition) - } - } - } - - - var toDelete = []; - - for (i = 0; i < matched.length; i++) { - var ancestors = getAncestorModels(matched[i].name); - for (var j = 1; j < ancestors.length; j++) { - var ancestor = ancestors[j]; - toDelete.push(ancestor.name); - } - } - - - for (i = matched.length - 1; i >= 0; i--) { - //log.info(matched[i].name); - if (toDelete.indexOf(matched[i].name) >= 0) { - matched.splice(i, 1); - } - } - - return matched; - }; - - getUnitDefinition = function (unit) { - var definitions = getUnitDefinitions(); - initLookUp(definitions); - var model = definitions[lookUpTable[unit]]; - if (!model) { - log.warn('[' + requestId + '] unit "' + unit + '" does not exits'); - throw '[' + requestId + '] unit "' + unit + '" does not exits'; - } - return model; - }; - - var flattenAllInheritance = function (unitModels) { - var hasFlattend = {}; - for (var i = 0; i < unitModels.length; i++) { - var model = unitModels[i]; - if (!hasFlattend[model]) { - var ancestors = getAncestorModels(model.name); - for (var j = ancestors.length - 1; j >= 1; j--) { - flattenInheritance(ancestors[j], ancestors[j - 1]); - } - } - } - }; - - var flattenInheritance = function (parent, child) { - var parentZones = parent.zones; - for (var i = 0; i < parentZones.length; i++) { - var parentZone = parentZones[i]; - child.zones.push(parentZone); - } - }; - - getUnitDefinitions = function () { - if (definitions !== null) { - return definitions; - } else { - definitions = []; - } - - var unitDirs = new File('/units').listFiles(); - for (var i = 0; i < unitDirs.length; i++) { - var unitDir = unitDirs[i]; - if (unitDir.isDirectory()) { - - var unitName = unitDir.getName(); - var unitModel = { - name: unitName, - path: unitDir.getPath() - }; - - // unit definition is read form is the .json file. - // if doesn't exits it will be an empty json. - var definitionFile = new File(fuse.getUnitPath(unitName) + '/' + unitName + '.json'); - if (definitionFile.isExists() && !definitionFile.isDirectory()) { - var path = definitionFile.getPath(); - log.debug('[' + requestId + '] reading file "' + path + '"'); - unitModel.definition = require(path); - } else { - log.warn('[' + requestId + '] for unit "' + unitName + '", unable to find a definition file'); - unitModel.definition = {}; - } - - // add the information derived by parsing hbs file to the same model - var hbsMetadata = getHbsMetadata(unitModel); - unitModel.zones = hbsMetadata.zones; - if (hbsMetadata.layout) { - unitModel.layout = hbsMetadata.layout; - } - - definitions.push(unitModel); - } - } - - addPageUnitDefinitions(definitions); - - initLookUp(definitions); - flattenAllInheritance(definitions); - - return definitions; - }; - - addPageUnitDefinitions = function (unitModels, dir) { - var pageFiles = new File(dir || '/pages').listFiles(); - for (var i = 0; i < pageFiles.length; i++) { - var pageFile = pageFiles[i]; - var fileName = pageFile.getName(); - if (pageFile.isDirectory()) { - addPageUnitDefinitions(unitModels, pageFile.getPath()) - } else if (fileName.indexOf('.hbs', fileName.length - 4) !== -1) { // File name ends with '.hbs' - - var isLeaf = true; - //path relative to app root - var relativePath = pageFile.getPath() - .substring(6 + pageFile.getPath().indexOf('/pages/'), pageFile.getPath().length - 4); - - if (relativePath.match(/\/index$/)) { - relativePath = relativePath.replace(/\/index$/, ''); - var parentFile = new File(pageFile.getPath().substr(0, pageFile.getPath().lastIndexOf('/'))); - var hasSiblings = parentFile.listFiles().length != 1; - if (hasSiblings) { - isLeaf = false; - } - } - - //this will be used as a name for the virtual unit, useful for debugging purposes. - var unitName = (relativePath == '' ? 'index' : relativePath.substr(1).replace(/\//, '-') ) + '-page'; - - var predicate = "urlMatch('" + relativePath + "')"; - // leaf is page that can handle multiple URLs. in this case it should have a wildcard at end. - // but since our current matcher doesn't support {/wildcard*} patten, "OR" ( || ) is used - if (isLeaf) { - predicate += " || urlMatch('" + relativePath + "/{+wildcard}')"; - } - var unitModel = { - name: unitName, - - path: pageFile.getPath(), - definition: {predicate: predicate} - }; - var hbsMetadata = getHbsMetadata(unitModel); - unitModel.zones = hbsMetadata.zones; - if (hbsMetadata.layout) { - unitModel.layout = hbsMetadata.layout; - } - - unitModels.push(unitModel); - } - } - }; - - - getLayoutPath = function (layout) { - return '/layouts/' + layout + '.hbs'; - }; - - getHbsFile = function (unit) { - // we determining if it's page unit or a proper unit - // by checking if path ends with '.hbs' - // TODO: improve getFile to do include this logic - if (unit.path.indexOf('.hbs', unit.path.length - 4) !== -1) { - return new File(unit.path); - } else { - return new File(unit.path + '/' + unit.name + '.hbs'); - } - }; - - var getHbsMetadata = function (unit) { - var zoneDef = {'zones': []}; - var hbsFile = getHbsFile(unit); - if (!hbsFile.isExists()) { - return zoneDef; - } - var output = handlebars.Handlebars.compileFile(hbsFile)({}); - var zonesAndLayouts = output.trim().split(/\s+/gm); - for (var i = 0; i < zonesAndLayouts.length; i++) { - var name = zonesAndLayouts[i]; - if (name.lastIndexOf('zone_', 0) === 0) { - zoneDef.zones.push({name: name.substr(5), origin: unit.name}); - } else if (name.lastIndexOf('layout_', 0) === 0) { - zoneDef.layout = name.substr(7); - } - } - return zoneDef; - }; - - - getUnitPath = function (unit) { - return '/units/' + unit; - }; - - cleanupAncestors = function (units) { - var toDelete = {}; - var len = units.length; - for (var i = 0; i < len; i++) { - var unit = units[i]; - if (!toDelete[unit]) { - var ancestors = getAncestorModels(unit.name); - for (var j = 1; j < ancestors.length; j++) { - toDelete[ancestors[j].name] = unit; - } - } - } - while (len--) { - if (toDelete[units[len]]) { - log.debug( - '[' + requestId + '] unit "' + units[len] + - '" is overridden by "' + toDelete[units[len]] + '"' - ); - units.splice(len, 1); - } - } - }; - - toRelativePath = function (path) { - var start = 0; - if (path.lastIndexOf('/units/', 0) == 0) { - start = 7; // len('/units/') - } - var slashPos = path.indexOf('/', 7); - return { - unit: path.substring(start, slashPos), - path: path.substr(slashPos) - } - }; - - /** - * Get a file inside a unit by relative path. if the file is not available in the given unit, - * the closest ancestor's file will be returned. if an optional suffix is used the relative path is - * calculated as ( path + < unit name > + opt_suffix ). if no such a file exists a returned file object will - * point to provided unit's non-existing file location (not to any ancestors). - * - * @param unitName name of the unit - * @param path path relative to unit root. - * @param opt_suffix - * @returns {File} - */ - getFile = function (unitName, path, opt_suffix) { - var slashPath = ((path[0] === '/') ? '' : '/') + path; - var selfFileName = ''; - var fileName = ''; - if (opt_suffix) { - selfFileName = unitName + opt_suffix; - slashPath = slashPath + ((slashPath[slashPath.length - 1] === '/') ? '' : '/'); - } - - //TODO: remove this hack that makes in page-unit, any file is same - var unitDef = getUnitDefinition(unitName); - if (unitDef.path.indexOf('.hbs', unitDef.path.length - 4) !== -1) { - if (opt_suffix.indexOf('.hbs', opt_suffix.length - 4) !== -1) { - return new File(unitDef.path); - } else { - return new File(unitDef.path.replace(/.hbs$/, opt_suffix)); - } - } - - var selfFile = new File(getUnitPath(unitName) + slashPath + selfFileName); - if (selfFile.isExists()) { - log.debug( - '[' + requestId + '] for unit "' + unitName + '" file resolved : "' - + slashPath + selfFileName + '" -> "' + selfFile.getPath() + '"' - ); - - return selfFile; - } - - var ancestors = getAncestorModels(unitName); - for (var i = 1; i < ancestors.length; i++) { - var ancestorName = ancestors[i].name; - if (opt_suffix) { - fileName = ancestorName + opt_suffix; - } - var file = new File(getUnitPath(ancestorName) + slashPath + fileName); - if (file.isExists()) { - log.debug( - '[' + requestId + '] for unit "' + unitName + '" file resolved : "' - + slashPath + selfFileName + '" -> "' + file.getPath() + '"' - ); - return file; - } - } - log.debug( - '[' + requestId + '] for unit "' + unitName + '" (non-excising) file resolved : "' - + slashPath + selfFileName + '" -> "' + selfFile.getPath() + '"' - ); - return selfFile; - }; - -})(); \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/handlebars-helpers.js b/modules/distribution/src/repository/jaggeryapps/sensebot/lib/handlebars-helpers.js deleted file mode 100644 index 80342019..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/handlebars-helpers.js +++ /dev/null @@ -1,194 +0,0 @@ -var log = new Log('fuse.handlebars'); -//TODO: create a different set of helpers for init parsing - -var Handlebars = require('handlebars-v2.0.0.js').Handlebars; -var USER_SESSION_KEY = "USER"; -var getScope = function (unit,configs) { - var jsFile = fuse.getFile(unit, '', '.js'); - var templateConfigs = configs || {}; - var script; - var onRequestCb = function(){}; //Assume that onRequest function will not be defined by the user - var viewModel = {}; - var cbResult; - if (jsFile.isExists()) { - script = require(jsFile.getPath()); - //Eagerly make the viewModel the template configs - viewModel = templateConfigs; - //Check if the unit author has specified an onRequest - //callback - if(script.hasOwnProperty('onRequest')){ - script.app = { - url: '/' + fuseState.appName, - publicURL: '/' + fuseState.appName + '/public/' + unit, - "class": unit + '-unit' - }; - onRequestCb = script.onRequest; - cbResult = onRequestCb(templateConfigs); - log.debug("passing configs to unit "+unit+" configs: "+stringify(templateConfigs)); - //If the execution does not yield an object we will print - //a warning as the unit author may have forgotten to return a data object - if(cbResult===undefined){ - cbResult = {}; //Give an empty data object - log.warn('[' + requestId + '] unit "' + unit + '" has a onRequest method which does not return a value.This may lead to the ' - +'unit not been rendered correctly.'); - } - viewModel = cbResult; - } - } - else{ - //If there is no script then the view should get the configurations - //passed in the unit call - viewModel = templateConfigs; - } - viewModel.app = { - url: '/' + fuseState.appName - }; - viewModel.self = { - publicURL: '/' + fuseState.appName + '/public/' + unit, - "class": unit + '-unit' - }; - return viewModel; -}; - -Handlebars.innerZones = []; -Handlebars.innerZonesFromUnit = null; - -Handlebars.registerHelper('defineZone', function (zoneName, zoneContent) { - var result = ''; - var zone = Handlebars.Utils.escapeExpression(zoneName); - fuseState.zoneStack.push(zone); - var unitsToRender = fuseState.zones[zone] || []; - - if (Handlebars.innerZones.length > 0) { - unitsToRender = fuseState.zones[Handlebars.innerZones[0]] || []; - } - - // if there is no one overriding, then display inline zone - if (zoneContent['fn'] && unitsToRender.length == 0) { - return zoneContent.fn(this).trim(); - } - - for (var i = 0; i < unitsToRender.length; i++) { - var unit = unitsToRender[i]; - if (Handlebars.innerZonesFromUnit == null || Handlebars.innerZonesFromUnit.unitName == unit.unitName) { - var template = fuse.getFile(unit.originUnitName || unit.unitName, '', '.hbs'); - log.debug('[' + requestId + '] for zone "' + zone + '" including template :"' + template.getPath() + '"'); - result += Handlebars.compileFile(template)(getScope(unit.unitName, zoneContent.data.root)); - } - } - - // we go to inner zones if result is empty, what we should really do it - // if matched zone is fully made of sub-zones. this is a hack to - // make it easy to implement. - if (result.trim().length == 0 && zoneContent['fn']) { - Handlebars.innerZones.push(zoneName); - for (i = 0; i < unitsToRender.length; i++) { - unit = unitsToRender[i]; - Handlebars.innerZonesFromUnit = unit; - result += zoneContent.fn(this).trim(); - Handlebars.innerZonesFromUnit = null; - } - Handlebars.innerZones.pop(); - return result; - } - - fuseState.zoneStack.pop(); - return new Handlebars.SafeString(result); -}); - -Handlebars.registerHelper('zone', function (zoneName, zoneContent) { - var currentZone = fuseState.zoneStack[fuseState.zoneStack.length - 1]; - if (currentZone == null) { - return 'zone_' + zoneName + ' '; - } - - // if it's exact zone match or if any in inner zone matches we render zone. - // this second condition is a hack. what we should really do is to keep another stack, - // and only match with the peek of that stack and always fill it with next in innerZone stack. - if (zoneName == currentZone || Handlebars.innerZones.indexOf(zoneName) >= 0) { - return zoneContent.fn(this).trim(); - } else { - return ''; - } -}); - -Handlebars.registerHelper('layout', function (layoutName) { - var currentZone = fuseState.zoneStack[fuseState.zoneStack.length - 1]; - if (currentZone == null) { - return 'layout_' + layoutName; - } else { - return ''; - } -}); - -Handlebars.registerHelper('authorized', function () { - var currentZone = fuseState.zoneStack[fuseState.zoneStack.length - 1]; - if (currentZone == null) { - return ''; - } else { - var loggedUser = session.get(USER_SESSION_KEY); - if(loggedUser == null){ - response.sendRedirect("/"+ fuseState.appName + "/login"); - exit(); - } - } -}); - -Handlebars.registerHelper('unit', function (unitName,options) { - var unitDef = fuse.getUnitDefinition(unitName); - var baseUnit = null; - var templateConfigs = options.hash || {}; - for (var i = 0; i < unitDef.zones.length; i++) { - var zone = unitDef.zones[i]; - if (zone.name == 'main') { - baseUnit = zone.origin; - } else { - var golbalZone = fuseState.zones[zone.name]; - if (!golbalZone) { - fuseState.zones[zone.name] = [{"unitName": unitName}]; - } else { - fuseState.zones[zone.name].push({"unitName": unitName}); - } - } - } - if (baseUnit == null) { - log.error('unit does not have a main zone'); - } - //TODO warn when unspecified decencies are included. - fuseState.zoneStack.push('main'); - var template = fuse.getFile(baseUnit, '', '.hbs'); - log.debug('[' + requestId + '] including "' + baseUnit + '"'+" with configs "+stringify(templateConfigs)); - var result = new Handlebars.SafeString(Handlebars.compileFile(template)(getScope(baseUnit,templateConfigs))); - fuseState.zoneStack.pop(); - return result; -}); - -Handlebars.compileFile = function (file) { - //TODO: remove this overloaded argument - var f = (typeof file === 'string') ? new File(file) : file; - - if (!Handlebars.cache) { - Handlebars.cache = {}; - } - - if (Handlebars.cache[f.getPath()] != null) { - return Handlebars.cache[f.getPath()]; - } - - f.open('r'); - log.debug('[' + requestId + '] reading file "' + f.getPath() + '"'); - var content = f.readAll().trim(); - f.close(); - var compiled = Handlebars.compile(content); - Handlebars.cache[f.getPath()] = compiled; - return compiled; -}; -Handlebars.registerHelper('equal', function(lvalue, rvalue, options) { - if (arguments.length < 3) - throw new Error("Handlebars Helper equal needs 2 parameters"); - if( lvalue!=rvalue ) { - return options.inverse(this); - } else { - return options.fn(this); - } -}); diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/handlebars-v2.0.0.js b/modules/distribution/src/repository/jaggeryapps/sensebot/lib/handlebars-v2.0.0.js deleted file mode 100644 index f826bbfd..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/handlebars-v2.0.0.js +++ /dev/null @@ -1,3079 +0,0 @@ -/*! - - handlebars v2.0.0 - -Copyright (C) 2011-2014 by Yehuda Katz - -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. - -@license -*/ -/* exported Handlebars */ -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - define([], factory); - } else if (typeof exports === 'object') { - module.exports = factory(); - } else { - root.Handlebars = root.Handlebars || factory(); - } -}(this, function () { -// handlebars/safe-string.js -var __module4__ = (function() { - "use strict"; - var __exports__; - // Build out our basic SafeString type - function SafeString(string) { - this.string = string; - } - - SafeString.prototype.toString = function() { - return "" + this.string; - }; - - __exports__ = SafeString; - return __exports__; -})(); - -// handlebars/utils.js -var __module3__ = (function(__dependency1__) { - "use strict"; - var __exports__ = {}; - /*jshint -W004 */ - var SafeString = __dependency1__; - - var escape = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'", - "`": "`" - }; - - var badChars = /[&<>"'`]/g; - var possible = /[&<>"'`]/; - - function escapeChar(chr) { - return escape[chr]; - } - - function extend(obj /* , ...source */) { - for (var i = 1; i < arguments.length; i++) { - for (var key in arguments[i]) { - if (Object.prototype.hasOwnProperty.call(arguments[i], key)) { - obj[key] = arguments[i][key]; - } - } - } - - return obj; - } - - __exports__.extend = extend;var toString = Object.prototype.toString; - __exports__.toString = toString; - // Sourced from lodash - // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt - var isFunction = function(value) { - return typeof value === 'function'; - }; - // fallback for older versions of Chrome and Safari - /* istanbul ignore next */ - if (isFunction(/x/)) { - isFunction = function(value) { - return typeof value === 'function' && toString.call(value) === '[object Function]'; - }; - } - var isFunction; - __exports__.isFunction = isFunction; - /* istanbul ignore next */ - var isArray = Array.isArray || function(value) { - return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; - }; - __exports__.isArray = isArray; - - function escapeExpression(string) { - // don't escape SafeStrings, since they're already safe - if (string instanceof SafeString) { - return string.toString(); - } else if (string == null) { - return ""; - } else if (!string) { - return string + ''; - } - - // Force a string conversion as this will be done by the append regardless and - // the regex test will do this transparently behind the scenes, causing issues if - // an object's to string has escaped characters in it. - string = "" + string; - - if(!possible.test(string)) { return string; } - return string.replace(badChars, escapeChar); - } - - __exports__.escapeExpression = escapeExpression;function isEmpty(value) { - if (!value && value !== 0) { - return true; - } else if (isArray(value) && value.length === 0) { - return true; - } else { - return false; - } - } - - __exports__.isEmpty = isEmpty;function appendContextPath(contextPath, id) { - return (contextPath ? contextPath + '.' : '') + id; - } - - __exports__.appendContextPath = appendContextPath; - return __exports__; -})(__module4__); - -// handlebars/exception.js -var __module5__ = (function() { - "use strict"; - var __exports__; - - var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; - - function Exception(message, node) { - var line; - if (node && node.firstLine) { - line = node.firstLine; - - message += ' - ' + line + ':' + node.firstColumn; - } - - var tmp = Error.prototype.constructor.call(this, message); - - // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. - for (var idx = 0; idx < errorProps.length; idx++) { - this[errorProps[idx]] = tmp[errorProps[idx]]; - } - - if (line) { - this.lineNumber = line; - this.column = node.firstColumn; - } - } - - Exception.prototype = new Error(); - - __exports__ = Exception; - return __exports__; -})(); - -// handlebars/base.js -var __module2__ = (function(__dependency1__, __dependency2__) { - "use strict"; - var __exports__ = {}; - var Utils = __dependency1__; - var Exception = __dependency2__; - - var VERSION = "2.0.0"; - __exports__.VERSION = VERSION;var COMPILER_REVISION = 6; - __exports__.COMPILER_REVISION = COMPILER_REVISION; - var REVISION_CHANGES = { - 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it - 2: '== 1.0.0-rc.3', - 3: '== 1.0.0-rc.4', - 4: '== 1.x.x', - 5: '== 2.0.0-alpha.x', - 6: '>= 2.0.0-beta.1' - }; - __exports__.REVISION_CHANGES = REVISION_CHANGES; - var isArray = Utils.isArray, - isFunction = Utils.isFunction, - toString = Utils.toString, - objectType = '[object Object]'; - - function HandlebarsEnvironment(helpers, partials) { - this.helpers = helpers || {}; - this.partials = partials || {}; - - registerDefaultHelpers(this); - } - - __exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = { - constructor: HandlebarsEnvironment, - - logger: logger, - log: log, - - registerHelper: function(name, fn) { - if (toString.call(name) === objectType) { - if (fn) { throw new Exception('Arg not supported with multiple helpers'); } - Utils.extend(this.helpers, name); - } else { - this.helpers[name] = fn; - } - }, - unregisterHelper: function(name) { - delete this.helpers[name]; - }, - - registerPartial: function(name, partial) { - if (toString.call(name) === objectType) { - Utils.extend(this.partials, name); - } else { - this.partials[name] = partial; - } - }, - unregisterPartial: function(name) { - delete this.partials[name]; - } - }; - - function registerDefaultHelpers(instance) { - instance.registerHelper('helperMissing', function(/* [args, ]options */) { - if(arguments.length === 1) { - // A missing field in a {{foo}} constuct. - return undefined; - } else { - // Someone is actually trying to call something, blow up. - throw new Exception("Missing helper: '" + arguments[arguments.length-1].name + "'"); - } - }); - - instance.registerHelper('blockHelperMissing', function(context, options) { - var inverse = options.inverse, - fn = options.fn; - - if(context === true) { - return fn(this); - } else if(context === false || context == null) { - return inverse(this); - } else if (isArray(context)) { - if(context.length > 0) { - if (options.ids) { - options.ids = [options.name]; - } - - return instance.helpers.each(context, options); - } else { - return inverse(this); - } - } else { - if (options.data && options.ids) { - var data = createFrame(options.data); - data.contextPath = Utils.appendContextPath(options.data.contextPath, options.name); - options = {data: data}; - } - - return fn(context, options); - } - }); - - instance.registerHelper('each', function(context, options) { - if (!options) { - throw new Exception('Must pass iterator to #each'); - } - - var fn = options.fn, inverse = options.inverse; - var i = 0, ret = "", data; - - var contextPath; - if (options.data && options.ids) { - contextPath = Utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.'; - } - - if (isFunction(context)) { context = context.call(this); } - - if (options.data) { - data = createFrame(options.data); - } - - if(context && typeof context === 'object') { - if (isArray(context)) { - for(var j = context.length; i 0) { - throw new Exception("Invalid path: " + original, this); - } else if (part === "..") { - depth++; - depthString += '../'; - } else { - this.isScoped = true; - } - } else { - dig.push(part); - } - } - - this.original = original; - this.parts = dig; - this.string = dig.join('.'); - this.depth = depth; - this.idName = depthString + this.string; - - // an ID is simple if it only has one part, and that part is not - // `..` or `this`. - this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; - - this.stringModeValue = this.string; - }, - - PartialNameNode: function(name, locInfo) { - LocationInfo.call(this, locInfo); - this.type = "PARTIAL_NAME"; - this.name = name.original; - }, - - DataNode: function(id, locInfo) { - LocationInfo.call(this, locInfo); - this.type = "DATA"; - this.id = id; - this.stringModeValue = id.stringModeValue; - this.idName = '@' + id.stringModeValue; - }, - - StringNode: function(string, locInfo) { - LocationInfo.call(this, locInfo); - this.type = "STRING"; - this.original = - this.string = - this.stringModeValue = string; - }, - - NumberNode: function(number, locInfo) { - LocationInfo.call(this, locInfo); - this.type = "NUMBER"; - this.original = - this.number = number; - this.stringModeValue = Number(number); - }, - - BooleanNode: function(bool, locInfo) { - LocationInfo.call(this, locInfo); - this.type = "BOOLEAN"; - this.bool = bool; - this.stringModeValue = bool === "true"; - }, - - CommentNode: function(comment, locInfo) { - LocationInfo.call(this, locInfo); - this.type = "comment"; - this.comment = comment; - - this.strip = { - inlineStandalone: true - }; - } - }; - - - // Must be exported as an object rather than the root of the module as the jison lexer - // most modify the object to operate properly. - __exports__ = AST; - return __exports__; -})(__module5__); - -// handlebars/compiler/parser.js -var __module9__ = (function() { - "use strict"; - var __exports__; - /* jshint ignore:start */ - /* istanbul ignore next */ - /* Jison generated parser */ - var handlebars = (function(){ - var parser = {trace: function trace() { }, - yy: {}, - symbols_: {"error":2,"root":3,"program":4,"EOF":5,"program_repetition0":6,"statement":7,"mustache":8,"block":9,"rawBlock":10,"partial":11,"CONTENT":12,"COMMENT":13,"openRawBlock":14,"END_RAW_BLOCK":15,"OPEN_RAW_BLOCK":16,"sexpr":17,"CLOSE_RAW_BLOCK":18,"openBlock":19,"block_option0":20,"closeBlock":21,"openInverse":22,"block_option1":23,"OPEN_BLOCK":24,"CLOSE":25,"OPEN_INVERSE":26,"inverseAndProgram":27,"INVERSE":28,"OPEN_ENDBLOCK":29,"path":30,"OPEN":31,"OPEN_UNESCAPED":32,"CLOSE_UNESCAPED":33,"OPEN_PARTIAL":34,"partialName":35,"param":36,"partial_option0":37,"partial_option1":38,"sexpr_repetition0":39,"sexpr_option0":40,"dataName":41,"STRING":42,"NUMBER":43,"BOOLEAN":44,"OPEN_SEXPR":45,"CLOSE_SEXPR":46,"hash":47,"hash_repetition_plus0":48,"hashSegment":49,"ID":50,"EQUALS":51,"DATA":52,"pathSegments":53,"SEP":54,"$accept":0,"$end":1}, - terminals_: {2:"error",5:"EOF",12:"CONTENT",13:"COMMENT",15:"END_RAW_BLOCK",16:"OPEN_RAW_BLOCK",18:"CLOSE_RAW_BLOCK",24:"OPEN_BLOCK",25:"CLOSE",26:"OPEN_INVERSE",28:"INVERSE",29:"OPEN_ENDBLOCK",31:"OPEN",32:"OPEN_UNESCAPED",33:"CLOSE_UNESCAPED",34:"OPEN_PARTIAL",42:"STRING",43:"NUMBER",44:"BOOLEAN",45:"OPEN_SEXPR",46:"CLOSE_SEXPR",50:"ID",51:"EQUALS",52:"DATA",54:"SEP"}, - productions_: [0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[10,3],[14,3],[9,4],[9,4],[19,3],[22,3],[27,2],[21,3],[8,3],[8,3],[11,5],[11,4],[17,3],[17,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,3],[47,1],[49,3],[35,1],[35,1],[35,1],[41,2],[30,1],[53,3],[53,1],[6,0],[6,2],[20,0],[20,1],[23,0],[23,1],[37,0],[37,1],[38,0],[38,1],[39,0],[39,2],[40,0],[40,1],[48,1],[48,2]], - performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { - - var $0 = $$.length - 1; - switch (yystate) { - case 1: yy.prepareProgram($$[$0-1].statements, true); return $$[$0-1]; - break; - case 2:this.$ = new yy.ProgramNode(yy.prepareProgram($$[$0]), {}, this._$); - break; - case 3:this.$ = $$[$0]; - break; - case 4:this.$ = $$[$0]; - break; - case 5:this.$ = $$[$0]; - break; - case 6:this.$ = $$[$0]; - break; - case 7:this.$ = new yy.ContentNode($$[$0], this._$); - break; - case 8:this.$ = new yy.CommentNode($$[$0], this._$); - break; - case 9:this.$ = new yy.RawBlockNode($$[$0-2], $$[$0-1], $$[$0], this._$); - break; - case 10:this.$ = new yy.MustacheNode($$[$0-1], null, '', '', this._$); - break; - case 11:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], false, this._$); - break; - case 12:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], true, this._$); - break; - case 13:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$); - break; - case 14:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$); - break; - case 15:this.$ = { strip: yy.stripFlags($$[$0-1], $$[$0-1]), program: $$[$0] }; - break; - case 16:this.$ = {path: $$[$0-1], strip: yy.stripFlags($$[$0-2], $$[$0])}; - break; - case 17:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$); - break; - case 18:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$); - break; - case 19:this.$ = new yy.PartialNode($$[$0-3], $$[$0-2], $$[$0-1], yy.stripFlags($$[$0-4], $$[$0]), this._$); - break; - case 20:this.$ = new yy.PartialNode($$[$0-2], undefined, $$[$0-1], yy.stripFlags($$[$0-3], $$[$0]), this._$); - break; - case 21:this.$ = new yy.SexprNode([$$[$0-2]].concat($$[$0-1]), $$[$0], this._$); - break; - case 22:this.$ = new yy.SexprNode([$$[$0]], null, this._$); - break; - case 23:this.$ = $$[$0]; - break; - case 24:this.$ = new yy.StringNode($$[$0], this._$); - break; - case 25:this.$ = new yy.NumberNode($$[$0], this._$); - break; - case 26:this.$ = new yy.BooleanNode($$[$0], this._$); - break; - case 27:this.$ = $$[$0]; - break; - case 28:$$[$0-1].isHelper = true; this.$ = $$[$0-1]; - break; - case 29:this.$ = new yy.HashNode($$[$0], this._$); - break; - case 30:this.$ = [$$[$0-2], $$[$0]]; - break; - case 31:this.$ = new yy.PartialNameNode($$[$0], this._$); - break; - case 32:this.$ = new yy.PartialNameNode(new yy.StringNode($$[$0], this._$), this._$); - break; - case 33:this.$ = new yy.PartialNameNode(new yy.NumberNode($$[$0], this._$)); - break; - case 34:this.$ = new yy.DataNode($$[$0], this._$); - break; - case 35:this.$ = new yy.IdNode($$[$0], this._$); - break; - case 36: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2]; - break; - case 37:this.$ = [{part: $$[$0]}]; - break; - case 38:this.$ = []; - break; - case 39:$$[$0-1].push($$[$0]); - break; - case 48:this.$ = []; - break; - case 49:$$[$0-1].push($$[$0]); - break; - case 52:this.$ = [$$[$0]]; - break; - case 53:$$[$0-1].push($$[$0]); - break; - } - }, - table: [{3:1,4:2,5:[2,38],6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],31:[2,38],32:[2,38],34:[2,38]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:[1,10],13:[1,11],14:16,16:[1,20],19:14,22:15,24:[1,18],26:[1,19],28:[2,2],29:[2,2],31:[1,12],32:[1,13],34:[1,17]},{1:[2,1]},{5:[2,39],12:[2,39],13:[2,39],16:[2,39],24:[2,39],26:[2,39],28:[2,39],29:[2,39],31:[2,39],32:[2,39],34:[2,39]},{5:[2,3],12:[2,3],13:[2,3],16:[2,3],24:[2,3],26:[2,3],28:[2,3],29:[2,3],31:[2,3],32:[2,3],34:[2,3]},{5:[2,4],12:[2,4],13:[2,4],16:[2,4],24:[2,4],26:[2,4],28:[2,4],29:[2,4],31:[2,4],32:[2,4],34:[2,4]},{5:[2,5],12:[2,5],13:[2,5],16:[2,5],24:[2,5],26:[2,5],28:[2,5],29:[2,5],31:[2,5],32:[2,5],34:[2,5]},{5:[2,6],12:[2,6],13:[2,6],16:[2,6],24:[2,6],26:[2,6],28:[2,6],29:[2,6],31:[2,6],32:[2,6],34:[2,6]},{5:[2,7],12:[2,7],13:[2,7],16:[2,7],24:[2,7],26:[2,7],28:[2,7],29:[2,7],31:[2,7],32:[2,7],34:[2,7]},{5:[2,8],12:[2,8],13:[2,8],16:[2,8],24:[2,8],26:[2,8],28:[2,8],29:[2,8],31:[2,8],32:[2,8],34:[2,8]},{17:21,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:27,30:22,41:23,50:[1,26],52:[1,25],53:24},{4:28,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{4:29,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{12:[1,30]},{30:32,35:31,42:[1,33],43:[1,34],50:[1,26],53:24},{17:35,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:36,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:37,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[1,38]},{18:[2,48],25:[2,48],33:[2,48],39:39,42:[2,48],43:[2,48],44:[2,48],45:[2,48],46:[2,48],50:[2,48],52:[2,48]},{18:[2,22],25:[2,22],33:[2,22],46:[2,22]},{18:[2,35],25:[2,35],33:[2,35],42:[2,35],43:[2,35],44:[2,35],45:[2,35],46:[2,35],50:[2,35],52:[2,35],54:[1,40]},{30:41,50:[1,26],53:24},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],52:[2,37],54:[2,37]},{33:[1,42]},{20:43,27:44,28:[1,45],29:[2,40]},{23:46,27:47,28:[1,45],29:[2,42]},{15:[1,48]},{25:[2,46],30:51,36:49,38:50,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],47:57,48:58,49:60,50:[1,59],52:[1,25],53:24},{25:[2,31],42:[2,31],43:[2,31],44:[2,31],45:[2,31],50:[2,31],52:[2,31]},{25:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],50:[2,32],52:[2,32]},{25:[2,33],42:[2,33],43:[2,33],44:[2,33],45:[2,33],50:[2,33],52:[2,33]},{25:[1,61]},{25:[1,62]},{18:[1,63]},{5:[2,17],12:[2,17],13:[2,17],16:[2,17],24:[2,17],26:[2,17],28:[2,17],29:[2,17],31:[2,17],32:[2,17],34:[2,17]},{18:[2,50],25:[2,50],30:51,33:[2,50],36:65,40:64,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],46:[2,50],47:66,48:58,49:60,50:[1,59],52:[1,25],53:24},{50:[1,67]},{18:[2,34],25:[2,34],33:[2,34],42:[2,34],43:[2,34],44:[2,34],45:[2,34],46:[2,34],50:[2,34],52:[2,34]},{5:[2,18],12:[2,18],13:[2,18],16:[2,18],24:[2,18],26:[2,18],28:[2,18],29:[2,18],31:[2,18],32:[2,18],34:[2,18]},{21:68,29:[1,69]},{29:[2,41]},{4:70,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{21:71,29:[1,69]},{29:[2,43]},{5:[2,9],12:[2,9],13:[2,9],16:[2,9],24:[2,9],26:[2,9],28:[2,9],29:[2,9],31:[2,9],32:[2,9],34:[2,9]},{25:[2,44],37:72,47:73,48:58,49:60,50:[1,74]},{25:[1,75]},{18:[2,23],25:[2,23],33:[2,23],42:[2,23],43:[2,23],44:[2,23],45:[2,23],46:[2,23],50:[2,23],52:[2,23]},{18:[2,24],25:[2,24],33:[2,24],42:[2,24],43:[2,24],44:[2,24],45:[2,24],46:[2,24],50:[2,24],52:[2,24]},{18:[2,25],25:[2,25],33:[2,25],42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],50:[2,25],52:[2,25]},{18:[2,26],25:[2,26],33:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:[2,26],50:[2,26],52:[2,26]},{18:[2,27],25:[2,27],33:[2,27],42:[2,27],43:[2,27],44:[2,27],45:[2,27],46:[2,27],50:[2,27],52:[2,27]},{17:76,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[2,47]},{18:[2,29],25:[2,29],33:[2,29],46:[2,29],49:77,50:[1,74]},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],51:[1,78],52:[2,37],54:[2,37]},{18:[2,52],25:[2,52],33:[2,52],46:[2,52],50:[2,52]},{12:[2,13],13:[2,13],16:[2,13],24:[2,13],26:[2,13],28:[2,13],29:[2,13],31:[2,13],32:[2,13],34:[2,13]},{12:[2,14],13:[2,14],16:[2,14],24:[2,14],26:[2,14],28:[2,14],29:[2,14],31:[2,14],32:[2,14],34:[2,14]},{12:[2,10]},{18:[2,21],25:[2,21],33:[2,21],46:[2,21]},{18:[2,49],25:[2,49],33:[2,49],42:[2,49],43:[2,49],44:[2,49],45:[2,49],46:[2,49],50:[2,49],52:[2,49]},{18:[2,51],25:[2,51],33:[2,51],46:[2,51]},{18:[2,36],25:[2,36],33:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],50:[2,36],52:[2,36],54:[2,36]},{5:[2,11],12:[2,11],13:[2,11],16:[2,11],24:[2,11],26:[2,11],28:[2,11],29:[2,11],31:[2,11],32:[2,11],34:[2,11]},{30:79,50:[1,26],53:24},{29:[2,15]},{5:[2,12],12:[2,12],13:[2,12],16:[2,12],24:[2,12],26:[2,12],28:[2,12],29:[2,12],31:[2,12],32:[2,12],34:[2,12]},{25:[1,80]},{25:[2,45]},{51:[1,78]},{5:[2,20],12:[2,20],13:[2,20],16:[2,20],24:[2,20],26:[2,20],28:[2,20],29:[2,20],31:[2,20],32:[2,20],34:[2,20]},{46:[1,81]},{18:[2,53],25:[2,53],33:[2,53],46:[2,53],50:[2,53]},{30:51,36:82,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],50:[1,26],52:[1,25],53:24},{25:[1,83]},{5:[2,19],12:[2,19],13:[2,19],16:[2,19],24:[2,19],26:[2,19],28:[2,19],29:[2,19],31:[2,19],32:[2,19],34:[2,19]},{18:[2,28],25:[2,28],33:[2,28],42:[2,28],43:[2,28],44:[2,28],45:[2,28],46:[2,28],50:[2,28],52:[2,28]},{18:[2,30],25:[2,30],33:[2,30],46:[2,30],50:[2,30]},{5:[2,16],12:[2,16],13:[2,16],16:[2,16],24:[2,16],26:[2,16],28:[2,16],29:[2,16],31:[2,16],32:[2,16],34:[2,16]}], - defaultActions: {4:[2,1],44:[2,41],47:[2,43],57:[2,47],63:[2,10],70:[2,15],73:[2,45]}, - parseError: function parseError(str, hash) { - throw new Error(str); - }, - parse: function parse(input) { - var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - this.lexer.setInput(input); - this.lexer.yy = this.yy; - this.yy.lexer = this.lexer; - this.yy.parser = this; - if (typeof this.lexer.yylloc == "undefined") - this.lexer.yylloc = {}; - var yyloc = this.lexer.yylloc; - lstack.push(yyloc); - var ranges = this.lexer.options && this.lexer.options.ranges; - if (typeof this.yy.parseError === "function") - this.parseError = this.yy.parseError; - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = self.lexer.lex() || 1; - if (typeof token !== "number") { - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == "undefined") { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === "undefined" || !action.length || !action[0]) { - var errStr = ""; - if (!recovering) { - expected = []; - for (p in table[state]) - if (this.terminals_[p] && p > 2) { - expected.push("'" + this.terminals_[p] + "'"); - } - if (this.lexer.showPosition) { - errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; - } else { - errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); - } - this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); - } - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(this.lexer.yytext); - lstack.push(this.lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = this.lexer.yyleng; - yytext = this.lexer.yytext; - yylineno = this.lexer.yylineno; - yyloc = this.lexer.yylloc; - if (recovering > 0) - recovering--; - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; - if (ranges) { - yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; - } - r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); - if (typeof r !== "undefined") { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; - } - }; - /* Jison generated lexer */ - var lexer = (function(){ - var lexer = ({EOF:1, - parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - setInput:function (input) { - this._input = input; - this._more = this._less = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; - if (this.options.ranges) this.yylloc.range = [0,0]; - this.offset = 0; - return this; - }, - input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) this.yylloc.range[1]++; - - this._input = this._input.slice(1); - return ch; - }, - unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length-len-1); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length-1); - this.matched = this.matched.substr(0, this.matched.length-1); - - if (lines.length-1) this.yylineno -= lines.length-1; - var r = this.yylloc.range; - - this.yylloc = {first_line: this.yylloc.first_line, - last_line: this.yylineno+1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - return this; - }, - more:function () { - this._more = true; - return this; - }, - less:function (n) { - this.unput(this.match.slice(n)); - }, - pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); - }, - showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c+"^"; - }, - next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) this.done = true; - - var token, - match, - tempMatch, - index, - col, - lines; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i=0;i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (!this.options.flex) break; - } - } - if (match) { - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) this.yylineno += lines.length; - this.yylloc = {first_line: this.yylloc.last_line, - last_line: this.yylineno+1, - first_column: this.yylloc.last_column, - last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); - if (this.done && this._input) this.done = false; - if (token) return token; - else return; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), - {text: "", token: null, line: this.yylineno}); - } - }, - lex:function lex() { - var r = this.next(); - if (typeof r !== 'undefined') { - return r; - } else { - return this.lex(); - } - }, - begin:function begin(condition) { - this.conditionStack.push(condition); - }, - popState:function popState() { - return this.conditionStack.pop(); - }, - _currentRules:function _currentRules() { - return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; - }, - topState:function () { - return this.conditionStack[this.conditionStack.length-2]; - }, - pushState:function begin(condition) { - this.begin(condition); - }}); - lexer.options = {}; - lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { - - - function strip(start, end) { - return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end); - } - - - var YYSTATE=YY_START - switch($avoiding_name_collisions) { - case 0: - if(yy_.yytext.slice(-2) === "\\\\") { - strip(0,1); - this.begin("mu"); - } else if(yy_.yytext.slice(-1) === "\\") { - strip(0,1); - this.begin("emu"); - } else { - this.begin("mu"); - } - if(yy_.yytext) return 12; - - break; - case 1:return 12; - break; - case 2: - this.popState(); - return 12; - - break; - case 3: - yy_.yytext = yy_.yytext.substr(5, yy_.yyleng-9); - this.popState(); - return 15; - - break; - case 4: return 12; - break; - case 5:strip(0,4); this.popState(); return 13; - break; - case 6:return 45; - break; - case 7:return 46; - break; - case 8: return 16; - break; - case 9: - this.popState(); - this.begin('raw'); - return 18; - - break; - case 10:return 34; - break; - case 11:return 24; - break; - case 12:return 29; - break; - case 13:this.popState(); return 28; - break; - case 14:this.popState(); return 28; - break; - case 15:return 26; - break; - case 16:return 26; - break; - case 17:return 32; - break; - case 18:return 31; - break; - case 19:this.popState(); this.begin('com'); - break; - case 20:strip(3,5); this.popState(); return 13; - break; - case 21:return 31; - break; - case 22:return 51; - break; - case 23:return 50; - break; - case 24:return 50; - break; - case 25:return 54; - break; - case 26:// ignore whitespace - break; - case 27:this.popState(); return 33; - break; - case 28:this.popState(); return 25; - break; - case 29:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 42; - break; - case 30:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 42; - break; - case 31:return 52; - break; - case 32:return 44; - break; - case 33:return 44; - break; - case 34:return 43; - break; - case 35:return 50; - break; - case 36:yy_.yytext = strip(1,2); return 50; - break; - case 37:return 'INVALID'; - break; - case 38:return 5; - break; - } - }; - lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{\/)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/]; - lexer.conditions = {"mu":{"rules":[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[5],"inclusive":false},"raw":{"rules":[3,4],"inclusive":false},"INITIAL":{"rules":[0,1,38],"inclusive":true}}; - return lexer;})() - parser.lexer = lexer; - function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; - return new Parser; - })();__exports__ = handlebars; - /* jshint ignore:end */ - return __exports__; -})(); - -// handlebars/compiler/helpers.js -var __module10__ = (function(__dependency1__) { - "use strict"; - var __exports__ = {}; - var Exception = __dependency1__; - - function stripFlags(open, close) { - return { - left: open.charAt(2) === '~', - right: close.charAt(close.length-3) === '~' - }; - } - - __exports__.stripFlags = stripFlags; - function prepareBlock(mustache, program, inverseAndProgram, close, inverted, locInfo) { - /*jshint -W040 */ - if (mustache.sexpr.id.original !== close.path.original) { - throw new Exception(mustache.sexpr.id.original + ' doesn\'t match ' + close.path.original, mustache); - } - - var inverse = inverseAndProgram && inverseAndProgram.program; - - var strip = { - left: mustache.strip.left, - right: close.strip.right, - - // Determine the standalone candiacy. Basically flag our content as being possibly standalone - // so our parent can determine if we actually are standalone - openStandalone: isNextWhitespace(program.statements), - closeStandalone: isPrevWhitespace((inverse || program).statements) - }; - - if (mustache.strip.right) { - omitRight(program.statements, null, true); - } - - if (inverse) { - var inverseStrip = inverseAndProgram.strip; - - if (inverseStrip.left) { - omitLeft(program.statements, null, true); - } - if (inverseStrip.right) { - omitRight(inverse.statements, null, true); - } - if (close.strip.left) { - omitLeft(inverse.statements, null, true); - } - - // Find standalone else statments - if (isPrevWhitespace(program.statements) - && isNextWhitespace(inverse.statements)) { - - omitLeft(program.statements); - omitRight(inverse.statements); - } - } else { - if (close.strip.left) { - omitLeft(program.statements, null, true); - } - } - - if (inverted) { - return new this.BlockNode(mustache, inverse, program, strip, locInfo); - } else { - return new this.BlockNode(mustache, program, inverse, strip, locInfo); - } - } - - __exports__.prepareBlock = prepareBlock; - function prepareProgram(statements, isRoot) { - for (var i = 0, l = statements.length; i < l; i++) { - var current = statements[i], - strip = current.strip; - - if (!strip) { - continue; - } - - var _isPrevWhitespace = isPrevWhitespace(statements, i, isRoot, current.type === 'partial'), - _isNextWhitespace = isNextWhitespace(statements, i, isRoot), - - openStandalone = strip.openStandalone && _isPrevWhitespace, - closeStandalone = strip.closeStandalone && _isNextWhitespace, - inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace; - - if (strip.right) { - omitRight(statements, i, true); - } - if (strip.left) { - omitLeft(statements, i, true); - } - - if (inlineStandalone) { - omitRight(statements, i); - - if (omitLeft(statements, i)) { - // If we are on a standalone node, save the indent info for partials - if (current.type === 'partial') { - current.indent = (/([ \t]+$)/).exec(statements[i-1].original) ? RegExp.$1 : ''; - } - } - } - if (openStandalone) { - omitRight((current.program || current.inverse).statements); - - // Strip out the previous content node if it's whitespace only - omitLeft(statements, i); - } - if (closeStandalone) { - // Always strip the next node - omitRight(statements, i); - - omitLeft((current.inverse || current.program).statements); - } - } - - return statements; - } - - __exports__.prepareProgram = prepareProgram;function isPrevWhitespace(statements, i, isRoot) { - if (i === undefined) { - i = statements.length; - } - - // Nodes that end with newlines are considered whitespace (but are special - // cased for strip operations) - var prev = statements[i-1], - sibling = statements[i-2]; - if (!prev) { - return isRoot; - } - - if (prev.type === 'content') { - return (sibling || !isRoot ? (/\r?\n\s*?$/) : (/(^|\r?\n)\s*?$/)).test(prev.original); - } - } - function isNextWhitespace(statements, i, isRoot) { - if (i === undefined) { - i = -1; - } - - var next = statements[i+1], - sibling = statements[i+2]; - if (!next) { - return isRoot; - } - - if (next.type === 'content') { - return (sibling || !isRoot ? (/^\s*?\r?\n/) : (/^\s*?(\r?\n|$)/)).test(next.original); - } - } - - // Marks the node to the right of the position as omitted. - // I.e. {{foo}}' ' will mark the ' ' node as omitted. - // - // If i is undefined, then the first child will be marked as such. - // - // If mulitple is truthy then all whitespace will be stripped out until non-whitespace - // content is met. - function omitRight(statements, i, multiple) { - var current = statements[i == null ? 0 : i + 1]; - if (!current || current.type !== 'content' || (!multiple && current.rightStripped)) { - return; - } - - var original = current.string; - current.string = current.string.replace(multiple ? (/^\s+/) : (/^[ \t]*\r?\n?/), ''); - current.rightStripped = current.string !== original; - } - - // Marks the node to the left of the position as omitted. - // I.e. ' '{{foo}} will mark the ' ' node as omitted. - // - // If i is undefined then the last child will be marked as such. - // - // If mulitple is truthy then all whitespace will be stripped out until non-whitespace - // content is met. - function omitLeft(statements, i, multiple) { - var current = statements[i == null ? statements.length - 1 : i - 1]; - if (!current || current.type !== 'content' || (!multiple && current.leftStripped)) { - return; - } - - // We omit the last node if it's whitespace only and not preceeded by a non-content node. - var original = current.string; - current.string = current.string.replace(multiple ? (/\s+$/) : (/[ \t]+$/), ''); - current.leftStripped = current.string !== original; - return current.leftStripped; - } - return __exports__; -})(__module5__); - -// handlebars/compiler/base.js -var __module8__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__) { - "use strict"; - var __exports__ = {}; - var parser = __dependency1__; - var AST = __dependency2__; - var Helpers = __dependency3__; - var extend = __dependency4__.extend; - - __exports__.parser = parser; - - var yy = {}; - extend(yy, Helpers, AST); - - function parse(input) { - // Just return if an already-compile AST was passed in. - if (input.constructor === AST.ProgramNode) { return input; } - - parser.yy = yy; - - return parser.parse(input); - } - - __exports__.parse = parse; - return __exports__; -})(__module9__, __module7__, __module10__, __module3__); - -// handlebars/compiler/compiler.js -var __module11__ = (function(__dependency1__, __dependency2__) { - "use strict"; - var __exports__ = {}; - var Exception = __dependency1__; - var isArray = __dependency2__.isArray; - - var slice = [].slice; - - function Compiler() {} - - __exports__.Compiler = Compiler;// the foundHelper register will disambiguate helper lookup from finding a - // function in a context. This is necessary for mustache compatibility, which - // requires that context functions in blocks are evaluated by blockHelperMissing, - // and then proceed as if the resulting value was provided to blockHelperMissing. - - Compiler.prototype = { - compiler: Compiler, - - equals: function(other) { - var len = this.opcodes.length; - if (other.opcodes.length !== len) { - return false; - } - - for (var i = 0; i < len; i++) { - var opcode = this.opcodes[i], - otherOpcode = other.opcodes[i]; - if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) { - return false; - } - } - - // We know that length is the same between the two arrays because they are directly tied - // to the opcode behavior above. - len = this.children.length; - for (i = 0; i < len; i++) { - if (!this.children[i].equals(other.children[i])) { - return false; - } - } - - return true; - }, - - guid: 0, - - compile: function(program, options) { - this.opcodes = []; - this.children = []; - this.depths = {list: []}; - this.options = options; - this.stringParams = options.stringParams; - this.trackIds = options.trackIds; - - // These changes will propagate to the other compiler components - var knownHelpers = this.options.knownHelpers; - this.options.knownHelpers = { - 'helperMissing': true, - 'blockHelperMissing': true, - 'each': true, - 'if': true, - 'unless': true, - 'with': true, - 'log': true, - 'lookup': true - }; - if (knownHelpers) { - for (var name in knownHelpers) { - this.options.knownHelpers[name] = knownHelpers[name]; - } - } - - return this.accept(program); - }, - - accept: function(node) { - return this[node.type](node); - }, - - program: function(program) { - var statements = program.statements; - - for(var i=0, l=statements.length; i 0) { - varDeclarations += ", " + locals.join(", "); - } - - // Generate minimizer alias mappings - for (var alias in this.aliases) { - if (this.aliases.hasOwnProperty(alias)) { - varDeclarations += ', ' + alias + '=' + this.aliases[alias]; - } - } - - var params = ["depth0", "helpers", "partials", "data"]; - - if (this.useDepths) { - params.push('depths'); - } - - // Perform a second pass over the output to merge content when possible - var source = this.mergeSource(varDeclarations); - - if (asObject) { - params.push(source); - - return Function.apply(this, params); - } else { - return 'function(' + params.join(',') + ') {\n ' + source + '}'; - } - }, - mergeSource: function(varDeclarations) { - var source = '', - buffer, - appendOnly = !this.forceBuffer, - appendFirst; - - for (var i = 0, len = this.source.length; i < len; i++) { - var line = this.source[i]; - if (line.appendToBuffer) { - if (buffer) { - buffer = buffer + '\n + ' + line.content; - } else { - buffer = line.content; - } - } else { - if (buffer) { - if (!source) { - appendFirst = true; - source = buffer + ';\n '; - } else { - source += 'buffer += ' + buffer + ';\n '; - } - buffer = undefined; - } - source += line + '\n '; - - if (!this.environment.isSimple) { - appendOnly = false; - } - } - } - - if (appendOnly) { - if (buffer || !source) { - source += 'return ' + (buffer || '""') + ';\n'; - } - } else { - varDeclarations += ", buffer = " + (appendFirst ? '' : this.initializeBuffer()); - if (buffer) { - source += 'return buffer + ' + buffer + ';\n'; - } else { - source += 'return buffer;\n'; - } - } - - if (varDeclarations) { - source = 'var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\n ') + source; - } - - return source; - }, - - // [blockValue] - // - // On stack, before: hash, inverse, program, value - // On stack, after: return value of blockHelperMissing - // - // The purpose of this opcode is to take a block of the form - // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and - // replace it on the stack with the result of properly - // invoking blockHelperMissing. - blockValue: function(name) { - this.aliases.blockHelperMissing = 'helpers.blockHelperMissing'; - - var params = [this.contextName(0)]; - this.setupParams(name, 0, params); - - var blockName = this.popStack(); - params.splice(1, 0, blockName); - - this.push('blockHelperMissing.call(' + params.join(', ') + ')'); - }, - - // [ambiguousBlockValue] - // - // On stack, before: hash, inverse, program, value - // Compiler value, before: lastHelper=value of last found helper, if any - // On stack, after, if no lastHelper: same as [blockValue] - // On stack, after, if lastHelper: value - ambiguousBlockValue: function() { - this.aliases.blockHelperMissing = 'helpers.blockHelperMissing'; - - // We're being a bit cheeky and reusing the options value from the prior exec - var params = [this.contextName(0)]; - this.setupParams('', 0, params, true); - - this.flushInline(); - - var current = this.topStack(); - params.splice(1, 0, current); - - this.pushSource("if (!" + this.lastHelper + ") { " + current + " = blockHelperMissing.call(" + params.join(", ") + "); }"); - }, - - // [appendContent] - // - // On stack, before: ... - // On stack, after: ... - // - // Appends the string value of `content` to the current buffer - appendContent: function(content) { - if (this.pendingContent) { - content = this.pendingContent + content; - } - - this.pendingContent = content; - }, - - // [append] - // - // On stack, before: value, ... - // On stack, after: ... - // - // Coerces `value` to a String and appends it to the current buffer. - // - // If `value` is truthy, or 0, it is coerced into a string and appended - // Otherwise, the empty string is appended - append: function() { - // Force anything that is inlined onto the stack so we don't have duplication - // when we examine local - this.flushInline(); - var local = this.popStack(); - this.pushSource('if (' + local + ' != null) { ' + this.appendToBuffer(local) + ' }'); - if (this.environment.isSimple) { - this.pushSource("else { " + this.appendToBuffer("''") + " }"); - } - }, - - // [appendEscaped] - // - // On stack, before: value, ... - // On stack, after: ... - // - // Escape `value` and append it to the buffer - appendEscaped: function() { - this.aliases.escapeExpression = 'this.escapeExpression'; - - this.pushSource(this.appendToBuffer("escapeExpression(" + this.popStack() + ")")); - }, - - // [getContext] - // - // On stack, before: ... - // On stack, after: ... - // Compiler value, after: lastContext=depth - // - // Set the value of the `lastContext` compiler value to the depth - getContext: function(depth) { - this.lastContext = depth; - }, - - // [pushContext] - // - // On stack, before: ... - // On stack, after: currentContext, ... - // - // Pushes the value of the current context onto the stack. - pushContext: function() { - this.pushStackLiteral(this.contextName(this.lastContext)); - }, - - // [lookupOnContext] - // - // On stack, before: ... - // On stack, after: currentContext[name], ... - // - // Looks up the value of `name` on the current context and pushes - // it onto the stack. - lookupOnContext: function(parts, falsy, scoped) { - /*jshint -W083 */ - var i = 0, - len = parts.length; - - if (!scoped && this.options.compat && !this.lastContext) { - // The depthed query is expected to handle the undefined logic for the root level that - // is implemented below, so we evaluate that directly in compat mode - this.push(this.depthedLookup(parts[i++])); - } else { - this.pushContext(); - } - - for (; i < len; i++) { - this.replaceStack(function(current) { - var lookup = this.nameLookup(current, parts[i], 'context'); - // We want to ensure that zero and false are handled properly if the context (falsy flag) - // needs to have the special handling for these values. - if (!falsy) { - return ' != null ? ' + lookup + ' : ' + current; - } else { - // Otherwise we can use generic falsy handling - return ' && ' + lookup; - } - }); - } - }, - - // [lookupData] - // - // On stack, before: ... - // On stack, after: data, ... - // - // Push the data lookup operator - lookupData: function(depth, parts) { - /*jshint -W083 */ - if (!depth) { - this.pushStackLiteral('data'); - } else { - this.pushStackLiteral('this.data(data, ' + depth + ')'); - } - - var len = parts.length; - for (var i = 0; i < len; i++) { - this.replaceStack(function(current) { - return ' && ' + this.nameLookup(current, parts[i], 'data'); - }); - } - }, - - // [resolvePossibleLambda] - // - // On stack, before: value, ... - // On stack, after: resolved value, ... - // - // If the `value` is a lambda, replace it on the stack by - // the return value of the lambda - resolvePossibleLambda: function() { - this.aliases.lambda = 'this.lambda'; - - this.push('lambda(' + this.popStack() + ', ' + this.contextName(0) + ')'); - }, - - // [pushStringParam] - // - // On stack, before: ... - // On stack, after: string, currentContext, ... - // - // This opcode is designed for use in string mode, which - // provides the string value of a parameter along with its - // depth rather than resolving it immediately. - pushStringParam: function(string, type) { - this.pushContext(); - this.pushString(type); - - // If it's a subexpression, the string result - // will be pushed after this opcode. - if (type !== 'sexpr') { - if (typeof string === 'string') { - this.pushString(string); - } else { - this.pushStackLiteral(string); - } - } - }, - - emptyHash: function() { - this.pushStackLiteral('{}'); - - if (this.trackIds) { - this.push('{}'); // hashIds - } - if (this.stringParams) { - this.push('{}'); // hashContexts - this.push('{}'); // hashTypes - } - }, - pushHash: function() { - if (this.hash) { - this.hashes.push(this.hash); - } - this.hash = {values: [], types: [], contexts: [], ids: []}; - }, - popHash: function() { - var hash = this.hash; - this.hash = this.hashes.pop(); - - if (this.trackIds) { - this.push('{' + hash.ids.join(',') + '}'); - } - if (this.stringParams) { - this.push('{' + hash.contexts.join(',') + '}'); - this.push('{' + hash.types.join(',') + '}'); - } - - this.push('{\n ' + hash.values.join(',\n ') + '\n }'); - }, - - // [pushString] - // - // On stack, before: ... - // On stack, after: quotedString(string), ... - // - // Push a quoted version of `string` onto the stack - pushString: function(string) { - this.pushStackLiteral(this.quotedString(string)); - }, - - // [push] - // - // On stack, before: ... - // On stack, after: expr, ... - // - // Push an expression onto the stack - push: function(expr) { - this.inlineStack.push(expr); - return expr; - }, - - // [pushLiteral] - // - // On stack, before: ... - // On stack, after: value, ... - // - // Pushes a value onto the stack. This operation prevents - // the compiler from creating a temporary variable to hold - // it. - pushLiteral: function(value) { - this.pushStackLiteral(value); - }, - - // [pushProgram] - // - // On stack, before: ... - // On stack, after: program(guid), ... - // - // Push a program expression onto the stack. This takes - // a compile-time guid and converts it into a runtime-accessible - // expression. - pushProgram: function(guid) { - if (guid != null) { - this.pushStackLiteral(this.programExpression(guid)); - } else { - this.pushStackLiteral(null); - } - }, - - // [invokeHelper] - // - // On stack, before: hash, inverse, program, params..., ... - // On stack, after: result of helper invocation - // - // Pops off the helper's parameters, invokes the helper, - // and pushes the helper's return value onto the stack. - // - // If the helper is not found, `helperMissing` is called. - invokeHelper: function(paramSize, name, isSimple) { - this.aliases.helperMissing = 'helpers.helperMissing'; - - var nonHelper = this.popStack(); - var helper = this.setupHelper(paramSize, name); - - var lookup = (isSimple ? helper.name + ' || ' : '') + nonHelper + ' || helperMissing'; - this.push('((' + lookup + ').call(' + helper.callParams + '))'); - }, - - // [invokeKnownHelper] - // - // On stack, before: hash, inverse, program, params..., ... - // On stack, after: result of helper invocation - // - // This operation is used when the helper is known to exist, - // so a `helperMissing` fallback is not required. - invokeKnownHelper: function(paramSize, name) { - var helper = this.setupHelper(paramSize, name); - this.push(helper.name + ".call(" + helper.callParams + ")"); - }, - - // [invokeAmbiguous] - // - // On stack, before: hash, inverse, program, params..., ... - // On stack, after: result of disambiguation - // - // This operation is used when an expression like `{{foo}}` - // is provided, but we don't know at compile-time whether it - // is a helper or a path. - // - // This operation emits more code than the other options, - // and can be avoided by passing the `knownHelpers` and - // `knownHelpersOnly` flags at compile-time. - invokeAmbiguous: function(name, helperCall) { - this.aliases.functionType = '"function"'; - this.aliases.helperMissing = 'helpers.helperMissing'; - this.useRegister('helper'); - - var nonHelper = this.popStack(); - - this.emptyHash(); - var helper = this.setupHelper(0, name, helperCall); - - var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper'); - - this.push( - '((helper = (helper = ' + helperName + ' || ' + nonHelper + ') != null ? helper : helperMissing' - + (helper.paramsInit ? '),(' + helper.paramsInit : '') + '),' - + '(typeof helper === functionType ? helper.call(' + helper.callParams + ') : helper))'); - }, - - // [invokePartial] - // - // On stack, before: context, ... - // On stack after: result of partial invocation - // - // This operation pops off a context, invokes a partial with that context, - // and pushes the result of the invocation back. - invokePartial: function(name, indent) { - var params = [this.nameLookup('partials', name, 'partial'), "'" + indent + "'", "'" + name + "'", this.popStack(), this.popStack(), "helpers", "partials"]; - - if (this.options.data) { - params.push("data"); - } else if (this.options.compat) { - params.push('undefined'); - } - if (this.options.compat) { - params.push('depths'); - } - - this.push("this.invokePartial(" + params.join(", ") + ")"); - }, - - // [assignToHash] - // - // On stack, before: value, ..., hash, ... - // On stack, after: ..., hash, ... - // - // Pops a value off the stack and assigns it to the current hash - assignToHash: function(key) { - var value = this.popStack(), - context, - type, - id; - - if (this.trackIds) { - id = this.popStack(); - } - if (this.stringParams) { - type = this.popStack(); - context = this.popStack(); - } - - var hash = this.hash; - if (context) { - hash.contexts.push("'" + key + "': " + context); - } - if (type) { - hash.types.push("'" + key + "': " + type); - } - if (id) { - hash.ids.push("'" + key + "': " + id); - } - hash.values.push("'" + key + "': (" + value + ")"); - }, - - pushId: function(type, name) { - if (type === 'ID' || type === 'DATA') { - this.pushString(name); - } else if (type === 'sexpr') { - this.pushStackLiteral('true'); - } else { - this.pushStackLiteral('null'); - } - }, - - // HELPERS - - compiler: JavaScriptCompiler, - - compileChildren: function(environment, options) { - var children = environment.children, child, compiler; - - for(var i=0, l=children.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } - return this.topStackName(); - }, - topStackName: function() { - return "stack" + this.stackSlot; - }, - flushInline: function() { - var inlineStack = this.inlineStack; - if (inlineStack.length) { - this.inlineStack = []; - for (var i = 0, len = inlineStack.length; i < len; i++) { - var entry = inlineStack[i]; - if (entry instanceof Literal) { - this.compileStack.push(entry); - } else { - this.pushStack(entry); - } - } - } - }, - isInline: function() { - return this.inlineStack.length; - }, - - popStack: function(wrapped) { - var inline = this.isInline(), - item = (inline ? this.inlineStack : this.compileStack).pop(); - - if (!wrapped && (item instanceof Literal)) { - return item.value; - } else { - if (!inline) { - /* istanbul ignore next */ - if (!this.stackSlot) { - throw new Exception('Invalid stack pop'); - } - this.stackSlot--; - } - return item; - } - }, - - topStack: function() { - var stack = (this.isInline() ? this.inlineStack : this.compileStack), - item = stack[stack.length - 1]; - - if (item instanceof Literal) { - return item.value; - } else { - return item; - } - }, - - contextName: function(context) { - if (this.useDepths && context) { - return 'depths[' + context + ']'; - } else { - return 'depth' + context; - } - }, - - quotedString: function(str) { - return '"' + str - .replace(/\\/g, '\\\\') - .replace(/"/g, '\\"') - .replace(/\n/g, '\\n') - .replace(/\r/g, '\\r') - .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 - .replace(/\u2029/g, '\\u2029') + '"'; - }, - - objectLiteral: function(obj) { - var pairs = []; - - for (var key in obj) { - if (obj.hasOwnProperty(key)) { - pairs.push(this.quotedString(key) + ':' + obj[key]); - } - } - - return '{' + pairs.join(',') + '}'; - }, - - setupHelper: function(paramSize, name, blockHelper) { - var params = [], - paramsInit = this.setupParams(name, paramSize, params, blockHelper); - var foundHelper = this.nameLookup('helpers', name, 'helper'); - - return { - params: params, - paramsInit: paramsInit, - name: foundHelper, - callParams: [this.contextName(0)].concat(params).join(", ") - }; - }, - - setupOptions: function(helper, paramSize, params) { - var options = {}, contexts = [], types = [], ids = [], param, inverse, program; - - options.name = this.quotedString(helper); - options.hash = this.popStack(); - - if (this.trackIds) { - options.hashIds = this.popStack(); - } - if (this.stringParams) { - options.hashTypes = this.popStack(); - options.hashContexts = this.popStack(); - } - - inverse = this.popStack(); - program = this.popStack(); - - // Avoid setting fn and inverse if neither are set. This allows - // helpers to do a check for `if (options.fn)` - if (program || inverse) { - if (!program) { - program = 'this.noop'; - } - - if (!inverse) { - inverse = 'this.noop'; - } - - options.fn = program; - options.inverse = inverse; - } - - // The parameters go on to the stack in order (making sure that they are evaluated in order) - // so we need to pop them off the stack in reverse order - var i = paramSize; - while (i--) { - param = this.popStack(); - params[i] = param; - - if (this.trackIds) { - ids[i] = this.popStack(); - } - if (this.stringParams) { - types[i] = this.popStack(); - contexts[i] = this.popStack(); - } - } - - if (this.trackIds) { - options.ids = "[" + ids.join(",") + "]"; - } - if (this.stringParams) { - options.types = "[" + types.join(",") + "]"; - options.contexts = "[" + contexts.join(",") + "]"; - } - - if (this.options.data) { - options.data = "data"; - } - - return options; - }, - - // the params and contexts arguments are passed in arrays - // to fill in - setupParams: function(helperName, paramSize, params, useRegister) { - var options = this.objectLiteral(this.setupOptions(helperName, paramSize, params)); - - if (useRegister) { - this.useRegister('options'); - params.push('options'); - return 'options=' + options; - } else { - params.push(options); - return ''; - } - } - }; - - var reservedWords = ( - "break else new var" + - " case finally return void" + - " catch for switch while" + - " continue function this with" + - " default if throw" + - " delete in try" + - " do instanceof typeof" + - " abstract enum int short" + - " boolean export interface static" + - " byte extends long super" + - " char final native synchronized" + - " class float package throws" + - " const goto private transient" + - " debugger implements protected volatile" + - " double import public let yield" - ).split(" "); - - var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {}; - - for(var i=0, l=reservedWords.length; i */ - -// -// Stub out `require` in rhino -// -function require(arg) { - var split = arg.split('/'); - var resultModule = split.length == 1 ? less.modules[split[0]] : less[split[1]]; - if (!resultModule) { - throw {message: "Cannot find module '" + arg + "'"}; - } - return resultModule; -} - - -if (typeof(window) === 'undefined') { - less = {} -} -else { - less = window.less = {} -} -tree = less.tree = {}; -less.mode = 'rhino'; - -(function () { - - console = function () { - function doLog(out) { - return function (a) { - //TODO: for some reason loging dosn't work,fix later - } - } - - return { - log: doLog(log.info), - info: doLog(log.info), - error: doLog(log.error), - warn: doLog(log.warn) - }; - }(); - - less.modules = {}; - - less.modules.path = { - join: function () { - var parts = []; - for (i in arguments) { - parts = parts.concat(arguments[i].split(/\/|\\/)); - } - var result = []; - for (i in parts) { - var part = parts[i]; - if (part === '..' && result.length > 0 && result[result.length - 1] !== '..') { - result.pop(); - } else if (part === '' && result.length > 0) { - // skip - } else if (part !== '.') { - if (part.slice(-1) === '\\' || part.slice(-1) === '/') { - part = part.slice(0, -1); - } - result.push(part); - } - } - return result.join('/'); - }, - dirname: function (p) { - var path = p.split('/'); - path.pop(); - return path.join('/'); - }, - basename: function (p, ext) { - var base = p.split('/').pop(); - if (ext) { - var index = base.lastIndexOf(ext); - if (base.length === index + ext.length) { - base = base.substr(0, index); - } - } - return base; - }, - extname: function (p) { - var index = p.lastIndexOf('.'); - return index > 0 ? p.substring(index) : ''; - } - }; - - less.modules.fs = { - readFileSync: function (name) { - // read a file into a byte array - var file = new java.io.File(name); - new Log('xxxxxxxx').info(file.getCanonicalPath()); - var stream = new java.io.FileInputStream(file); - var buffer = []; - var c; - while ((c = stream.read()) != -1) { - buffer.push(c); - } - stream.close(); - return { - length: buffer.length, - toString: function (enc) { - if (enc === 'base64') { - return encodeBase64Bytes(buffer); - } else if (enc) { - return java.lang.String["(byte[],java.lang.String)"](buffer, enc); - } else { - return java.lang.String["(byte[])"](buffer); - } - } - }; - } - }; - - less.encoder = { - encodeBase64: function (str) { - return encodeBase64String(str); - } - }; - - // --------------------------------------------------------------------------------------------- - // private helper functions - // --------------------------------------------------------------------------------------------- - - function encodeBase64Bytes(bytes) { - // requires at least a JRE Platform 6 (or JAXB 1.0 on the classpath) - return javax.xml.bind.DatatypeConverter.printBase64Binary(bytes) - } - - function encodeBase64String(str) { - return encodeBase64Bytes(new java.lang.String(str).getBytes()); - } - -})(); - -var less, tree; - -// Node.js does not have a header file added which defines less -if (less === undefined) { - less = exports; - tree = require('./tree'); - less.mode = 'node'; -} -// -// less.js - parser -// -// A relatively straight-forward predictive parser. -// There is no tokenization/lexing stage, the input is parsed -// in one sweep. -// -// To make the parser fast enough to run in the browser, several -// optimization had to be made: -// -// - Matching and slicing on a huge input is often cause of slowdowns. -// The solution is to chunkify the input into smaller strings. -// The chunks are stored in the `chunks` var, -// `j` holds the current chunk index, and `currentPos` holds -// the index of the current chunk in relation to `input`. -// This gives us an almost 4x speed-up. -// -// - In many cases, we don't need to match individual tokens; -// for example, if a value doesn't hold any variables, operations -// or dynamic references, the parser can effectively 'skip' it, -// treating it as a literal. -// An example would be '1px solid #000' - which evaluates to itself, -// we don't need to know what the individual components are. -// The drawback, of course is that you don't get the benefits of -// syntax-checking on the CSS. This gives us a 50% speed-up in the parser, -// and a smaller speed-up in the code-gen. -// -// -// Token matching is done with the `$` function, which either takes -// a terminal string or regexp, or a non-terminal function to call. -// It also takes care of moving all the indices forwards. -// -// -less.Parser = function Parser(env) { - var input, // LeSS input string - i, // current index in `input` - j, // current chunk - saveStack = [], // holds state for backtracking - furthest, // furthest index the parser has gone to - chunks, // chunkified input - current, // current chunk - currentPos, // index of current chunk, in `input` - parser, - parsers, - rootFilename = env && env.filename; - - // Top parser on an import tree must be sure there is one "env" - // which will then be passed around by reference. - if (!(env instanceof tree.parseEnv)) { - env = new tree.parseEnv(env); - } - - var imports = this.imports = { - paths: env.paths || [], // Search paths, when importing - queue: [], // Files which haven't been imported yet - files: env.files, // Holds the imported parse trees - contents: env.contents, // Holds the imported file contents - contentsIgnoredChars: env.contentsIgnoredChars, // lines inserted, not in the original less - mime: env.mime, // MIME type of .less files - error: null, // Error in parsing/evaluating an import - push: function (path, currentFileInfo, importOptions, callback) { - var parserImports = this; - this.queue.push(path); - - var fileParsedFunc = function (e, root, fullPath) { - parserImports.queue.splice(parserImports.queue.indexOf(path), 1); // Remove the path from the queue - - var importedPreviously = fullPath === rootFilename; - - parserImports.files[fullPath] = root; // Store the root - - if (e && !parserImports.error) { - parserImports.error = e; - } - - callback(e, root, importedPreviously, fullPath); - }; - - if (less.Parser.importer) { - less.Parser.importer(path, currentFileInfo, fileParsedFunc, env); - } else { - less.Parser.fileLoader(path, currentFileInfo, function (e, contents, fullPath, newFileInfo) { - if (e) { - fileParsedFunc(e); - return; - } - - var newEnv = new tree.parseEnv(env); - - newEnv.currentFileInfo = newFileInfo; - newEnv.processImports = false; - newEnv.contents[fullPath] = contents; - - if (currentFileInfo.reference || importOptions.reference) { - newFileInfo.reference = true; - } - - if (importOptions.inline) { - fileParsedFunc(null, contents, fullPath); - } else { - new (less.Parser)(newEnv).parse(contents, function (e, root) { - fileParsedFunc(e, root, fullPath); - }); - } - }, env); - } - } - }; - - function save() { - currentPos = i; - saveStack.push({current: current, i: i, j: j}); - } - - function restore() { - var state = saveStack.pop(); - current = state.current; - currentPos = i = state.i; - j = state.j; - } - - function forget() { - saveStack.pop(); - } - - function sync() { - if (i > currentPos) { - current = current.slice(i - currentPos); - currentPos = i; - } - } - - function isWhitespace(str, pos) { - var code = str.charCodeAt(pos | 0); - return (code <= 32) && (code === 32 || code === 10 || code === 9); - } - - // - // Parse from a token, regexp or string, and move forward if match - // - function $(tok) { - var tokType = typeof tok, - match, length; - - // Either match a single character in the input, - // or match a regexp in the current chunk (`current`). - // - if (tokType === "string") { - if (input.charAt(i) !== tok) { - return null; - } - skipWhitespace(1); - return tok; - } - - // regexp - sync(); - if (!(match = tok.exec(current))) { - return null; - } - - length = match[0].length; - - // The match is confirmed, add the match length to `i`, - // and consume any extra white-space characters (' ' || '\n') - // which come after that. The reason for this is that LeSS's - // grammar is mostly white-space insensitive. - // - skipWhitespace(length); - - if (typeof(match) === 'string') { - return match; - } else { - return match.length === 1 ? match[0] : match; - } - } - - // Specialization of $(tok) - function $re(tok) { - if (i > currentPos) { - current = current.slice(i - currentPos); - currentPos = i; - } - var m = tok.exec(current); - if (!m) { - return null; - } - - skipWhitespace(m[0].length); - if (typeof m === "string") { - return m; - } - - return m.length === 1 ? m[0] : m; - } - - var _$re = $re; - - // Specialization of $(tok) - function $char(tok) { - if (input.charAt(i) !== tok) { - return null; - } - skipWhitespace(1); - return tok; - } - - function skipWhitespace(length) { - var oldi = i, oldj = j, - curr = i - currentPos, - endIndex = i + current.length - curr, - mem = (i += length), - inp = input, - c; - - for (; i < endIndex; i++) { - c = inp.charCodeAt(i); - if (c > 32) { - break; - } - - if ((c !== 32) && (c !== 10) && (c !== 9) && (c !== 13)) { - break; - } - } - - current = current.slice(length + i - mem + curr); - currentPos = i; - - if (!current.length && (j < chunks.length - 1)) { - current = chunks[++j]; - skipWhitespace(0); // skip space at the beginning of a chunk - return true; // things changed - } - - return oldi !== i || oldj !== j; - } - - function expect(arg, msg, index) { - // some older browsers return typeof 'function' for RegExp - var result = (Object.prototype.toString.call(arg) === '[object Function]') ? arg.call(parsers) : $(arg); - if (result) { - return result; - } - error(msg || (typeof(arg) === 'string' ? "expected '" + arg + "' got '" + input.charAt(i) + "'" - : "unexpected token")); - } - - // Specialization of expect() - function expectChar(arg, msg) { - if (input.charAt(i) === arg) { - skipWhitespace(1); - return arg; - } - error(msg || "expected '" + arg + "' got '" + input.charAt(i) + "'"); - } - - function error(msg, type) { - var e = new Error(msg); - e.index = i; - e.type = type || 'Syntax'; - throw e; - } - - // Same as $(), but don't change the state of the parser, - // just return the match. - function peek(tok) { - if (typeof(tok) === 'string') { - return input.charAt(i) === tok; - } else { - return tok.test(current); - } - } - - // Specialization of peek() - function peekChar(tok) { - return input.charAt(i) === tok; - } - - - function getInput(e, env) { - if (e.filename && env.currentFileInfo.filename && (e.filename !== env.currentFileInfo.filename)) { - return parser.imports.contents[e.filename]; - } else { - return input; - } - } - - function getLocation(index, inputStream) { - var n = index + 1, - line = null, - column = -1; - - while (--n >= 0 && inputStream.charAt(n) !== '\n') { - column++; - } - - if (typeof index === 'number') { - line = (inputStream.slice(0, index).match(/\n/g) || "").length; - } - - return { - line: line, - column: column - }; - } - - function getDebugInfo(index, inputStream, env) { - var filename = env.currentFileInfo.filename; - if (less.mode !== 'browser' && less.mode !== 'rhino') { - filename = require('path').resolve(filename); - } - - return { - lineNumber: getLocation(index, inputStream).line + 1, - fileName: filename - }; - } - - function LessError(e, env) { - var input = getInput(e, env), - loc = getLocation(e.index, input), - line = loc.line, - col = loc.column, - callLine = e.call && getLocation(e.call, input).line, - lines = input.split('\n'); - - this.type = e.type || 'Syntax'; - this.message = e.message; - this.filename = e.filename || env.currentFileInfo.filename; - this.index = e.index; - this.line = typeof(line) === 'number' ? line + 1 : null; - this.callLine = callLine + 1; - this.callExtract = lines[callLine]; - this.stack = e.stack; - this.column = col; - this.extract = [ - lines[line - 1], - lines[line], - lines[line + 1] - ]; - } - - LessError.prototype = new Error(); - LessError.prototype.constructor = LessError; - - this.env = env = env || {}; - - // The optimization level dictates the thoroughness of the parser, - // the lower the number, the less nodes it will create in the tree. - // This could matter for debugging, or if you want to access - // the individual nodes in the tree. - this.optimization = ('optimization' in this.env) ? this.env.optimization : 1; - - // - // The Parser - // - parser = { - - imports: imports, - // - // Parse an input string into an abstract syntax tree, - // @param str A string containing 'less' markup - // @param callback call `callback` when done. - // @param [additionalData] An optional map which can contains vars - a map (key, value) of variables to apply - // - parse: function (str, callback, additionalData) { - var root, line, lines, error = null, globalVars, modifyVars, preText = ""; - - i = j = currentPos = furthest = 0; - - globalVars = (additionalData && additionalData.globalVars) ? less.Parser.serializeVars(additionalData.globalVars) + '\n' : ''; - modifyVars = (additionalData && additionalData.modifyVars) ? '\n' + less.Parser.serializeVars(additionalData.modifyVars) : ''; - - if (globalVars || (additionalData && additionalData.banner)) { - preText = ((additionalData && additionalData.banner) ? additionalData.banner : "") + globalVars; - parser.imports.contentsIgnoredChars[env.currentFileInfo.filename] = preText.length; - } - - str = str.replace(/\r\n/g, '\n'); - // Remove potential UTF Byte Order Mark - input = str = preText + str.replace(/^\uFEFF/, '') + modifyVars; - parser.imports.contents[env.currentFileInfo.filename] = str; - - // Split the input into chunks. - chunks = (function (input) { - var len = input.length, level = 0, parenLevel = 0, - lastOpening, lastOpeningParen, lastMultiComment, lastMultiCommentEndBrace, - chunks = [], emitFrom = 0, - parserCurrentIndex, currentChunkStartIndex, cc, cc2, matched; - - function fail(msg, index) { - error = new (LessError)({ - index: index || parserCurrentIndex, - type: 'Parse', - message: msg, - filename: env.currentFileInfo.filename - }, env); - } - - function emitChunk(force) { - var len = parserCurrentIndex - emitFrom; - if (((len < 512) && !force) || !len) { - return; - } - chunks.push(input.slice(emitFrom, parserCurrentIndex + 1)); - emitFrom = parserCurrentIndex + 1; - } - - for (parserCurrentIndex = 0; parserCurrentIndex < len; parserCurrentIndex++) { - cc = input.charCodeAt(parserCurrentIndex); - if (((cc >= 97) && (cc <= 122)) || (cc < 34)) { - // a-z or whitespace - continue; - } - - switch (cc) { - case 40: // ( - parenLevel++; - lastOpeningParen = parserCurrentIndex; - continue; - case 41: // ) - if (--parenLevel < 0) { - return fail("missing opening `(`"); - } - continue; - case 59: // ; - if (!parenLevel) { - emitChunk(); - } - continue; - case 123: // { - level++; - lastOpening = parserCurrentIndex; - continue; - case 125: // } - if (--level < 0) { - return fail("missing opening `{`"); - } - if (!level && !parenLevel) { - emitChunk(); - } - continue; - case 92: // \ - if (parserCurrentIndex < len - 1) { - parserCurrentIndex++; - continue; - } - return fail("unescaped `\\`"); - case 34: - case 39: - case 96: // ", ' and ` - matched = 0; - currentChunkStartIndex = parserCurrentIndex; - for (parserCurrentIndex = parserCurrentIndex + 1; parserCurrentIndex < len; parserCurrentIndex++) { - cc2 = input.charCodeAt(parserCurrentIndex); - if (cc2 > 96) { - continue; - } - if (cc2 == cc) { - matched = 1; - break; - } - if (cc2 == 92) { // \ - if (parserCurrentIndex == len - 1) { - return fail("unescaped `\\`"); - } - parserCurrentIndex++; - } - } - if (matched) { - continue; - } - return fail("unmatched `" + String.fromCharCode(cc) + "`", currentChunkStartIndex); - case 47: // /, check for comment - if (parenLevel || (parserCurrentIndex == len - 1)) { - continue; - } - cc2 = input.charCodeAt(parserCurrentIndex + 1); - if (cc2 == 47) { - // //, find lnfeed - for (parserCurrentIndex = parserCurrentIndex + 2; parserCurrentIndex < len; parserCurrentIndex++) { - cc2 = input.charCodeAt(parserCurrentIndex); - if ((cc2 <= 13) && ((cc2 == 10) || (cc2 == 13))) { - break; - } - } - } else if (cc2 == 42) { - // /*, find */ - lastMultiComment = currentChunkStartIndex = parserCurrentIndex; - for (parserCurrentIndex = parserCurrentIndex + 2; parserCurrentIndex < len - 1; parserCurrentIndex++) { - cc2 = input.charCodeAt(parserCurrentIndex); - if (cc2 == 125) { - lastMultiCommentEndBrace = parserCurrentIndex; - } - if (cc2 != 42) { - continue; - } - if (input.charCodeAt(parserCurrentIndex + 1) == 47) { - break; - } - } - if (parserCurrentIndex == len - 1) { - return fail("missing closing `*/`", currentChunkStartIndex); - } - parserCurrentIndex++; - } - continue; - case 42: // *, check for unmatched */ - if ((parserCurrentIndex < len - 1) && (input.charCodeAt(parserCurrentIndex + 1) == 47)) { - return fail("unmatched `/*`"); - } - continue; - } - } - - if (level !== 0) { - if ((lastMultiComment > lastOpening) && (lastMultiCommentEndBrace > lastMultiComment)) { - return fail("missing closing `}` or `*/`", lastOpening); - } else { - return fail("missing closing `}`", lastOpening); - } - } else if (parenLevel !== 0) { - return fail("missing closing `)`", lastOpeningParen); - } - - emitChunk(true); - return chunks; - })(str); - - if (error) { - return callback(new (LessError)(error, env)); - } - - current = chunks[0]; - - // Start with the primary rule. - // The whole syntax tree is held under a Ruleset node, - // with the `root` property set to true, so no `{}` are - // output. The callback is called when the input is parsed. - try { - root = new (tree.Ruleset)(null, this.parsers.primary()); - root.root = true; - root.firstRoot = true; - } catch (e) { - return callback(new (LessError)(e, env)); - } - - root.toCSS = (function (evaluate) { - return function (options, variables) { - options = options || {}; - var evaldRoot, - css, - evalEnv = new tree.evalEnv(options); - - // - // Allows setting variables with a hash, so: - // - // `{ color: new(tree.Color)('#f01') }` will become: - // - // new(tree.Rule)('@color', - // new(tree.Value)([ - // new(tree.Expression)([ - // new(tree.Color)('#f01') - // ]) - // ]) - // ) - // - if (typeof(variables) === 'object' && !Array.isArray(variables)) { - variables = Object.keys(variables).map(function (k) { - var value = variables[k]; - - if (!(value instanceof tree.Value)) { - if (!(value instanceof tree.Expression)) { - value = new (tree.Expression)([value]); - } - value = new (tree.Value)([value]); - } - return new (tree.Rule)('@' + k, value, false, null, 0); - }); - evalEnv.frames = [new (tree.Ruleset)(null, variables)]; - } - - try { - var preEvalVisitors = [], - visitors = [ - new (tree.joinSelectorVisitor)(), - new (tree.processExtendsVisitor)(), - new (tree.toCSSVisitor)({compress: Boolean(options.compress)}) - ], i, root = this; - - if (options.plugins) { - for (i = 0; i < options.plugins.length; i++) { - if (options.plugins[i].isPreEvalVisitor) { - preEvalVisitors.push(options.plugins[i]); - } else { - if (options.plugins[i].isPreVisitor) { - visitors.splice(0, 0, options.plugins[i]); - } else { - visitors.push(options.plugins[i]); - } - } - } - } - - for (i = 0; i < preEvalVisitors.length; i++) { - preEvalVisitors[i].run(root); - } - - evaldRoot = evaluate.call(root, evalEnv); - - for (i = 0; i < visitors.length; i++) { - visitors[i].run(evaldRoot); - } - - if (options.sourceMap) { - evaldRoot = new tree.sourceMapOutput( - { - contentsIgnoredCharsMap: parser.imports.contentsIgnoredChars, - writeSourceMap: options.writeSourceMap, - rootNode: evaldRoot, - contentsMap: parser.imports.contents, - sourceMapFilename: options.sourceMapFilename, - sourceMapURL: options.sourceMapURL, - outputFilename: options.sourceMapOutputFilename, - sourceMapBasepath: options.sourceMapBasepath, - sourceMapRootpath: options.sourceMapRootpath, - outputSourceFiles: options.outputSourceFiles, - sourceMapGenerator: options.sourceMapGenerator - }); - } - - css = evaldRoot.toCSS({ - compress: Boolean(options.compress), - dumpLineNumbers: env.dumpLineNumbers, - strictUnits: Boolean(options.strictUnits), - numPrecision: 8 - }); - } catch (e) { - throw new (LessError)(e, env); - } - - if (options.cleancss && less.mode === 'node') { - var CleanCSS = require('clean-css'), - cleancssOptions = options.cleancssOptions || {}; - - if (cleancssOptions.keepSpecialComments === undefined) { - cleancssOptions.keepSpecialComments = "*"; - } - cleancssOptions.processImport = false; - cleancssOptions.noRebase = true; - if (cleancssOptions.noAdvanced === undefined) { - cleancssOptions.noAdvanced = true; - } - - return new CleanCSS(cleancssOptions).minify(css); - } else if (options.compress) { - return css.replace(/(^(\s)+)|((\s)+$)/g, ""); - } else { - return css; - } - }; - })(root.eval); - - // If `i` is smaller than the `input.length - 1`, - // it means the parser wasn't able to parse the whole - // string, so we've got a parsing error. - // - // We try to extract a \n delimited string, - // showing the line where the parse error occured. - // We split it up into two parts (the part which parsed, - // and the part which didn't), so we can color them differently. - if (i < input.length - 1) { - i = furthest; - var loc = getLocation(i, input); - lines = input.split('\n'); - line = loc.line + 1; - - error = { - type: "Parse", - message: "Unrecognised input", - index: i, - filename: env.currentFileInfo.filename, - line: line, - column: loc.column, - extract: [ - lines[line - 2], - lines[line - 1], - lines[line] - ] - }; - } - - var finish = function (e) { - e = error || e || parser.imports.error; - - if (e) { - if (!(e instanceof LessError)) { - e = new (LessError)(e, env); - } - - return callback(e); - } - else { - return callback(null, root); - } - }; - - if (env.processImports !== false) { - new tree.importVisitor(this.imports, finish) - .run(root); - } else { - return finish(); - } - }, - - // - // Here in, the parsing rules/functions - // - // The basic structure of the syntax tree generated is as follows: - // - // Ruleset -> Rule -> Value -> Expression -> Entity - // - // Here's some Less code: - // - // .class { - // color: #fff; - // border: 1px solid #000; - // width: @w + 4px; - // > .child {...} - // } - // - // And here's what the parse tree might look like: - // - // Ruleset (Selector '.class', [ - // Rule ("color", Value ([Expression [Color #fff]])) - // Rule ("border", Value ([Expression [Dimension 1px][Keyword "solid"][Color #000]])) - // Rule ("width", Value ([Expression [Operation "+" [Variable "@w"][Dimension 4px]]])) - // Ruleset (Selector [Element '>', '.child'], [...]) - // ]) - // - // In general, most rules will try to parse a token with the `$()` function, and if the return - // value is truly, will return a new node, of the relevant type. Sometimes, we need to check - // first, before parsing, that's when we use `peek()`. - // - parsers: parsers = { - // - // The `primary` rule is the *entry* and *exit* point of the parser. - // The rules here can appear at any level of the parse tree. - // - // The recursive nature of the grammar is an interplay between the `block` - // rule, which represents `{ ... }`, the `ruleset` rule, and this `primary` rule, - // as represented by this simplified grammar: - // - // primary → (ruleset | rule)+ - // ruleset → selector+ block - // block → '{' primary '}' - // - // Only at one point is the primary rule not called from the - // block rule: at the root level. - // - primary: function () { - var mixin = this.mixin, $re = _$re, root = [], node; - - while (current) { - node = this.extendRule() || mixin.definition() || this.rule() || this.ruleset() || - mixin.call() || this.comment() || this.rulesetCall() || this.directive(); - if (node) { - root.push(node); - } else { - if (!($re(/^[\s\n]+/) || $re(/^;+/))) { - break; - } - } - if (peekChar('}')) { - break; - } - } - - return root; - }, - - // We create a Comment node for CSS comments `/* */`, - // but keep the LeSS comments `//` silent, by just skipping - // over them. - comment: function () { - var comment; - - if (input.charAt(i) !== '/') { - return; - } - - if (input.charAt(i + 1) === '/') { - return new (tree.Comment)($re(/^\/\/.*/), true, i, env.currentFileInfo); - } - comment = $re(/^\/\*(?:[^*]|\*+[^\/*])*\*+\/\n?/); - if (comment) { - return new (tree.Comment)(comment, false, i, env.currentFileInfo); - } - }, - - comments: function () { - var comment, comments = []; - - while (true) { - comment = this.comment(); - if (!comment) { - break; - } - comments.push(comment); - } - - return comments; - }, - - // - // Entities are tokens which can be found inside an Expression - // - entities: { - // - // A string, which supports escaping " and ' - // - // "milky way" 'he\'s the one!' - // - quoted: function () { - var str, j = i, e, index = i; - - if (input.charAt(j) === '~') { - j++; - e = true; - } // Escaped strings - if (input.charAt(j) !== '"' && input.charAt(j) !== "'") { - return; - } - - if (e) { - $char('~'); - } - - str = $re(/^"((?:[^"\\\r\n]|\\.)*)"|'((?:[^'\\\r\n]|\\.)*)'/); - if (str) { - return new (tree.Quoted)(str[0], str[1] || str[2], e, index, env.currentFileInfo); - } - }, - - // - // A catch-all word, such as: - // - // black border-collapse - // - keyword: function () { - var k; - - k = $re(/^%|^[_A-Za-z-][_A-Za-z0-9-]*/); - if (k) { - var color = tree.Color.fromKeyword(k); - if (color) { - return color; - } - return new (tree.Keyword)(k); - } - }, - - // - // A function call - // - // rgb(255, 0, 255) - // - // We also try to catch IE's `alpha()`, but let the `alpha` parser - // deal with the details. - // - // The arguments are parsed with the `entities.arguments` parser. - // - call: function () { - var name, nameLC, args, alpha_ret, index = i; - - name = /^([\w-]+|%|progid:[\w\.]+)\(/.exec(current); - if (!name) { - return; - } - - name = name[1]; - nameLC = name.toLowerCase(); - if (nameLC === 'url') { - return null; - } - - i += name.length; - - if (nameLC === 'alpha') { - alpha_ret = parsers.alpha(); - if (typeof alpha_ret !== 'undefined') { - return alpha_ret; - } - } - - $char('('); // Parse the '(' and consume whitespace. - - args = this.arguments(); - - if (!$char(')')) { - return; - } - - if (name) { - return new (tree.Call)(name, args, index, env.currentFileInfo); - } - }, - arguments: function () { - var args = [], arg; - - while (true) { - arg = this.assignment() || parsers.expression(); - if (!arg) { - break; - } - args.push(arg); - if (!$char(',')) { - break; - } - } - return args; - }, - literal: function () { - return this.dimension() || - this.color() || - this.quoted() || - this.unicodeDescriptor(); - }, - - // Assignments are argument entities for calls. - // They are present in ie filter properties as shown below. - // - // filter: progid:DXImageTransform.Microsoft.Alpha( *opacity=50* ) - // - - assignment: function () { - var key, value; - key = $re(/^\w+(?=\s?=)/i); - if (!key) { - return; - } - if (!$char('=')) { - return; - } - value = parsers.entity(); - if (value) { - return new (tree.Assignment)(key, value); - } - }, - - // - // Parse url() tokens - // - // We use a specific rule for urls, because they don't really behave like - // standard function calls. The difference is that the argument doesn't have - // to be enclosed within a string, so it can't be parsed as an Expression. - // - url: function () { - var value; - - if (input.charAt(i) !== 'u' || !$re(/^url\(/)) { - return; - } - - value = this.quoted() || this.variable() || - $re(/^(?:(?:\\[\(\)'"])|[^\(\)'"])+/) || ""; - - expectChar(')'); - - return new (tree.URL)((value.value != null || value instanceof tree.Variable) - ? value : new (tree.Anonymous)(value), env.currentFileInfo); - }, - - // - // A Variable entity, such as `@fink`, in - // - // width: @fink + 2px - // - // We use a different parser for variable definitions, - // see `parsers.variable`. - // - variable: function () { - var name, index = i; - - if (input.charAt(i) === '@' && (name = $re(/^@@?[\w-]+/))) { - return new (tree.Variable)(name, index, env.currentFileInfo); - } - }, - - // A variable entity useing the protective {} e.g. @{var} - variableCurly: function () { - var curly, index = i; - - if (input.charAt(i) === '@' && (curly = $re(/^@\{([\w-]+)\}/))) { - return new (tree.Variable)("@" + curly[1], index, env.currentFileInfo); - } - }, - - // - // A Hexadecimal color - // - // #4F3C2F - // - // `rgb` and `hsl` colors are parsed through the `entities.call` parser. - // - color: function () { - var rgb; - - if (input.charAt(i) === '#' && (rgb = $re(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/))) { - var colorCandidateString = rgb.input.match(/^#([\w]+).*/); // strip colons, brackets, whitespaces and other characters that should not definitely be part of color string - colorCandidateString = colorCandidateString[1]; - if (!colorCandidateString.match(/^[A-Fa-f0-9]+$/)) { // verify if candidate consists only of allowed HEX characters - error("Invalid HEX color code"); - } - return new (tree.Color)(rgb[1]); - } - }, - - // - // A Dimension, that is, a number and a unit - // - // 0.5em 95% - // - dimension: function () { - var value, c = input.charCodeAt(i); - //Is the first char of the dimension 0-9, '.', '+' or '-' - if ((c > 57 || c < 43) || c === 47 || c == 44) { - return; - } - - value = $re(/^([+-]?\d*\.?\d+)(%|[a-z]+)?/); - if (value) { - return new (tree.Dimension)(value[1], value[2]); - } - }, - - // - // A unicode descriptor, as is used in unicode-range - // - // U+0?? or U+00A1-00A9 - // - unicodeDescriptor: function () { - var ud; - - ud = $re(/^U\+[0-9a-fA-F?]+(\-[0-9a-fA-F?]+)?/); - if (ud) { - return new (tree.UnicodeDescriptor)(ud[0]); - } - }, - - // - // JavaScript code to be evaluated - // - // `window.location.href` - // - javascript: function () { - var str, j = i, e; - - if (input.charAt(j) === '~') { - j++; - e = true; - } // Escaped strings - if (input.charAt(j) !== '`') { - return; - } - if (env.javascriptEnabled !== undefined && !env.javascriptEnabled) { - error("You are using JavaScript, which has been disabled."); - } - - if (e) { - $char('~'); - } - - str = $re(/^`([^`]*)`/); - if (str) { - return new (tree.JavaScript)(str[1], i, e); - } - } - }, - - // - // The variable part of a variable definition. Used in the `rule` parser - // - // @fink: - // - variable: function () { - var name; - - if (input.charAt(i) === '@' && (name = $re(/^(@[\w-]+)\s*:/))) { - return name[1]; - } - }, - - // - // The variable part of a variable definition. Used in the `rule` parser - // - // @fink(); - // - rulesetCall: function () { - var name; - - if (input.charAt(i) === '@' && (name = $re(/^(@[\w-]+)\s*\(\s*\)\s*;/))) { - return new tree.RulesetCall(name[1]); - } - }, - - // - // extend syntax - used to extend selectors - // - extend: function (isRule) { - var elements, e, index = i, option, extendList, extend; - - if (!(isRule ? $re(/^&:extend\(/) : $re(/^:extend\(/))) { - return; - } - - do { - option = null; - elements = null; - while (!(option = $re(/^(all)(?=\s*(\)|,))/))) { - e = this.element(); - if (!e) { - break; - } - if (elements) { - elements.push(e); - } else { - elements = [e]; - } - } - - option = option && option[1]; - if (!elements) - error("Missing target selector for :extend()."); - extend = new (tree.Extend)(new (tree.Selector)(elements), option, index); - if (extendList) { - extendList.push(extend); - } else { - extendList = [extend]; - } - - } while ($char(",")); - - expect(/^\)/); - - if (isRule) { - expect(/^;/); - } - - return extendList; - }, - - // - // extendRule - used in a rule to extend all the parent selectors - // - extendRule: function () { - return this.extend(true); - }, - - // - // Mixins - // - mixin: { - // - // A Mixin call, with an optional argument list - // - // #mixins > .square(#fff); - // .rounded(4px, black); - // .button; - // - // The `while` loop is there because mixins can be - // namespaced, but we only support the child and descendant - // selector for now. - // - call: function () { - var s = input.charAt(i), important = false, index = i, elemIndex, - elements, elem, e, c, args; - - if (s !== '.' && s !== '#') { - return; - } - - save(); // stop us absorbing part of an invalid selector - - while (true) { - elemIndex = i; - e = $re(/^[#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/); - if (!e) { - break; - } - elem = new (tree.Element)(c, e, elemIndex, env.currentFileInfo); - if (elements) { - elements.push(elem); - } else { - elements = [elem]; - } - c = $char('>'); - } - - if (elements) { - if ($char('(')) { - args = this.args(true).args; - expectChar(')'); - } - - if (parsers.important()) { - important = true; - } - - if (parsers.end()) { - forget(); - return new (tree.mixin.Call)(elements, args, index, env.currentFileInfo, important); - } - } - - restore(); - }, - args: function (isCall) { - var parsers = parser.parsers, entities = parsers.entities, - returner = {args: null, variadic: false}, - expressions = [], argsSemiColon = [], argsComma = [], - isSemiColonSeperated, expressionContainsNamed, name, nameLoop, value, arg; - - save(); - - while (true) { - if (isCall) { - arg = parsers.detachedRuleset() || parsers.expression(); - } else { - parsers.comments(); - if (input.charAt(i) === '.' && $re(/^\.{3}/)) { - returner.variadic = true; - if ($char(";") && !isSemiColonSeperated) { - isSemiColonSeperated = true; - } - (isSemiColonSeperated ? argsSemiColon : argsComma) - .push({variadic: true}); - break; - } - arg = entities.variable() || entities.literal() || entities.keyword(); - } - - if (!arg) { - break; - } - - nameLoop = null; - if (arg.throwAwayComments) { - arg.throwAwayComments(); - } - value = arg; - var val = null; - - if (isCall) { - // Variable - if (arg.value && arg.value.length == 1) { - val = arg.value[0]; - } - } else { - val = arg; - } - - if (val && val instanceof tree.Variable) { - if ($char(':')) { - if (expressions.length > 0) { - if (isSemiColonSeperated) { - error("Cannot mix ; and , as delimiter types"); - } - expressionContainsNamed = true; - } - - // we do not support setting a ruleset as a default variable - it doesn't make sense - // However if we do want to add it, there is nothing blocking it, just don't error - // and remove isCall dependency below - value = (isCall && parsers.detachedRuleset()) || parsers.expression(); - - if (!value) { - if (isCall) { - error("could not understand value for named argument"); - } else { - restore(); - returner.args = []; - return returner; - } - } - nameLoop = (name = val.name); - } else if (!isCall && $re(/^\.{3}/)) { - returner.variadic = true; - if ($char(";") && !isSemiColonSeperated) { - isSemiColonSeperated = true; - } - (isSemiColonSeperated ? argsSemiColon : argsComma) - .push({name: arg.name, variadic: true}); - break; - } else if (!isCall) { - name = nameLoop = val.name; - value = null; - } - } - - if (value) { - expressions.push(value); - } - - argsComma.push({name: nameLoop, value: value}); - - if ($char(',')) { - continue; - } - - if ($char(';') || isSemiColonSeperated) { - - if (expressionContainsNamed) { - error("Cannot mix ; and , as delimiter types"); - } - - isSemiColonSeperated = true; - - if (expressions.length > 1) { - value = new (tree.Value)(expressions); - } - argsSemiColon.push({name: name, value: value}); - - name = null; - expressions = []; - expressionContainsNamed = false; - } - } - - forget(); - returner.args = isSemiColonSeperated ? argsSemiColon : argsComma; - return returner; - }, - // - // A Mixin definition, with a list of parameters - // - // .rounded (@radius: 2px, @color) { - // ... - // } - // - // Until we have a finer grained state-machine, we have to - // do a look-ahead, to make sure we don't have a mixin call. - // See the `rule` function for more information. - // - // We start by matching `.rounded (`, and then proceed on to - // the argument list, which has optional default values. - // We store the parameters in `params`, with a `value` key, - // if there is a value, such as in the case of `@radius`. - // - // Once we've got our params list, and a closing `)`, we parse - // the `{...}` block. - // - definition: function () { - var name, params = [], match, ruleset, cond, variadic = false; - if ((input.charAt(i) !== '.' && input.charAt(i) !== '#') || - peek(/^[^{]*\}/)) { - return; - } - - save(); - - match = $re(/^([#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+)\s*\(/); - if (match) { - name = match[1]; - - var argInfo = this.args(false); - params = argInfo.args; - variadic = argInfo.variadic; - - // .mixincall("@{a}"); - // looks a bit like a mixin definition.. - // also - // .mixincall(@a: {rule: set;}); - // so we have to be nice and restore - if (!$char(')')) { - furthest = i; - restore(); - return; - } - - parsers.comments(); - - if ($re(/^when/)) { // Guard - cond = expect(parsers.conditions, 'expected condition'); - } - - ruleset = parsers.block(); - - if (ruleset) { - forget(); - return new (tree.mixin.Definition)(name, params, ruleset, cond, variadic); - } else { - restore(); - } - } else { - forget(); - } - } - }, - - // - // Entities are the smallest recognized token, - // and can be found inside a rule's value. - // - entity: function () { - var entities = this.entities; - - return entities.literal() || entities.variable() || entities.url() || - entities.call() || entities.keyword() || entities.javascript() || - this.comment(); - }, - - // - // A Rule terminator. Note that we use `peek()` to check for '}', - // because the `block` rule will be expecting it, but we still need to make sure - // it's there, if ';' was ommitted. - // - end: function () { - return $char(';') || peekChar('}'); - }, - - // - // IE's alpha function - // - // alpha(opacity=88) - // - alpha: function () { - var value; - - if (!$re(/^\(opacity=/i)) { - return; - } - value = $re(/^\d+/) || this.entities.variable(); - if (value) { - expectChar(')'); - return new (tree.Alpha)(value); - } - }, - - // - // A Selector Element - // - // div - // + h1 - // #socks - // input[type="text"] - // - // Elements are the building blocks for Selectors, - // they are made out of a `Combinator` (see combinator rule), - // and an element name, such as a tag a class, or `*`. - // - element: function () { - var e, c, v, index = i; - - c = this.combinator(); - - e = $re(/^(?:\d+\.\d+|\d+)%/) || $re(/^(?:[.#]?|:*)(?:[\w-]|[^\x00-\x9f]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/) || - $char('*') || $char('&') || this.attribute() || $re(/^\([^()@]+\)/) || $re(/^[\.#](?=@)/) || - this.entities.variableCurly(); - - if (!e) { - save(); - if ($char('(')) { - if ((v = this.selector()) && $char(')')) { - e = new (tree.Paren)(v); - forget(); - } else { - restore(); - } - } else { - forget(); - } - } - - if (e) { - return new (tree.Element)(c, e, index, env.currentFileInfo); - } - }, - - // - // Combinators combine elements together, in a Selector. - // - // Because our parser isn't white-space sensitive, special care - // has to be taken, when parsing the descendant combinator, ` `, - // as it's an empty space. We have to check the previous character - // in the input, to see if it's a ` ` character. More info on how - // we deal with this in *combinator.js*. - // - combinator: function () { - var c = input.charAt(i); - - if (c === '/') { - save(); - var slashedCombinator = $re(/^\/[a-z]+\//i); - if (slashedCombinator) { - forget(); - return new (tree.Combinator)(slashedCombinator); - } - restore(); - } - - if (c === '>' || c === '+' || c === '~' || c === '|' || c === '^') { - i++; - if (c === '^' && input.charAt(i) === '^') { - c = '^^'; - i++; - } - while (isWhitespace(input, i)) { - i++; - } - return new (tree.Combinator)(c); - } else if (isWhitespace(input, i - 1)) { - return new (tree.Combinator)(" "); - } else { - return new (tree.Combinator)(null); - } - }, - // - // A CSS selector (see selector below) - // with less extensions e.g. the ability to extend and guard - // - lessSelector: function () { - return this.selector(true); - }, - // - // A CSS Selector - // - // .class > div + h1 - // li a:hover - // - // Selectors are made out of one or more Elements, see above. - // - selector: function (isLess) { - var index = i, $re = _$re, elements, extendList, c, e, extend, when, condition; - - while ((isLess && (extend = this.extend())) || (isLess && (when = $re(/^when/))) || (e = this.element())) { - if (when) { - condition = expect(this.conditions, 'expected condition'); - } else if (condition) { - error("CSS guard can only be used at the end of selector"); - } else if (extend) { - if (extendList) { - extendList.push(extend); - } else { - extendList = [extend]; - } - } else { - if (extendList) { - error("Extend can only be used at the end of selector"); - } - c = input.charAt(i); - if (elements) { - elements.push(e); - } else { - elements = [e]; - } - e = null; - } - if (c === '{' || c === '}' || c === ';' || c === ',' || c === ')') { - break; - } - } - - if (elements) { - return new (tree.Selector)(elements, extendList, condition, index, env.currentFileInfo); - } - if (extendList) { - error("Extend must be used to extend a selector, it cannot be used on its own"); - } - }, - attribute: function () { - if (!$char('[')) { - return; - } - - var entities = this.entities, - key, val, op; - - if (!(key = entities.variableCurly())) { - key = expect(/^(?:[_A-Za-z0-9-\*]*\|)?(?:[_A-Za-z0-9-]|\\.)+/); - } - - op = $re(/^[|~*$^]?=/); - if (op) { - val = entities.quoted() || $re(/^[0-9]+%/) || $re(/^[\w-]+/) || entities.variableCurly(); - } - - expectChar(']'); - - return new (tree.Attribute)(key, op, val); - }, - - // - // The `block` rule is used by `ruleset` and `mixin.definition`. - // It's a wrapper around the `primary` rule, with added `{}`. - // - block: function () { - var content; - if ($char('{') && (content = this.primary()) && $char('}')) { - return content; - } - }, - - blockRuleset: function () { - var block = this.block(); - - if (block) { - block = new tree.Ruleset(null, block); - } - return block; - }, - - detachedRuleset: function () { - var blockRuleset = this.blockRuleset(); - if (blockRuleset) { - return new tree.DetachedRuleset(blockRuleset); - } - }, - - // - // div, .class, body > p {...} - // - ruleset: function () { - var selectors, s, rules, debugInfo; - - save(); - - if (env.dumpLineNumbers) { - debugInfo = getDebugInfo(i, input, env); - } - - while (true) { - s = this.lessSelector(); - if (!s) { - break; - } - if (selectors) { - selectors.push(s); - } else { - selectors = [s]; - } - this.comments(); - if (s.condition && selectors.length > 1) { - error("Guards are only currently allowed on a single selector."); - } - if (!$char(',')) { - break; - } - if (s.condition) { - error("Guards are only currently allowed on a single selector."); - } - this.comments(); - } - - if (selectors && (rules = this.block())) { - forget(); - var ruleset = new (tree.Ruleset)(selectors, rules, env.strictImports); - if (env.dumpLineNumbers) { - ruleset.debugInfo = debugInfo; - } - return ruleset; - } else { - // Backtrack - furthest = i; - restore(); - } - }, - rule: function (tryAnonymous) { - var name, value, startOfRule = i, c = input.charAt(startOfRule), important, merge, isVariable; - - if (c === '.' || c === '#' || c === '&') { - return; - } - - save(); - - name = this.variable() || this.ruleProperty(); - if (name) { - isVariable = typeof name === "string"; - - if (isVariable) { - value = this.detachedRuleset(); - } - - this.comments(); - if (!value) { - // prefer to try to parse first if its a variable or we are compressing - // but always fallback on the other one - value = !tryAnonymous && (env.compress || isVariable) ? - (this.value() || this.anonymousValue()) : - (this.anonymousValue() || this.value()); - - important = this.important(); - - // a name returned by this.ruleProperty() is always an array of the form: - // [string-1, ..., string-n, ""] or [string-1, ..., string-n, "+"] - // where each item is a tree.Keyword or tree.Variable - merge = !isVariable && name.pop().value; - } - - if (value && this.end()) { - forget(); - return new (tree.Rule)(name, value, important, merge, startOfRule, env.currentFileInfo); - } else { - furthest = i; - restore(); - if (value && !tryAnonymous) { - return this.rule(true); - } - } - } else { - forget(); - } - }, - anonymousValue: function () { - var match; - match = /^([^@+\/'"*`(;{}-]*);/.exec(current); - if (match) { - i += match[0].length - 1; - return new (tree.Anonymous)(match[1]); - } - }, - - // - // An @import directive - // - // @import "lib"; - // - // Depending on our environment, importing is done differently: - // In the browser, it's an XHR request, in Node, it would be a - // file-system operation. The function used for importing is - // stored in `import`, which we pass to the Import constructor. - // - "import": function () { - var path, features, index = i; - - var dir = $re(/^@import?\s+/); - - if (dir) { - var options = (dir ? this.importOptions() : null) || {}; - - if ((path = this.entities.quoted() || this.entities.url())) { - features = this.mediaFeatures(); - - if (!$(';')) { - i = index; - error("missing semi-colon or unrecognised media features on import"); - } - features = features && new (tree.Value)(features); - return new (tree.Import)(path, features, options, index, env.currentFileInfo); - } - else { - i = index; - error("malformed import statement"); - } - } - }, - - importOptions: function () { - var o, options = {}, optionName, value; - - // list of options, surrounded by parens - if (!$char('(')) { - return null; - } - do { - o = this.importOption(); - if (o) { - optionName = o; - value = true; - switch (optionName) { - case "css": - optionName = "less"; - value = false; - break; - case "once": - optionName = "multiple"; - value = false; - break; - } - options[optionName] = value; - if (!$char(',')) { - break; - } - } - } while (o); - expectChar(')'); - return options; - }, - - importOption: function () { - var opt = $re(/^(less|css|multiple|once|inline|reference)/); - if (opt) { - return opt[1]; - } - }, - - mediaFeature: function () { - var entities = this.entities, nodes = [], e, p; - do { - e = entities.keyword() || entities.variable(); - if (e) { - nodes.push(e); - } else if ($char('(')) { - p = this.property(); - e = this.value(); - if ($char(')')) { - if (p && e) { - nodes.push(new (tree.Paren)(new (tree.Rule)(p, e, null, null, i, env.currentFileInfo, true))); - } else if (e) { - nodes.push(new (tree.Paren)(e)); - } else { - return null; - } - } else { - return null; - } - } - } while (e); - - if (nodes.length > 0) { - return new (tree.Expression)(nodes); - } - }, - - mediaFeatures: function () { - var entities = this.entities, features = [], e; - do { - e = this.mediaFeature(); - if (e) { - features.push(e); - if (!$char(',')) { - break; - } - } else { - e = entities.variable(); - if (e) { - features.push(e); - if (!$char(',')) { - break; - } - } - } - } while (e); - - return features.length > 0 ? features : null; - }, - - media: function () { - var features, rules, media, debugInfo; - - if (env.dumpLineNumbers) { - debugInfo = getDebugInfo(i, input, env); - } - - if ($re(/^@media/)) { - features = this.mediaFeatures(); - - rules = this.block(); - if (rules) { - media = new (tree.Media)(rules, features, i, env.currentFileInfo); - if (env.dumpLineNumbers) { - media.debugInfo = debugInfo; - } - return media; - } - } - }, - - // - // A CSS Directive - // - // @charset "utf-8"; - // - directive: function () { - var index = i, name, value, rules, nonVendorSpecificName, - hasIdentifier, hasExpression, hasUnknown, hasBlock = true; - - if (input.charAt(i) !== '@') { - return; - } - - value = this['import']() || this.media(); - if (value) { - return value; - } - - save(); - - name = $re(/^@[a-z-]+/); - - if (!name) { - return; - } - - nonVendorSpecificName = name; - if (name.charAt(1) == '-' && name.indexOf('-', 2) > 0) { - nonVendorSpecificName = "@" + name.slice(name.indexOf('-', 2) + 1); - } - - switch (nonVendorSpecificName) { - /* - case "@font-face": - case "@viewport": - case "@top-left": - case "@top-left-corner": - case "@top-center": - case "@top-right": - case "@top-right-corner": - case "@bottom-left": - case "@bottom-left-corner": - case "@bottom-center": - case "@bottom-right": - case "@bottom-right-corner": - case "@left-top": - case "@left-middle": - case "@left-bottom": - case "@right-top": - case "@right-middle": - case "@right-bottom": - hasBlock = true; - break; - */ - case "@charset": - hasIdentifier = true; - hasBlock = false; - break; - case "@namespace": - hasExpression = true; - hasBlock = false; - break; - case "@keyframes": - hasIdentifier = true; - break; - case "@host": - case "@page": - case "@document": - case "@supports": - hasUnknown = true; - break; - } - - this.comments(); - - if (hasIdentifier) { - value = this.entity(); - if (!value) { - error("expected " + name + " identifier"); - } - } else if (hasExpression) { - value = this.expression(); - if (!value) { - error("expected " + name + " expression"); - } - } else if (hasUnknown) { - value = ($re(/^[^{;]+/) || '').trim(); - if (value) { - value = new (tree.Anonymous)(value); - } - } - - this.comments(); - - if (hasBlock) { - rules = this.blockRuleset(); - } - - if (rules || (!hasBlock && value && $char(';'))) { - forget(); - return new (tree.Directive)(name, value, rules, index, env.currentFileInfo, - env.dumpLineNumbers ? getDebugInfo(index, input, env) : null); - } - - restore(); - }, - - // - // A Value is a comma-delimited list of Expressions - // - // font-family: Baskerville, Georgia, serif; - // - // In a Rule, a Value represents everything after the `:`, - // and before the `;`. - // - value: function () { - var e, expressions = []; - - do { - e = this.expression(); - if (e) { - expressions.push(e); - if (!$char(',')) { - break; - } - } - } while (e); - - if (expressions.length > 0) { - return new (tree.Value)(expressions); - } - }, - important: function () { - if (input.charAt(i) === '!') { - return $re(/^! *important/); - } - }, - sub: function () { - var a, e; - - if ($char('(')) { - a = this.addition(); - if (a) { - e = new (tree.Expression)([a]); - expectChar(')'); - e.parens = true; - return e; - } - } - }, - multiplication: function () { - var m, a, op, operation, isSpaced; - m = this.operand(); - if (m) { - isSpaced = isWhitespace(input, i - 1); - while (true) { - if (peek(/^\/[*\/]/)) { - break; - } - - save(); - - op = $char('/') || $char('*'); - - if (!op) { - forget(); - break; - } - - a = this.operand(); - - if (!a) { - restore(); - break; - } - forget(); - - m.parensInOp = true; - a.parensInOp = true; - operation = new (tree.Operation)(op, [operation || m, a], isSpaced); - isSpaced = isWhitespace(input, i - 1); - } - return operation || m; - } - }, - addition: function () { - var m, a, op, operation, isSpaced; - m = this.multiplication(); - if (m) { - isSpaced = isWhitespace(input, i - 1); - while (true) { - op = $re(/^[-+]\s+/) || (!isSpaced && ($char('+') || $char('-'))); - if (!op) { - break; - } - a = this.multiplication(); - if (!a) { - break; - } - - m.parensInOp = true; - a.parensInOp = true; - operation = new (tree.Operation)(op, [operation || m, a], isSpaced); - isSpaced = isWhitespace(input, i - 1); - } - return operation || m; - } - }, - conditions: function () { - var a, b, index = i, condition; - - a = this.condition(); - if (a) { - while (true) { - if (!peek(/^,\s*(not\s*)?\(/) || !$char(',')) { - break; - } - b = this.condition(); - if (!b) { - break; - } - condition = new (tree.Condition)('or', condition || a, b, index); - } - return condition || a; - } - }, - condition: function () { - var entities = this.entities, index = i, negate = false, - a, b, c, op; - - if ($re(/^not/)) { - negate = true; - } - expectChar('('); - a = this.addition() || entities.keyword() || entities.quoted(); - if (a) { - op = $re(/^(?:>=|<=|=<|[<=>])/); - if (op) { - b = this.addition() || entities.keyword() || entities.quoted(); - if (b) { - c = new (tree.Condition)(op, a, b, index, negate); - } else { - error('expected expression'); - } - } else { - c = new (tree.Condition)('=', a, new (tree.Keyword)('true'), index, negate); - } - expectChar(')'); - return $re(/^and/) ? new (tree.Condition)('and', c, this.condition()) : c; - } - }, - - // - // An operand is anything that can be part of an operation, - // such as a Color, or a Variable - // - operand: function () { - var entities = this.entities, - p = input.charAt(i + 1), negate; - - if (input.charAt(i) === '-' && (p === '@' || p === '(')) { - negate = $char('-'); - } - var o = this.sub() || entities.dimension() || - entities.color() || entities.variable() || - entities.call(); - - if (negate) { - o.parensInOp = true; - o = new (tree.Negative)(o); - } - - return o; - }, - - // - // Expressions either represent mathematical operations, - // or white-space delimited Entities. - // - // 1px solid black - // @var * 2 - // - expression: function () { - var entities = [], e, delim; - - do { - e = this.addition() || this.entity(); - if (e) { - entities.push(e); - // operations do not allow keyword "/" dimension (e.g. small/20px) so we support that here - if (!peek(/^\/[\/*]/)) { - delim = $char('/'); - if (delim) { - entities.push(new (tree.Anonymous)(delim)); - } - } - } - } while (e); - if (entities.length > 0) { - return new (tree.Expression)(entities); - } - }, - property: function () { - var name = $re(/^(\*?-?[_a-zA-Z0-9-]+)\s*:/); - if (name) { - return name[1]; - } - }, - ruleProperty: function () { - var c = current, name = [], index = [], length = 0, s, k; - - function match(re) { - var a = re.exec(c); - if (a) { - index.push(i + length); - length += a[0].length; - c = c.slice(a[1].length); - return name.push(a[1]); - } - } - - function cutOutBlockComments() { - //match block comments - var a = /^\s*\/\*(?:[^*]|\*+[^\/*])*\*+\//.exec(c); - if (a) { - length += a[0].length; - c = c.slice(a[0].length); - return true; - } - return false; - } - - match(/^(\*?)/); - while (match(/^((?:[\w-]+)|(?:@\{[\w-]+\}))/)); // ! - while (cutOutBlockComments()); - if ((name.length > 1) && match(/^\s*((?:\+_|\+)?)\s*:/)) { - // at last, we have the complete match now. move forward, - // convert name particles to tree objects and return: - skipWhitespace(length); - if (name[0] === '') { - name.shift(); - index.shift(); - } - for (k = 0; k < name.length; k++) { - s = name[k]; - name[k] = (s.charAt(0) !== '@') - ? new (tree.Keyword)(s) - : new (tree.Variable)('@' + s.slice(2, -1), - index[k], env.currentFileInfo); - } - return name; - } - } - } - }; - return parser; -}; -less.Parser.serializeVars = function (vars) { - var s = ''; - - for (var name in vars) { - if (Object.hasOwnProperty.call(vars, name)) { - var value = vars[name]; - s += ((name[0] === '@') ? '' : '@') + name + ': ' + value + - ((('' + value).slice(-1) === ';') ? '' : ';'); - } - } - - return s; -}; - -(function (tree) { - - tree.functions = { - rgb: function (r, g, b) { - return this.rgba(r, g, b, 1.0); - }, - rgba: function (r, g, b, a) { - var rgb = [r, g, b].map(function (c) { - return scaled(c, 255); - }); - a = number(a); - return new (tree.Color)(rgb, a); - }, - hsl: function (h, s, l) { - return this.hsla(h, s, l, 1.0); - }, - hsla: function (h, s, l, a) { - function hue(h) { - h = h < 0 ? h + 1 : (h > 1 ? h - 1 : h); - if (h * 6 < 1) { - return m1 + (m2 - m1) * h * 6; - } - else if (h * 2 < 1) { - return m2; - } - else if (h * 3 < 2) { - return m1 + (m2 - m1) * (2 / 3 - h) * 6; - } - else { - return m1; - } - } - - h = (number(h) % 360) / 360; - s = clamp(number(s)); - l = clamp(number(l)); - a = clamp(number(a)); - - var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s; - var m1 = l * 2 - m2; - - return this.rgba(hue(h + 1 / 3) * 255, - hue(h) * 255, - hue(h - 1 / 3) * 255, - a); - }, - - hsv: function (h, s, v) { - return this.hsva(h, s, v, 1.0); - }, - - hsva: function (h, s, v, a) { - h = ((number(h) % 360) / 360) * 360; - s = number(s); - v = number(v); - a = number(a); - - var i, f; - i = Math.floor((h / 60) % 6); - f = (h / 60) - i; - - var vs = [v, - v * (1 - s), - v * (1 - f * s), - v * (1 - (1 - f) * s)]; - var perm = [[0, 3, 1], - [2, 0, 1], - [1, 0, 3], - [1, 2, 0], - [3, 1, 0], - [0, 1, 2]]; - - return this.rgba(vs[perm[i][0]] * 255, - vs[perm[i][1]] * 255, - vs[perm[i][2]] * 255, - a); - }, - - hue: function (color) { - return new (tree.Dimension)(color.toHSL().h); - }, - saturation: function (color) { - return new (tree.Dimension)(color.toHSL().s * 100, '%'); - }, - lightness: function (color) { - return new (tree.Dimension)(color.toHSL().l * 100, '%'); - }, - hsvhue: function (color) { - return new (tree.Dimension)(color.toHSV().h); - }, - hsvsaturation: function (color) { - return new (tree.Dimension)(color.toHSV().s * 100, '%'); - }, - hsvvalue: function (color) { - return new (tree.Dimension)(color.toHSV().v * 100, '%'); - }, - red: function (color) { - return new (tree.Dimension)(color.rgb[0]); - }, - green: function (color) { - return new (tree.Dimension)(color.rgb[1]); - }, - blue: function (color) { - return new (tree.Dimension)(color.rgb[2]); - }, - alpha: function (color) { - return new (tree.Dimension)(color.toHSL().a); - }, - luma: function (color) { - return new (tree.Dimension)(color.luma() * color.alpha * 100, '%'); - }, - luminance: function (color) { - var luminance = - (0.2126 * color.rgb[0] / 255) - + (0.7152 * color.rgb[1] / 255) - + (0.0722 * color.rgb[2] / 255); - - return new (tree.Dimension)(luminance * color.alpha * 100, '%'); - }, - saturate: function (color, amount) { - // filter: saturate(3.2); - // should be kept as is, so check for color - if (!color.rgb) { - return null; - } - var hsl = color.toHSL(); - - hsl.s += amount.value / 100; - hsl.s = clamp(hsl.s); - return hsla(hsl); - }, - desaturate: function (color, amount) { - var hsl = color.toHSL(); - - hsl.s -= amount.value / 100; - hsl.s = clamp(hsl.s); - return hsla(hsl); - }, - lighten: function (color, amount) { - var hsl = color.toHSL(); - - hsl.l += amount.value / 100; - hsl.l = clamp(hsl.l); - return hsla(hsl); - }, - darken: function (color, amount) { - var hsl = color.toHSL(); - - hsl.l -= amount.value / 100; - hsl.l = clamp(hsl.l); - return hsla(hsl); - }, - fadein: function (color, amount) { - var hsl = color.toHSL(); - - hsl.a += amount.value / 100; - hsl.a = clamp(hsl.a); - return hsla(hsl); - }, - fadeout: function (color, amount) { - var hsl = color.toHSL(); - - hsl.a -= amount.value / 100; - hsl.a = clamp(hsl.a); - return hsla(hsl); - }, - fade: function (color, amount) { - var hsl = color.toHSL(); - - hsl.a = amount.value / 100; - hsl.a = clamp(hsl.a); - return hsla(hsl); - }, - spin: function (color, amount) { - var hsl = color.toHSL(); - var hue = (hsl.h + amount.value) % 360; - - hsl.h = hue < 0 ? 360 + hue : hue; - - return hsla(hsl); - }, - // - // Copyright (c) 2006-2009 Hampton Catlin, Nathan Weizenbaum, and Chris Eppstein - // http://sass-lang.com - // - mix: function (color1, color2, weight) { - if (!weight) { - weight = new (tree.Dimension)(50); - } - var p = weight.value / 100.0; - var w = p * 2 - 1; - var a = color1.toHSL().a - color2.toHSL().a; - - var w1 = (((w * a == -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0; - var w2 = 1 - w1; - - var rgb = [color1.rgb[0] * w1 + color2.rgb[0] * w2, - color1.rgb[1] * w1 + color2.rgb[1] * w2, - color1.rgb[2] * w1 + color2.rgb[2] * w2]; - - var alpha = color1.alpha * p + color2.alpha * (1 - p); - - return new (tree.Color)(rgb, alpha); - }, - greyscale: function (color) { - return this.desaturate(color, new (tree.Dimension)(100)); - }, - contrast: function (color, dark, light, threshold) { - // filter: contrast(3.2); - // should be kept as is, so check for color - if (!color.rgb) { - return null; - } - if (typeof light === 'undefined') { - light = this.rgba(255, 255, 255, 1.0); - } - if (typeof dark === 'undefined') { - dark = this.rgba(0, 0, 0, 1.0); - } - //Figure out which is actually light and dark! - if (dark.luma() > light.luma()) { - var t = light; - light = dark; - dark = t; - } - if (typeof threshold === 'undefined') { - threshold = 0.43; - } else { - threshold = number(threshold); - } - if (color.luma() < threshold) { - return light; - } else { - return dark; - } - }, - e: function (str) { - return new (tree.Anonymous)(str instanceof tree.JavaScript ? str.evaluated : str.value); - }, - escape: function (str) { - return new (tree.Anonymous)(encodeURI(str.value).replace(/=/g, "%3D").replace(/:/g, "%3A").replace(/#/g, "%23").replace(/;/g, "%3B").replace(/\(/g, "%28").replace(/\)/g, "%29")); - }, - replace: function (string, pattern, replacement, flags) { - var result = string.value; - - result = result.replace(new RegExp(pattern.value, flags ? flags.value : ''), replacement.value); - return new (tree.Quoted)(string.quote || '', result, string.escaped); - }, - '%': function (string /* arg, arg, ...*/) { - var args = Array.prototype.slice.call(arguments, 1), - result = string.value; - - for (var i = 0; i < args.length; i++) { - /*jshint loopfunc:true */ - result = result.replace(/%[sda]/i, function (token) { - var value = token.match(/s/i) ? args[i].value : args[i].toCSS(); - return token.match(/[A-Z]$/) ? encodeURIComponent(value) : value; - }); - } - result = result.replace(/%%/g, '%'); - return new (tree.Quoted)(string.quote || '', result, string.escaped); - }, - unit: function (val, unit) { - if (!(val instanceof tree.Dimension)) { - throw { - type: "Argument", - message: "the first argument to unit must be a number" + (val instanceof tree.Operation ? ". Have you forgotten parenthesis?" : "") - }; - } - if (unit) { - if (unit instanceof tree.Keyword) { - unit = unit.value; - } else { - unit = unit.toCSS(); - } - } else { - unit = ""; - } - return new (tree.Dimension)(val.value, unit); - }, - convert: function (val, unit) { - return val.convertTo(unit.value); - }, - round: function (n, f) { - var fraction = typeof(f) === "undefined" ? 0 : f.value; - return _math(function (num) { - return num.toFixed(fraction); - }, null, n); - }, - pi: function () { - return new (tree.Dimension)(Math.PI); - }, - mod: function (a, b) { - return new (tree.Dimension)(a.value % b.value, a.unit); - }, - pow: function (x, y) { - if (typeof x === "number" && typeof y === "number") { - x = new (tree.Dimension)(x); - y = new (tree.Dimension)(y); - } else if (!(x instanceof tree.Dimension) || !(y instanceof tree.Dimension)) { - throw {type: "Argument", message: "arguments must be numbers"}; - } - - return new (tree.Dimension)(Math.pow(x.value, y.value), x.unit); - }, - _minmax: function (isMin, args) { - args = Array.prototype.slice.call(args); - switch (args.length) { - case 0: - throw {type: "Argument", message: "one or more arguments required"}; - } - var i, j, current, currentUnified, referenceUnified, unit, unitStatic, unitClone, - order = [], // elems only contains original argument values. - values = {}; // key is the unit.toString() for unified tree.Dimension values, - // value is the index into the order array. - for (i = 0; i < args.length; i++) { - current = args[i]; - if (!(current instanceof tree.Dimension)) { - if (Array.isArray(args[i].value)) { - Array.prototype.push.apply(args, Array.prototype.slice.call(args[i].value)); - } - continue; - } - currentUnified = current.unit.toString() === "" && unitClone !== undefined ? new (tree.Dimension)(current.value, unitClone).unify() : current.unify(); - unit = currentUnified.unit.toString() === "" && unitStatic !== undefined ? unitStatic : currentUnified.unit.toString(); - unitStatic = unit !== "" && unitStatic === undefined || unit !== "" && order[0].unify().unit.toString() === "" ? unit : unitStatic; - unitClone = unit !== "" && unitClone === undefined ? current.unit.toString() : unitClone; - j = values[""] !== undefined && unit !== "" && unit === unitStatic ? values[""] : values[unit]; - if (j === undefined) { - if (unitStatic !== undefined && unit !== unitStatic) { - throw{type: "Argument", message: "incompatible types"}; - } - values[unit] = order.length; - order.push(current); - continue; - } - referenceUnified = order[j].unit.toString() === "" && unitClone !== undefined ? new (tree.Dimension)(order[j].value, unitClone).unify() : order[j].unify(); - if (isMin && currentUnified.value < referenceUnified.value || - !isMin && currentUnified.value > referenceUnified.value) { - order[j] = current; - } - } - if (order.length == 1) { - return order[0]; - } - args = order.map(function (a) { - return a.toCSS(this.env); - }).join(this.env.compress ? "," : ", "); - return new (tree.Anonymous)((isMin ? "min" : "max") + "(" + args + ")"); - }, - min: function () { - return this._minmax(true, arguments); - }, - max: function () { - return this._minmax(false, arguments); - }, - "get-unit": function (n) { - return new (tree.Anonymous)(n.unit); - }, - argb: function (color) { - return new (tree.Anonymous)(color.toARGB()); - }, - percentage: function (n) { - return new (tree.Dimension)(n.value * 100, '%'); - }, - color: function (n) { - if (n instanceof tree.Quoted) { - var colorCandidate = n.value, - returnColor; - returnColor = tree.Color.fromKeyword(colorCandidate); - if (returnColor) { - return returnColor; - } - if (/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/.test(colorCandidate)) { - return new (tree.Color)(colorCandidate.slice(1)); - } - throw {type: "Argument", message: "argument must be a color keyword or 3/6 digit hex e.g. #FFF"}; - } else { - throw {type: "Argument", message: "argument must be a string"}; - } - }, - iscolor: function (n) { - return this._isa(n, tree.Color); - }, - isnumber: function (n) { - return this._isa(n, tree.Dimension); - }, - isstring: function (n) { - return this._isa(n, tree.Quoted); - }, - iskeyword: function (n) { - return this._isa(n, tree.Keyword); - }, - isurl: function (n) { - return this._isa(n, tree.URL); - }, - ispixel: function (n) { - return this.isunit(n, 'px'); - }, - ispercentage: function (n) { - return this.isunit(n, '%'); - }, - isem: function (n) { - return this.isunit(n, 'em'); - }, - isunit: function (n, unit) { - return (n instanceof tree.Dimension) && n.unit.is(unit.value || unit) ? tree.True : tree.False; - }, - _isa: function (n, Type) { - return (n instanceof Type) ? tree.True : tree.False; - }, - tint: function (color, amount) { - return this.mix(this.rgb(255, 255, 255), color, amount); - }, - shade: function (color, amount) { - return this.mix(this.rgb(0, 0, 0), color, amount); - }, - extract: function (values, index) { - index = index.value - 1; // (1-based index) - // handle non-array values as an array of length 1 - // return 'undefined' if index is invalid - return Array.isArray(values.value) - ? values.value[index] : Array(values)[index]; - }, - length: function (values) { - var n = Array.isArray(values.value) ? values.value.length : 1; - return new tree.Dimension(n); - }, - - "data-uri": function (mimetypeNode, filePathNode) { - - if (typeof window !== 'undefined') { - return new tree.URL(filePathNode || mimetypeNode, this.currentFileInfo).eval(this.env); - } - - var mimetype = mimetypeNode.value; - var filePath = (filePathNode && filePathNode.value); - - var fs = require('./fs'), - path = require('path'), - useBase64 = false; - - if (arguments.length < 2) { - filePath = mimetype; - } - - var fragmentStart = filePath.indexOf('#'); - var fragment = ''; - if (fragmentStart !== -1) { - fragment = filePath.slice(fragmentStart); - filePath = filePath.slice(0, fragmentStart); - } - - if (this.env.isPathRelative(filePath)) { - if (this.currentFileInfo.relativeUrls) { - filePath = path.join(this.currentFileInfo.currentDirectory, filePath); - } else { - filePath = path.join(this.currentFileInfo.entryPath, filePath); - } - } - - // detect the mimetype if not given - if (arguments.length < 2) { - var mime; - try { - mime = require('mime'); - } catch (ex) { - mime = tree._mime; - } - - mimetype = mime.lookup(filePath); - - // use base 64 unless it's an ASCII or UTF-8 format - var charset = mime.charsets.lookup(mimetype); - useBase64 = ['US-ASCII', 'UTF-8'].indexOf(charset) < 0; - if (useBase64) { - mimetype += ';base64'; - } - } - else { - useBase64 = /;base64$/.test(mimetype); - } - - var buf = fs.readFileSync(filePath); - - // IE8 cannot handle a data-uri larger than 32KB. If this is exceeded - // and the --ieCompat flag is enabled, return a normal url() instead. - var DATA_URI_MAX_KB = 32, - fileSizeInKB = parseInt((buf.length / 1024), 10); - if (fileSizeInKB >= DATA_URI_MAX_KB) { - - if (this.env.ieCompat !== false) { - if (!this.env.silent) { - console.warn("Skipped data-uri embedding of %s because its size (%dKB) exceeds IE8-safe %dKB!", filePath, fileSizeInKB, DATA_URI_MAX_KB); - } - - return new tree.URL(filePathNode || mimetypeNode, this.currentFileInfo).eval(this.env); - } - } - - buf = useBase64 ? buf.toString('base64') - : encodeURIComponent(buf); - - var uri = "\"data:" + mimetype + ',' + buf + fragment + "\""; - return new (tree.URL)(new (tree.Anonymous)(uri)); - }, - - "svg-gradient": function (direction) { - - function throwArgumentDescriptor() { - throw { - type: "Argument", - message: "svg-gradient expects direction, start_color [start_position], [color position,]..., end_color [end_position]" - }; - } - - if (arguments.length < 3) { - throwArgumentDescriptor(); - } - var stops = Array.prototype.slice.call(arguments, 1), - gradientDirectionSvg, - gradientType = "linear", - rectangleDimension = 'x="0" y="0" width="1" height="1"', - useBase64 = true, - renderEnv = {compress: false}, - returner, - directionValue = direction.toCSS(renderEnv), - i, color, position, positionValue, alpha; - - switch (directionValue) { - case "to bottom": - gradientDirectionSvg = 'x1="0%" y1="0%" x2="0%" y2="100%"'; - break; - case "to right": - gradientDirectionSvg = 'x1="0%" y1="0%" x2="100%" y2="0%"'; - break; - case "to bottom right": - gradientDirectionSvg = 'x1="0%" y1="0%" x2="100%" y2="100%"'; - break; - case "to top right": - gradientDirectionSvg = 'x1="0%" y1="100%" x2="100%" y2="0%"'; - break; - case "ellipse": - case "ellipse at center": - gradientType = "radial"; - gradientDirectionSvg = 'cx="50%" cy="50%" r="75%"'; - rectangleDimension = 'x="-50" y="-50" width="101" height="101"'; - break; - default: - throw { - type: "Argument", - message: "svg-gradient direction must be 'to bottom', 'to right', 'to bottom right', 'to top right' or 'ellipse at center'" - }; - } - returner = '' + - '' + - '<' + gradientType + 'Gradient id="gradient" gradientUnits="userSpaceOnUse" ' + gradientDirectionSvg + '>'; - - for (i = 0; i < stops.length; i += 1) { - if (stops[i].value) { - color = stops[i].value[0]; - position = stops[i].value[1]; - } else { - color = stops[i]; - position = undefined; - } - - if (!(color instanceof tree.Color) || (!((i === 0 || i + 1 === stops.length) && position === undefined) && !(position instanceof tree.Dimension))) { - throwArgumentDescriptor(); - } - positionValue = position ? position.toCSS(renderEnv) : i === 0 ? "0%" : "100%"; - alpha = color.alpha; - returner += ''; - } - returner += '' + - ''; - - if (useBase64) { - try { - returner = require('./encoder').encodeBase64(returner); // TODO browser implementation - } catch (e) { - useBase64 = false; - } - } - - returner = "'data:image/svg+xml" + (useBase64 ? ";base64" : "") + "," + returner + "'"; - return new (tree.URL)(new (tree.Anonymous)(returner)); - } - }; - -// these static methods are used as a fallback when the optional 'mime' dependency is missing - tree._mime = { - // this map is intentionally incomplete - // if you want more, install 'mime' dep - _types: { - '.htm': 'text/html', - '.html': 'text/html', - '.gif': 'image/gif', - '.jpg': 'image/jpeg', - '.jpeg': 'image/jpeg', - '.png': 'image/png' - }, - lookup: function (filepath) { - var ext = require('path').extname(filepath), - type = tree._mime._types[ext]; - if (type === undefined) { - throw new Error('Optional dependency "mime" is required for ' + ext); - } - return type; - }, - charsets: { - lookup: function (type) { - // assumes all text types are UTF-8 - return type && (/^text\//).test(type) ? 'UTF-8' : ''; - } - } - }; - -// Math - - var mathFunctions = { - // name, unit - ceil: null, - floor: null, - sqrt: null, - abs: null, - tan: "", - sin: "", - cos: "", - atan: "rad", - asin: "rad", - acos: "rad" - }; - - function _math(fn, unit, n) { - if (!(n instanceof tree.Dimension)) { - throw {type: "Argument", message: "argument must be a number"}; - } - if (unit == null) { - unit = n.unit; - } else { - n = n.unify(); - } - return new (tree.Dimension)(fn(parseFloat(n.value)), unit); - } - -// ~ End of Math - -// Color Blending -// ref: http://www.w3.org/TR/compositing-1 - - function colorBlend(mode, color1, color2) { - var ab = color1.alpha, cb, // backdrop - as = color2.alpha, cs, // source - ar, cr, r = []; // result - - ar = as + ab * (1 - as); - for (var i = 0; i < 3; i++) { - cb = color1.rgb[i] / 255; - cs = color2.rgb[i] / 255; - cr = mode(cb, cs); - if (ar) { - cr = (as * cs + ab * (cb - - as * (cb + cs - cr))) / ar; - } - r[i] = cr * 255; - } - - return new (tree.Color)(r, ar); - } - - var colorBlendMode = { - multiply: function (cb, cs) { - return cb * cs; - }, - screen: function (cb, cs) { - return cb + cs - cb * cs; - }, - overlay: function (cb, cs) { - cb *= 2; - return (cb <= 1) - ? colorBlendMode.multiply(cb, cs) - : colorBlendMode.screen(cb - 1, cs); - }, - softlight: function (cb, cs) { - var d = 1, e = cb; - if (cs > 0.5) { - e = 1; - d = (cb > 0.25) ? Math.sqrt(cb) - : ((16 * cb - 12) * cb + 4) * cb; - } - return cb - (1 - 2 * cs) * e * (d - cb); - }, - hardlight: function (cb, cs) { - return colorBlendMode.overlay(cs, cb); - }, - difference: function (cb, cs) { - return Math.abs(cb - cs); - }, - exclusion: function (cb, cs) { - return cb + cs - 2 * cb * cs; - }, - - // non-w3c functions: - average: function (cb, cs) { - return (cb + cs) / 2; - }, - negation: function (cb, cs) { - return 1 - Math.abs(cb + cs - 1); - } - }; - -// ~ End of Color Blending - - tree.defaultFunc = { - eval: function () { - var v = this.value_, e = this.error_; - if (e) { - throw e; - } - if (v != null) { - return v ? tree.True : tree.False; - } - }, - value: function (v) { - this.value_ = v; - }, - error: function (e) { - this.error_ = e; - }, - reset: function () { - this.value_ = this.error_ = null; - } - }; - - function initFunctions() { - var f, tf = tree.functions; - - // math - for (f in mathFunctions) { - if (mathFunctions.hasOwnProperty(f)) { - tf[f] = _math.bind(null, Math[f], mathFunctions[f]); - } - } - - // color blending - for (f in colorBlendMode) { - if (colorBlendMode.hasOwnProperty(f)) { - tf[f] = colorBlend.bind(null, colorBlendMode[f]); - } - } - - // default - f = tree.defaultFunc; - tf["default"] = f.eval.bind(f); - - } - - initFunctions(); - - function hsla(color) { - return tree.functions.hsla(color.h, color.s, color.l, color.a); - } - - function scaled(n, size) { - if (n instanceof tree.Dimension && n.unit.is('%')) { - return parseFloat(n.value * size / 100); - } else { - return number(n); - } - } - - function number(n) { - if (n instanceof tree.Dimension) { - return parseFloat(n.unit.is('%') ? n.value / 100 : n.value); - } else if (typeof(n) === 'number') { - return n; - } else { - throw { - error: "RuntimeError", - message: "color functions take numbers as parameters" - }; - } - } - - function clamp(val) { - return Math.min(1, Math.max(0, val)); - } - - tree.fround = function (env, value) { - var p = env && env.numPrecision; - //add "epsilon" to ensure numbers like 1.000000005 (represented as 1.000000004999....) are properly rounded... - return (p == null) ? value : Number((value + 2e-16).toFixed(p)); - }; - - tree.functionCall = function (env, currentFileInfo) { - this.env = env; - this.currentFileInfo = currentFileInfo; - }; - - tree.functionCall.prototype = tree.functions; - -})(require('./tree')); - -(function (tree) { - tree.colors = { - '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', - 'darkgrey': '#a9a9a9', - 'darkgreen': '#006400', - 'darkkhaki': '#bdb76b', - 'darkmagenta': '#8b008b', - 'darkolivegreen': '#556b2f', - 'darkorange': '#ff8c00', - 'darkorchid': '#9932cc', - 'darkred': '#8b0000', - 'darksalmon': '#e9967a', - 'darkseagreen': '#8fbc8f', - 'darkslateblue': '#483d8b', - 'darkslategray': '#2f4f4f', - 'darkslategrey': '#2f4f4f', - 'darkturquoise': '#00ced1', - 'darkviolet': '#9400d3', - 'deeppink': '#ff1493', - 'deepskyblue': '#00bfff', - 'dimgray': '#696969', - 'dimgrey': '#696969', - 'dodgerblue': '#1e90ff', - 'firebrick': '#b22222', - 'floralwhite': '#fffaf0', - 'forestgreen': '#228b22', - 'fuchsia': '#ff00ff', - 'gainsboro': '#dcdcdc', - 'ghostwhite': '#f8f8ff', - 'gold': '#ffd700', - 'goldenrod': '#daa520', - 'gray': '#808080', - 'grey': '#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', - 'lightgray': '#d3d3d3', - 'lightgrey': '#d3d3d3', - 'lightgreen': '#90ee90', - 'lightpink': '#ffb6c1', - 'lightsalmon': '#ffa07a', - 'lightseagreen': '#20b2aa', - 'lightskyblue': '#87cefa', - 'lightslategray': '#778899', - 'lightslategrey': '#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', - 'slategrey': '#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' - }; -})(require('./tree')); - -(function (tree) { - - tree.debugInfo = function (env, ctx, lineSeperator) { - var result = ""; - if (env.dumpLineNumbers && !env.compress) { - switch (env.dumpLineNumbers) { - case 'comments': - result = tree.debugInfo.asComment(ctx); - break; - case 'mediaquery': - result = tree.debugInfo.asMediaQuery(ctx); - break; - case 'all': - result = tree.debugInfo.asComment(ctx) + (lineSeperator || "") + tree.debugInfo.asMediaQuery(ctx); - break; - } - } - return result; - }; - - tree.debugInfo.asComment = function (ctx) { - return '/* line ' + ctx.debugInfo.lineNumber + ', ' + ctx.debugInfo.fileName + ' */\n'; - }; - - tree.debugInfo.asMediaQuery = function (ctx) { - return '@media -sass-debug-info{filename{font-family:' + - ('file://' + ctx.debugInfo.fileName).replace(/([.:\/\\])/g, function (a) { - if (a == '\\') { - a = '\/'; - } - return '\\' + a; - }) + - '}line{font-family:\\00003' + ctx.debugInfo.lineNumber + '}}\n'; - }; - - tree.find = function (obj, fun) { - for (var i = 0, r; i < obj.length; i++) { - r = fun.call(obj, obj[i]); - if (r) { - return r; - } - } - return null; - }; - - tree.jsify = function (obj) { - if (Array.isArray(obj.value) && (obj.value.length > 1)) { - return '[' + obj.value.map(function (v) { - return v.toCSS(); - }).join(', ') + ']'; - } else { - return obj.toCSS(); - } - }; - - tree.toCSS = function (env) { - var strs = []; - this.genCSS(env, { - add: function (chunk, fileInfo, index) { - strs.push(chunk); - }, - isEmpty: function () { - return strs.length === 0; - } - }); - return strs.join(''); - }; - - tree.outputRuleset = function (env, output, rules) { - var ruleCnt = rules.length, i; - env.tabLevel = (env.tabLevel | 0) + 1; - - // Compressed - if (env.compress) { - output.add('{'); - for (i = 0; i < ruleCnt; i++) { - rules[i].genCSS(env, output); - } - output.add('}'); - env.tabLevel--; - return; - } - - // Non-compressed - var tabSetStr = '\n' + Array(env.tabLevel).join(" "), tabRuleStr = tabSetStr + " "; - if (!ruleCnt) { - output.add(" {" + tabSetStr + '}'); - } else { - output.add(" {" + tabRuleStr); - rules[0].genCSS(env, output); - for (i = 1; i < ruleCnt; i++) { - output.add(tabRuleStr); - rules[i].genCSS(env, output); - } - output.add(tabSetStr + '}'); - } - - env.tabLevel--; - }; - -})(require('./tree')); - -(function (tree) { - - tree.Alpha = function (val) { - this.value = val; - }; - tree.Alpha.prototype = { - type: "Alpha", - accept: function (visitor) { - this.value = visitor.visit(this.value); - }, - eval: function (env) { - if (this.value.eval) { - return new tree.Alpha(this.value.eval(env)); - } - return this; - }, - genCSS: function (env, output) { - output.add("alpha(opacity="); - - if (this.value.genCSS) { - this.value.genCSS(env, output); - } else { - output.add(this.value); - } - - output.add(")"); - }, - toCSS: tree.toCSS - }; - -})(require('../tree')); - -(function (tree) { - - tree.Anonymous = function (value, index, currentFileInfo, mapLines, rulesetLike) { - this.value = value; - this.index = index; - this.mapLines = mapLines; - this.currentFileInfo = currentFileInfo; - this.rulesetLike = (typeof rulesetLike === 'undefined') ? false : rulesetLike; - }; - tree.Anonymous.prototype = { - type: "Anonymous", - eval: function () { - return new tree.Anonymous(this.value, this.index, this.currentFileInfo, this.mapLines, this.rulesetLike); - }, - compare: function (x) { - if (!x.toCSS) { - return -1; - } - - var left = this.toCSS(), - right = x.toCSS(); - - if (left === right) { - return 0; - } - - return left < right ? -1 : 1; - }, - isRulesetLike: function () { - return this.rulesetLike; - }, - genCSS: function (env, output) { - output.add(this.value, this.currentFileInfo, this.index, this.mapLines); - }, - toCSS: tree.toCSS - }; - -})(require('../tree')); - -(function (tree) { - - tree.Assignment = function (key, val) { - this.key = key; - this.value = val; - }; - tree.Assignment.prototype = { - type: "Assignment", - accept: function (visitor) { - this.value = visitor.visit(this.value); - }, - eval: function (env) { - if (this.value.eval) { - return new (tree.Assignment)(this.key, this.value.eval(env)); - } - return this; - }, - genCSS: function (env, output) { - output.add(this.key + '='); - if (this.value.genCSS) { - this.value.genCSS(env, output); - } else { - output.add(this.value); - } - }, - toCSS: tree.toCSS - }; - -})(require('../tree')); - -(function (tree) { - -// -// A function call node. -// - tree.Call = function (name, args, index, currentFileInfo) { - this.name = name; - this.args = args; - this.index = index; - this.currentFileInfo = currentFileInfo; - }; - tree.Call.prototype = { - type: "Call", - accept: function (visitor) { - if (this.args) { - this.args = visitor.visitArray(this.args); - } - }, - // - // When evaluating a function call, - // we either find the function in `tree.functions` [1], - // in which case we call it, passing the evaluated arguments, - // if this returns null or we cannot find the function, we - // simply print it out as it appeared originally [2]. - // - // The *functions.js* file contains the built-in functions. - // - // The reason why we evaluate the arguments, is in the case where - // we try to pass a variable to a function, like: `saturate(@color)`. - // The function should receive the value, not the variable. - // - eval: function (env) { - var args = this.args.map(function (a) { - return a.eval(env); - }), - nameLC = this.name.toLowerCase(), - result, func; - - if (nameLC in tree.functions) { // 1. - try { - func = new tree.functionCall(env, this.currentFileInfo); - result = func[nameLC].apply(func, args); - if (result != null) { - return result; - } - } catch (e) { - throw { - type: e.type || "Runtime", - message: "error evaluating function `" + this.name + "`" + - (e.message ? ': ' + e.message : ''), - index: this.index, filename: this.currentFileInfo.filename - }; - } - } - - return new tree.Call(this.name, args, this.index, this.currentFileInfo); - }, - - genCSS: function (env, output) { - output.add(this.name + "(", this.currentFileInfo, this.index); - - for (var i = 0; i < this.args.length; i++) { - this.args[i].genCSS(env, output); - if (i + 1 < this.args.length) { - output.add(", "); - } - } - - output.add(")"); - }, - - toCSS: tree.toCSS - }; - -})(require('../tree')); - -(function (tree) { -// -// RGB Colors - #ff0014, #eee -// - tree.Color = function (rgb, a) { - // - // The end goal here, is to parse the arguments - // into an integer triplet, such as `128, 255, 0` - // - // This facilitates operations and conversions. - // - if (Array.isArray(rgb)) { - this.rgb = rgb; - } else if (rgb.length == 6) { - this.rgb = rgb.match(/.{2}/g).map(function (c) { - return parseInt(c, 16); - }); - } else { - this.rgb = rgb.split('').map(function (c) { - return parseInt(c + c, 16); - }); - } - this.alpha = typeof(a) === 'number' ? a : 1; - }; - - var transparentKeyword = "transparent"; - - tree.Color.prototype = { - type: "Color", - eval: function () { - return this; - }, - luma: function () { - var r = this.rgb[0] / 255, - g = this.rgb[1] / 255, - b = this.rgb[2] / 255; - - r = (r <= 0.03928) ? r / 12.92 : Math.pow(((r + 0.055) / 1.055), 2.4); - g = (g <= 0.03928) ? g / 12.92 : Math.pow(((g + 0.055) / 1.055), 2.4); - b = (b <= 0.03928) ? b / 12.92 : Math.pow(((b + 0.055) / 1.055), 2.4); - - return 0.2126 * r + 0.7152 * g + 0.0722 * b; - }, - - genCSS: function (env, output) { - output.add(this.toCSS(env)); - }, - toCSS: function (env, doNotCompress) { - var compress = env && env.compress && !doNotCompress, - alpha = tree.fround(env, this.alpha); - - // If we have some transparency, the only way to represent it - // is via `rgba`. Otherwise, we use the hex representation, - // which has better compatibility with older browsers. - // Values are capped between `0` and `255`, rounded and zero-padded. - if (alpha < 1) { - if (alpha === 0 && this.isTransparentKeyword) { - return transparentKeyword; - } - return "rgba(" + this.rgb.map(function (c) { - return clamp(Math.round(c), 255); - }).concat(clamp(alpha, 1)) - .join(',' + (compress ? '' : ' ')) + ")"; - } else { - var color = this.toRGB(); - - if (compress) { - var splitcolor = color.split(''); - - // Convert color to short format - if (splitcolor[1] === splitcolor[2] && splitcolor[3] === splitcolor[4] && splitcolor[5] === splitcolor[6]) { - color = '#' + splitcolor[1] + splitcolor[3] + splitcolor[5]; - } - } - - return color; - } - }, - - // - // Operations have to be done per-channel, if not, - // channels will spill onto each other. Once we have - // our result, in the form of an integer triplet, - // we create a new Color node to hold the result. - // - operate: function (env, op, other) { - var rgb = []; - var alpha = this.alpha * (1 - other.alpha) + other.alpha; - for (var c = 0; c < 3; c++) { - rgb[c] = tree.operate(env, op, this.rgb[c], other.rgb[c]); - } - return new (tree.Color)(rgb, alpha); - }, - - toRGB: function () { - return toHex(this.rgb); - }, - - toHSL: function () { - var r = this.rgb[0] / 255, - g = this.rgb[1] / 255, - b = this.rgb[2] / 255, - a = this.alpha; - - var max = Math.max(r, g, b), min = Math.min(r, g, b); - var h, s, l = (max + min) / 2, d = max - min; - - if (max === min) { - h = s = 0; - } else { - s = l > 0.5 ? d / (2 - max - min) : d / (max + min); - - switch (max) { - case r: - h = (g - b) / d + (g < b ? 6 : 0); - break; - case g: - h = (b - r) / d + 2; - break; - case b: - h = (r - g) / d + 4; - break; - } - h /= 6; - } - return {h: h * 360, s: s, l: l, a: a}; - }, - //Adapted from http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript - toHSV: function () { - var r = this.rgb[0] / 255, - g = this.rgb[1] / 255, - b = this.rgb[2] / 255, - a = this.alpha; - - var max = Math.max(r, g, b), min = Math.min(r, g, b); - var h, s, v = max; - - var d = max - min; - if (max === 0) { - s = 0; - } else { - s = d / max; - } - - if (max === min) { - h = 0; - } else { - switch (max) { - case r: - h = (g - b) / d + (g < b ? 6 : 0); - break; - case g: - h = (b - r) / d + 2; - break; - case b: - h = (r - g) / d + 4; - break; - } - h /= 6; - } - return {h: h * 360, s: s, v: v, a: a}; - }, - toARGB: function () { - return toHex([this.alpha * 255].concat(this.rgb)); - }, - compare: function (x) { - if (!x.rgb) { - return -1; - } - - return (x.rgb[0] === this.rgb[0] && - x.rgb[1] === this.rgb[1] && - x.rgb[2] === this.rgb[2] && - x.alpha === this.alpha) ? 0 : -1; - } - }; - - tree.Color.fromKeyword = function (keyword) { - keyword = keyword.toLowerCase(); - - if (tree.colors.hasOwnProperty(keyword)) { - // detect named color - return new (tree.Color)(tree.colors[keyword].slice(1)); - } - if (keyword === transparentKeyword) { - var transparent = new (tree.Color)([0, 0, 0], 0); - transparent.isTransparentKeyword = true; - return transparent; - } - }; - - function toHex(v) { - return '#' + v.map(function (c) { - c = clamp(Math.round(c), 255); - return (c < 16 ? '0' : '') + c.toString(16); - }).join(''); - } - - function clamp(v, max) { - return Math.min(Math.max(v, 0), max); - } - -})(require('../tree')); - -(function (tree) { - - tree.Comment = function (value, silent, index, currentFileInfo) { - this.value = value; - this.silent = !!silent; - this.currentFileInfo = currentFileInfo; - }; - tree.Comment.prototype = { - type: "Comment", - genCSS: function (env, output) { - if (this.debugInfo) { - output.add(tree.debugInfo(env, this), this.currentFileInfo, this.index); - } - output.add(this.value.trim()); //TODO shouldn't need to trim, we shouldn't grab the \n - }, - toCSS: tree.toCSS, - isSilent: function (env) { - var isReference = (this.currentFileInfo && this.currentFileInfo.reference && !this.isReferenced), - isCompressed = env.compress && !this.value.match(/^\/\*!/); - return this.silent || isReference || isCompressed; - }, - eval: function () { - return this; - }, - markReferenced: function () { - this.isReferenced = true; - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Condition = function (op, l, r, i, negate) { - this.op = op.trim(); - this.lvalue = l; - this.rvalue = r; - this.index = i; - this.negate = negate; - }; - tree.Condition.prototype = { - type: "Condition", - accept: function (visitor) { - this.lvalue = visitor.visit(this.lvalue); - this.rvalue = visitor.visit(this.rvalue); - }, - eval: function (env) { - var a = this.lvalue.eval(env), - b = this.rvalue.eval(env); - - var i = this.index, result; - - result = (function (op) { - switch (op) { - case 'and': - return a && b; - case 'or': - return a || b; - default: - if (a.compare) { - result = a.compare(b); - } else if (b.compare) { - result = b.compare(a); - } else { - throw { - type: "Type", - message: "Unable to perform comparison", - index: i - }; - } - switch (result) { - case -1: - return op === '<' || op === '=<' || op === '<='; - case 0: - return op === '=' || op === '>=' || op === '=<' || op === '<='; - case 1: - return op === '>' || op === '>='; - } - } - })(this.op); - return this.negate ? !result : result; - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.DetachedRuleset = function (ruleset, frames) { - this.ruleset = ruleset; - this.frames = frames; - }; - tree.DetachedRuleset.prototype = { - type: "DetachedRuleset", - accept: function (visitor) { - this.ruleset = visitor.visit(this.ruleset); - }, - eval: function (env) { - var frames = this.frames || env.frames.slice(0); - return new tree.DetachedRuleset(this.ruleset, frames); - }, - callEval: function (env) { - return this.ruleset.eval(this.frames ? new (tree.evalEnv)(env, this.frames.concat(env.frames)) : env); - } - }; -})(require('../tree')); - -(function (tree) { - -// -// A number with a unit -// - tree.Dimension = function (value, unit) { - this.value = parseFloat(value); - this.unit = (unit && unit instanceof tree.Unit) ? unit : - new (tree.Unit)(unit ? [unit] : undefined); - }; - - tree.Dimension.prototype = { - type: "Dimension", - accept: function (visitor) { - this.unit = visitor.visit(this.unit); - }, - eval: function (env) { - return this; - }, - toColor: function () { - return new (tree.Color)([this.value, this.value, this.value]); - }, - genCSS: function (env, output) { - if ((env && env.strictUnits) && !this.unit.isSingular()) { - throw new Error("Multiple units in dimension. Correct the units or use the unit function. Bad unit: " + this.unit.toString()); - } - - var value = tree.fround(env, this.value), - strValue = String(value); - - if (value !== 0 && value < 0.000001 && value > -0.000001) { - // would be output 1e-6 etc. - strValue = value.toFixed(20).replace(/0+$/, ""); - } - - if (env && env.compress) { - // Zero values doesn't need a unit - if (value === 0 && this.unit.isLength()) { - output.add(strValue); - return; - } - - // Float values doesn't need a leading zero - if (value > 0 && value < 1) { - strValue = (strValue).substr(1); - } - } - - output.add(strValue); - this.unit.genCSS(env, output); - }, - toCSS: tree.toCSS, - - // In an operation between two Dimensions, - // we default to the first Dimension's unit, - // so `1px + 2` will yield `3px`. - operate: function (env, op, other) { - /*jshint noempty:false */ - var value = tree.operate(env, op, this.value, other.value), - unit = this.unit.clone(); - - if (op === '+' || op === '-') { - if (unit.numerator.length === 0 && unit.denominator.length === 0) { - unit.numerator = other.unit.numerator.slice(0); - unit.denominator = other.unit.denominator.slice(0); - } else if (other.unit.numerator.length === 0 && unit.denominator.length === 0) { - // do nothing - } else { - other = other.convertTo(this.unit.usedUnits()); - - if (env.strictUnits && other.unit.toString() !== unit.toString()) { - throw new Error("Incompatible units. Change the units or use the unit function. Bad units: '" + unit.toString() + - "' and '" + other.unit.toString() + "'."); - } - - value = tree.operate(env, op, this.value, other.value); - } - } else if (op === '*') { - unit.numerator = unit.numerator.concat(other.unit.numerator).sort(); - unit.denominator = unit.denominator.concat(other.unit.denominator).sort(); - unit.cancel(); - } else if (op === '/') { - unit.numerator = unit.numerator.concat(other.unit.denominator).sort(); - unit.denominator = unit.denominator.concat(other.unit.numerator).sort(); - unit.cancel(); - } - return new (tree.Dimension)(value, unit); - }, - - compare: function (other) { - if (other instanceof tree.Dimension) { - var a, b, - aValue, bValue; - - if (this.unit.isEmpty() || other.unit.isEmpty()) { - a = this; - b = other; - } else { - a = this.unify(); - b = other.unify(); - if (a.unit.compare(b.unit) !== 0) { - return -1; - } - } - aValue = a.value; - bValue = b.value; - - if (bValue > aValue) { - return -1; - } else if (bValue < aValue) { - return 1; - } else { - return 0; - } - } else { - return -1; - } - }, - - unify: function () { - return this.convertTo({length: 'px', duration: 's', angle: 'rad'}); - }, - - convertTo: function (conversions) { - var value = this.value, unit = this.unit.clone(), - i, groupName, group, targetUnit, derivedConversions = {}, applyUnit; - - if (typeof conversions === 'string') { - for (i in tree.UnitConversions) { - if (tree.UnitConversions[i].hasOwnProperty(conversions)) { - derivedConversions = {}; - derivedConversions[i] = conversions; - } - } - conversions = derivedConversions; - } - applyUnit = function (atomicUnit, denominator) { - /*jshint loopfunc:true */ - if (group.hasOwnProperty(atomicUnit)) { - if (denominator) { - value = value / (group[atomicUnit] / group[targetUnit]); - } else { - value = value * (group[atomicUnit] / group[targetUnit]); - } - - return targetUnit; - } - - return atomicUnit; - }; - - for (groupName in conversions) { - if (conversions.hasOwnProperty(groupName)) { - targetUnit = conversions[groupName]; - group = tree.UnitConversions[groupName]; - - unit.map(applyUnit); - } - } - - unit.cancel(); - - return new (tree.Dimension)(value, unit); - } - }; - -// http://www.w3.org/TR/css3-values/#absolute-lengths - tree.UnitConversions = { - length: { - 'm': 1, - 'cm': 0.01, - 'mm': 0.001, - 'in': 0.0254, - 'px': 0.0254 / 96, - 'pt': 0.0254 / 72, - 'pc': 0.0254 / 72 * 12 - }, - duration: { - 's': 1, - 'ms': 0.001 - }, - angle: { - 'rad': 1 / (2 * Math.PI), - 'deg': 1 / 360, - 'grad': 1 / 400, - 'turn': 1 - } - }; - - tree.Unit = function (numerator, denominator, backupUnit) { - this.numerator = numerator ? numerator.slice(0).sort() : []; - this.denominator = denominator ? denominator.slice(0).sort() : []; - this.backupUnit = backupUnit; - }; - - tree.Unit.prototype = { - type: "Unit", - clone: function () { - return new tree.Unit(this.numerator.slice(0), this.denominator.slice(0), this.backupUnit); - }, - genCSS: function (env, output) { - if (this.numerator.length >= 1) { - output.add(this.numerator[0]); - } else if (this.denominator.length >= 1) { - output.add(this.denominator[0]); - } else if ((!env || !env.strictUnits) && this.backupUnit) { - output.add(this.backupUnit); - } - }, - toCSS: tree.toCSS, - - toString: function () { - var i, returnStr = this.numerator.join("*"); - for (i = 0; i < this.denominator.length; i++) { - returnStr += "/" + this.denominator[i]; - } - return returnStr; - }, - - compare: function (other) { - return this.is(other.toString()) ? 0 : -1; - }, - - is: function (unitString) { - return this.toString() === unitString; - }, - - isLength: function () { - return Boolean(this.toCSS().match(/px|em|%|in|cm|mm|pc|pt|ex/)); - }, - - isEmpty: function () { - return this.numerator.length === 0 && this.denominator.length === 0; - }, - - isSingular: function () { - return this.numerator.length <= 1 && this.denominator.length === 0; - }, - - map: function (callback) { - var i; - - for (i = 0; i < this.numerator.length; i++) { - this.numerator[i] = callback(this.numerator[i], false); - } - - for (i = 0; i < this.denominator.length; i++) { - this.denominator[i] = callback(this.denominator[i], true); - } - }, - - usedUnits: function () { - var group, result = {}, mapUnit; - - mapUnit = function (atomicUnit) { - /*jshint loopfunc:true */ - if (group.hasOwnProperty(atomicUnit) && !result[groupName]) { - result[groupName] = atomicUnit; - } - - return atomicUnit; - }; - - for (var groupName in tree.UnitConversions) { - if (tree.UnitConversions.hasOwnProperty(groupName)) { - group = tree.UnitConversions[groupName]; - - this.map(mapUnit); - } - } - - return result; - }, - - cancel: function () { - var counter = {}, atomicUnit, i, backup; - - for (i = 0; i < this.numerator.length; i++) { - atomicUnit = this.numerator[i]; - if (!backup) { - backup = atomicUnit; - } - counter[atomicUnit] = (counter[atomicUnit] || 0) + 1; - } - - for (i = 0; i < this.denominator.length; i++) { - atomicUnit = this.denominator[i]; - if (!backup) { - backup = atomicUnit; - } - counter[atomicUnit] = (counter[atomicUnit] || 0) - 1; - } - - this.numerator = []; - this.denominator = []; - - for (atomicUnit in counter) { - if (counter.hasOwnProperty(atomicUnit)) { - var count = counter[atomicUnit]; - - if (count > 0) { - for (i = 0; i < count; i++) { - this.numerator.push(atomicUnit); - } - } else if (count < 0) { - for (i = 0; i < -count; i++) { - this.denominator.push(atomicUnit); - } - } - } - } - - if (this.numerator.length === 0 && this.denominator.length === 0 && backup) { - this.backupUnit = backup; - } - - this.numerator.sort(); - this.denominator.sort(); - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Directive = function (name, value, rules, index, currentFileInfo, debugInfo) { - this.name = name; - this.value = value; - if (rules) { - this.rules = rules; - this.rules.allowImports = true; - } - this.index = index; - this.currentFileInfo = currentFileInfo; - this.debugInfo = debugInfo; - }; - - tree.Directive.prototype = { - type: "Directive", - accept: function (visitor) { - var value = this.value, rules = this.rules; - if (rules) { - rules = visitor.visit(rules); - } - if (value) { - value = visitor.visit(value); - } - }, - isRulesetLike: function () { - return !this.isCharset(); - }, - isCharset: function () { - return "@charset" === this.name; - }, - genCSS: function (env, output) { - var value = this.value, rules = this.rules; - output.add(this.name, this.currentFileInfo, this.index); - if (value) { - output.add(' '); - value.genCSS(env, output); - } - if (rules) { - tree.outputRuleset(env, output, [rules]); - } else { - output.add(';'); - } - }, - toCSS: tree.toCSS, - eval: function (env) { - var value = this.value, rules = this.rules; - if (value) { - value = value.eval(env); - } - if (rules) { - rules = rules.eval(env); - rules.root = true; - } - return new (tree.Directive)(this.name, value, rules, - this.index, this.currentFileInfo, this.debugInfo); - }, - variable: function (name) { - if (this.rules) return tree.Ruleset.prototype.variable.call(this.rules, name); - }, - find: function () { - if (this.rules) return tree.Ruleset.prototype.find.apply(this.rules, arguments); - }, - rulesets: function () { - if (this.rules) return tree.Ruleset.prototype.rulesets.apply(this.rules); - }, - markReferenced: function () { - var i, rules; - this.isReferenced = true; - if (this.rules) { - rules = this.rules.rules; - for (i = 0; i < rules.length; i++) { - if (rules[i].markReferenced) { - rules[i].markReferenced(); - } - } - } - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Element = function (combinator, value, index, currentFileInfo) { - this.combinator = combinator instanceof tree.Combinator ? - combinator : new (tree.Combinator)(combinator); - - if (typeof(value) === 'string') { - this.value = value.trim(); - } else if (value) { - this.value = value; - } else { - this.value = ""; - } - this.index = index; - this.currentFileInfo = currentFileInfo; - }; - tree.Element.prototype = { - type: "Element", - accept: function (visitor) { - var value = this.value; - this.combinator = visitor.visit(this.combinator); - if (typeof value === "object") { - this.value = visitor.visit(value); - } - }, - eval: function (env) { - return new (tree.Element)(this.combinator, - this.value.eval ? this.value.eval(env) : this.value, - this.index, - this.currentFileInfo); - }, - genCSS: function (env, output) { - output.add(this.toCSS(env), this.currentFileInfo, this.index); - }, - toCSS: function (env) { - var value = (this.value.toCSS ? this.value.toCSS(env) : this.value); - if (value === '' && this.combinator.value.charAt(0) === '&') { - return ''; - } else { - return this.combinator.toCSS(env || {}) + value; - } - } - }; - - tree.Attribute = function (key, op, value) { - this.key = key; - this.op = op; - this.value = value; - }; - tree.Attribute.prototype = { - type: "Attribute", - eval: function (env) { - return new (tree.Attribute)(this.key.eval ? this.key.eval(env) : this.key, - this.op, (this.value && this.value.eval) ? this.value.eval(env) : this.value); - }, - genCSS: function (env, output) { - output.add(this.toCSS(env)); - }, - toCSS: function (env) { - var value = this.key.toCSS ? this.key.toCSS(env) : this.key; - - if (this.op) { - value += this.op; - value += (this.value.toCSS ? this.value.toCSS(env) : this.value); - } - - return '[' + value + ']'; - } - }; - - tree.Combinator = function (value) { - if (value === ' ') { - this.value = ' '; - } else { - this.value = value ? value.trim() : ""; - } - }; - tree.Combinator.prototype = { - type: "Combinator", - _noSpaceCombinators: { - '': true, - ' ': true, - '|': true - }, - genCSS: function (env, output) { - var spaceOrEmpty = (env.compress || this._noSpaceCombinators[this.value]) ? '' : ' '; - output.add(spaceOrEmpty + this.value + spaceOrEmpty); - }, - toCSS: tree.toCSS - }; - -})(require('../tree')); - -(function (tree) { - - tree.Expression = function (value) { - this.value = value; - }; - tree.Expression.prototype = { - type: "Expression", - accept: function (visitor) { - if (this.value) { - this.value = visitor.visitArray(this.value); - } - }, - eval: function (env) { - var returnValue, - inParenthesis = this.parens && !this.parensInOp, - doubleParen = false; - if (inParenthesis) { - env.inParenthesis(); - } - if (this.value.length > 1) { - returnValue = new (tree.Expression)(this.value.map(function (e) { - return e.eval(env); - })); - } else if (this.value.length === 1) { - if (this.value[0].parens && !this.value[0].parensInOp) { - doubleParen = true; - } - returnValue = this.value[0].eval(env); - } else { - returnValue = this; - } - if (inParenthesis) { - env.outOfParenthesis(); - } - if (this.parens && this.parensInOp && !(env.isMathOn()) && !doubleParen) { - returnValue = new (tree.Paren)(returnValue); - } - return returnValue; - }, - genCSS: function (env, output) { - for (var i = 0; i < this.value.length; i++) { - this.value[i].genCSS(env, output); - if (i + 1 < this.value.length) { - output.add(" "); - } - } - }, - toCSS: tree.toCSS, - throwAwayComments: function () { - this.value = this.value.filter(function (v) { - return !(v instanceof tree.Comment); - }); - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Extend = function Extend(selector, option, index) { - this.selector = selector; - this.option = option; - this.index = index; - this.object_id = tree.Extend.next_id++; - this.parent_ids = [this.object_id]; - - switch (option) { - case "all": - this.allowBefore = true; - this.allowAfter = true; - break; - default: - this.allowBefore = false; - this.allowAfter = false; - break; - } - }; - tree.Extend.next_id = 0; - - tree.Extend.prototype = { - type: "Extend", - accept: function (visitor) { - this.selector = visitor.visit(this.selector); - }, - eval: function (env) { - return new (tree.Extend)(this.selector.eval(env), this.option, this.index); - }, - clone: function (env) { - return new (tree.Extend)(this.selector, this.option, this.index); - }, - findSelfSelectors: function (selectors) { - var selfElements = [], - i, - selectorElements; - - for (i = 0; i < selectors.length; i++) { - selectorElements = selectors[i].elements; - // duplicate the logic in genCSS function inside the selector node. - // future TODO - move both logics into the selector joiner visitor - if (i > 0 && selectorElements.length && selectorElements[0].combinator.value === "") { - selectorElements[0].combinator.value = ' '; - } - selfElements = selfElements.concat(selectors[i].elements); - } - - this.selfSelectors = [{elements: selfElements}]; - } - }; - -})(require('../tree')); - -(function (tree) { -// -// CSS @import node -// -// The general strategy here is that we don't want to wait -// for the parsing to be completed, before we start importing -// the file. That's because in the context of a browser, -// most of the time will be spent waiting for the server to respond. -// -// On creation, we push the import path to our import queue, though -// `import,push`, we also pass it a callback, which it'll call once -// the file has been fetched, and parsed. -// - tree.Import = function (path, features, options, index, currentFileInfo) { - this.options = options; - this.index = index; - this.path = path; - this.features = features; - this.currentFileInfo = currentFileInfo; - - if (this.options.less !== undefined || this.options.inline) { - this.css = !this.options.less || this.options.inline; - } else { - var pathValue = this.getPath(); - if (pathValue && /css([\?;].*)?$/.test(pathValue)) { - this.css = true; - } - } - }; - -// -// The actual import node doesn't return anything, when converted to CSS. -// The reason is that it's used at the evaluation stage, so that the rules -// it imports can be treated like any other rules. -// -// In `eval`, we make sure all Import nodes get evaluated, recursively, so -// we end up with a flat structure, which can easily be imported in the parent -// ruleset. -// - tree.Import.prototype = { - type: "Import", - accept: function (visitor) { - if (this.features) { - this.features = visitor.visit(this.features); - } - this.path = visitor.visit(this.path); - if (!this.options.inline && this.root) { - this.root = visitor.visit(this.root); - } - }, - genCSS: function (env, output) { - if (this.css) { - output.add("@import ", this.currentFileInfo, this.index); - this.path.genCSS(env, output); - if (this.features) { - output.add(" "); - this.features.genCSS(env, output); - } - output.add(';'); - } - }, - toCSS: tree.toCSS, - getPath: function () { - if (this.path instanceof tree.Quoted) { - var path = this.path.value; - return (this.css !== undefined || /(\.[a-z]*$)|([\?;].*)$/.test(path)) ? path : path + '.less'; - } else if (this.path instanceof tree.URL) { - return this.path.value.value; - } - return null; - }, - evalForImport: function (env) { - return new (tree.Import)(this.path.eval(env), this.features, this.options, this.index, this.currentFileInfo); - }, - evalPath: function (env) { - var path = this.path.eval(env); - var rootpath = this.currentFileInfo && this.currentFileInfo.rootpath; - - if (!(path instanceof tree.URL)) { - if (rootpath) { - var pathValue = path.value; - // Add the base path if the import is relative - if (pathValue && env.isPathRelative(pathValue)) { - path.value = rootpath + pathValue; - } - } - path.value = env.normalizePath(path.value); - } - - return path; - }, - eval: function (env) { - var ruleset, features = this.features && this.features.eval(env); - - if (this.skip) { - if (typeof this.skip === "function") { - this.skip = this.skip(); - } - if (this.skip) { - return []; - } - } - - if (this.options.inline) { - //todo needs to reference css file not import - var contents = new (tree.Anonymous)(this.root, 0, {filename: this.importedFilename}, true, true); - return this.features ? new (tree.Media)([contents], this.features.value) : [contents]; - } else if (this.css) { - var newImport = new (tree.Import)(this.evalPath(env), features, this.options, this.index); - if (!newImport.css && this.error) { - throw this.error; - } - return newImport; - } else { - ruleset = new (tree.Ruleset)(null, this.root.rules.slice(0)); - - ruleset.evalImports(env); - - return this.features ? new (tree.Media)(ruleset.rules, this.features.value) : ruleset.rules; - } - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.JavaScript = function (string, index, escaped) { - this.escaped = escaped; - this.expression = string; - this.index = index; - }; - tree.JavaScript.prototype = { - type: "JavaScript", - eval: function (env) { - var result, - that = this, - context = {}; - - var expression = this.expression.replace(/@\{([\w-]+)\}/g, function (_, name) { - return tree.jsify(new (tree.Variable)('@' + name, that.index).eval(env)); - }); - - try { - expression = new (Function)('return (' + expression + ')'); - } catch (e) { - throw { - message: "JavaScript evaluation error: " + e.message + " from `" + expression + "`", - index: this.index - }; - } - - var variables = env.frames[0].variables(); - for (var k in variables) { - if (variables.hasOwnProperty(k)) { - /*jshint loopfunc:true */ - context[k.slice(1)] = { - value: variables[k].value, - toJS: function () { - return this.value.eval(env).toCSS(); - } - }; - } - } - - try { - result = expression.call(context); - } catch (e) { - throw { - message: "JavaScript evaluation error: '" + e.name + ': ' + e.message.replace(/["]/g, "'") + "'", - index: this.index - }; - } - if (typeof(result) === 'number') { - return new (tree.Dimension)(result); - } else if (typeof(result) === 'string') { - return new (tree.Quoted)('"' + result + '"', result, this.escaped, this.index); - } else if (Array.isArray(result)) { - return new (tree.Anonymous)(result.join(', ')); - } else { - return new (tree.Anonymous)(result); - } - } - }; - -})(require('../tree')); - - -(function (tree) { - - tree.Keyword = function (value) { - this.value = value; - }; - tree.Keyword.prototype = { - type: "Keyword", - eval: function () { - return this; - }, - genCSS: function (env, output) { - if (this.value === '%') { - throw {type: "Syntax", message: "Invalid % without number"}; - } - output.add(this.value); - }, - toCSS: tree.toCSS, - compare: function (other) { - if (other instanceof tree.Keyword) { - return other.value === this.value ? 0 : 1; - } else { - return -1; - } - } - }; - - tree.True = new (tree.Keyword)('true'); - tree.False = new (tree.Keyword)('false'); - -})(require('../tree')); - -(function (tree) { - - tree.Media = function (value, features, index, currentFileInfo) { - this.index = index; - this.currentFileInfo = currentFileInfo; - - var selectors = this.emptySelectors(); - - this.features = new (tree.Value)(features); - this.rules = [new (tree.Ruleset)(selectors, value)]; - this.rules[0].allowImports = true; - }; - tree.Media.prototype = { - type: "Media", - accept: function (visitor) { - if (this.features) { - this.features = visitor.visit(this.features); - } - if (this.rules) { - this.rules = visitor.visitArray(this.rules); - } - }, - genCSS: function (env, output) { - output.add('@media ', this.currentFileInfo, this.index); - this.features.genCSS(env, output); - tree.outputRuleset(env, output, this.rules); - }, - toCSS: tree.toCSS, - eval: function (env) { - if (!env.mediaBlocks) { - env.mediaBlocks = []; - env.mediaPath = []; - } - - var media = new (tree.Media)(null, [], this.index, this.currentFileInfo); - if (this.debugInfo) { - this.rules[0].debugInfo = this.debugInfo; - media.debugInfo = this.debugInfo; - } - var strictMathBypass = false; - if (!env.strictMath) { - strictMathBypass = true; - env.strictMath = true; - } - try { - media.features = this.features.eval(env); - } - finally { - if (strictMathBypass) { - env.strictMath = false; - } - } - - env.mediaPath.push(media); - env.mediaBlocks.push(media); - - env.frames.unshift(this.rules[0]); - media.rules = [this.rules[0].eval(env)]; - env.frames.shift(); - - env.mediaPath.pop(); - - return env.mediaPath.length === 0 ? media.evalTop(env) : - media.evalNested(env); - }, - variable: function (name) { - return tree.Ruleset.prototype.variable.call(this.rules[0], name); - }, - find: function () { - return tree.Ruleset.prototype.find.apply(this.rules[0], arguments); - }, - rulesets: function () { - return tree.Ruleset.prototype.rulesets.apply(this.rules[0]); - }, - emptySelectors: function () { - var el = new (tree.Element)('', '&', this.index, this.currentFileInfo), - sels = [new (tree.Selector)([el], null, null, this.index, this.currentFileInfo)]; - sels[0].mediaEmpty = true; - return sels; - }, - markReferenced: function () { - var i, rules = this.rules[0].rules; - this.rules[0].markReferenced(); - this.isReferenced = true; - for (i = 0; i < rules.length; i++) { - if (rules[i].markReferenced) { - rules[i].markReferenced(); - } - } - }, - - evalTop: function (env) { - var result = this; - - // Render all dependent Media blocks. - if (env.mediaBlocks.length > 1) { - var selectors = this.emptySelectors(); - result = new (tree.Ruleset)(selectors, env.mediaBlocks); - result.multiMedia = true; - } - - delete env.mediaBlocks; - delete env.mediaPath; - - return result; - }, - evalNested: function (env) { - var i, value, - path = env.mediaPath.concat([this]); - - // Extract the media-query conditions separated with `,` (OR). - for (i = 0; i < path.length; i++) { - value = path[i].features instanceof tree.Value ? - path[i].features.value : path[i].features; - path[i] = Array.isArray(value) ? value : [value]; - } - - // Trace all permutations to generate the resulting media-query. - // - // (a, b and c) with nested (d, e) -> - // a and d - // a and e - // b and c and d - // b and c and e - this.features = new (tree.Value)(this.permute(path).map(function (path) { - path = path.map(function (fragment) { - return fragment.toCSS ? fragment : new (tree.Anonymous)(fragment); - }); - - for (i = path.length - 1; i > 0; i--) { - path.splice(i, 0, new (tree.Anonymous)("and")); - } - - return new (tree.Expression)(path); - })); - - // Fake a tree-node that doesn't output anything. - return new (tree.Ruleset)([], []); - }, - permute: function (arr) { - if (arr.length === 0) { - return []; - } else if (arr.length === 1) { - return arr[0]; - } else { - var result = []; - var rest = this.permute(arr.slice(1)); - for (var i = 0; i < rest.length; i++) { - for (var j = 0; j < arr[0].length; j++) { - result.push([arr[0][j]].concat(rest[i])); - } - } - return result; - } - }, - bubbleSelectors: function (selectors) { - if (!selectors) - return; - this.rules = [new (tree.Ruleset)(selectors.slice(0), [this.rules[0]])]; - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.mixin = {}; - tree.mixin.Call = function (elements, args, index, currentFileInfo, important) { - this.selector = new (tree.Selector)(elements); - this.arguments = (args && args.length) ? args : null; - this.index = index; - this.currentFileInfo = currentFileInfo; - this.important = important; - }; - tree.mixin.Call.prototype = { - type: "MixinCall", - accept: function (visitor) { - if (this.selector) { - this.selector = visitor.visit(this.selector); - } - if (this.arguments) { - this.arguments = visitor.visitArray(this.arguments); - } - }, - eval: function (env) { - var mixins, mixin, args, rules = [], match = false, i, m, f, isRecursive, isOneFound, rule, - candidates = [], candidate, conditionResult = [], defaultFunc = tree.defaultFunc, - defaultResult, defNone = 0, defTrue = 1, defFalse = 2, count, originalRuleset; - - args = this.arguments && this.arguments.map(function (a) { - return {name: a.name, value: a.value.eval(env)}; - }); - - for (i = 0; i < env.frames.length; i++) { - if ((mixins = env.frames[i].find(this.selector)).length > 0) { - isOneFound = true; - - // To make `default()` function independent of definition order we have two "subpasses" here. - // At first we evaluate each guard *twice* (with `default() == true` and `default() == false`), - // and build candidate list with corresponding flags. Then, when we know all possible matches, - // we make a final decision. - - for (m = 0; m < mixins.length; m++) { - mixin = mixins[m]; - isRecursive = false; - for (f = 0; f < env.frames.length; f++) { - if ((!(mixin instanceof tree.mixin.Definition)) && mixin === (env.frames[f].originalRuleset || env.frames[f])) { - isRecursive = true; - break; - } - } - if (isRecursive) { - continue; - } - - if (mixin.matchArgs(args, env)) { - candidate = {mixin: mixin, group: defNone}; - - if (mixin.matchCondition) { - for (f = 0; f < 2; f++) { - defaultFunc.value(f); - conditionResult[f] = mixin.matchCondition(args, env); - } - if (conditionResult[0] || conditionResult[1]) { - if (conditionResult[0] != conditionResult[1]) { - candidate.group = conditionResult[1] ? - defTrue : defFalse; - } - - candidates.push(candidate); - } - } - else { - candidates.push(candidate); - } - - match = true; - } - } - - defaultFunc.reset(); - - count = [0, 0, 0]; - for (m = 0; m < candidates.length; m++) { - count[candidates[m].group]++; - } - - if (count[defNone] > 0) { - defaultResult = defFalse; - } else { - defaultResult = defTrue; - if ((count[defTrue] + count[defFalse]) > 1) { - throw { - type: 'Runtime', - message: 'Ambiguous use of `default()` found when matching for `' - + this.format(args) + '`', - index: this.index, filename: this.currentFileInfo.filename - }; - } - } - - for (m = 0; m < candidates.length; m++) { - candidate = candidates[m].group; - if ((candidate === defNone) || (candidate === defaultResult)) { - try { - mixin = candidates[m].mixin; - if (!(mixin instanceof tree.mixin.Definition)) { - originalRuleset = mixin.originalRuleset || mixin; - mixin = new tree.mixin.Definition("", [], mixin.rules, null, false); - mixin.originalRuleset = originalRuleset; - } - Array.prototype.push.apply( - rules, mixin.evalCall(env, args, this.important).rules); - } catch (e) { - throw { - message: e.message, - index: this.index, - filename: this.currentFileInfo.filename, - stack: e.stack - }; - } - } - } - - if (match) { - if (!this.currentFileInfo || !this.currentFileInfo.reference) { - for (i = 0; i < rules.length; i++) { - rule = rules[i]; - if (rule.markReferenced) { - rule.markReferenced(); - } - } - } - return rules; - } - } - } - if (isOneFound) { - throw { - type: 'Runtime', - message: 'No matching definition was found for `' + this.format(args) + '`', - index: this.index, filename: this.currentFileInfo.filename - }; - } else { - throw { - type: 'Name', - message: this.selector.toCSS().trim() + " is undefined", - index: this.index, filename: this.currentFileInfo.filename - }; - } - }, - format: function (args) { - return this.selector.toCSS().trim() + '(' + - (args ? args.map(function (a) { - var argValue = ""; - if (a.name) { - argValue += a.name + ":"; - } - if (a.value.toCSS) { - argValue += a.value.toCSS(); - } else { - argValue += "???"; - } - return argValue; - }).join(', ') : "") + ")"; - } - }; - - tree.mixin.Definition = function (name, params, rules, condition, variadic, frames) { - this.name = name; - this.selectors = [new (tree.Selector)([new (tree.Element)(null, name, this.index, this.currentFileInfo)])]; - this.params = params; - this.condition = condition; - this.variadic = variadic; - this.arity = params.length; - this.rules = rules; - this._lookups = {}; - this.required = params.reduce(function (count, p) { - if (!p.name || (p.name && !p.value)) { - return count + 1; - } - else { - return count; - } - }, 0); - this.parent = tree.Ruleset.prototype; - this.frames = frames; - }; - tree.mixin.Definition.prototype = { - type: "MixinDefinition", - accept: function (visitor) { - if (this.params && this.params.length) { - this.params = visitor.visitArray(this.params); - } - this.rules = visitor.visitArray(this.rules); - if (this.condition) { - this.condition = visitor.visit(this.condition); - } - }, - variable: function (name) { - return this.parent.variable.call(this, name); - }, - variables: function () { - return this.parent.variables.call(this); - }, - find: function () { - return this.parent.find.apply(this, arguments); - }, - rulesets: function () { - return this.parent.rulesets.apply(this); - }, - - evalParams: function (env, mixinEnv, args, evaldArguments) { - /*jshint boss:true */ - var frame = new (tree.Ruleset)(null, null), - varargs, arg, - params = this.params.slice(0), - i, j, val, name, isNamedFound, argIndex, argsLength = 0; - - mixinEnv = new tree.evalEnv(mixinEnv, [frame].concat(mixinEnv.frames)); - - if (args) { - args = args.slice(0); - argsLength = args.length; - - for (i = 0; i < argsLength; i++) { - arg = args[i]; - if (name = (arg && arg.name)) { - isNamedFound = false; - for (j = 0; j < params.length; j++) { - if (!evaldArguments[j] && name === params[j].name) { - evaldArguments[j] = arg.value.eval(env); - frame.prependRule(new (tree.Rule)(name, arg.value.eval(env))); - isNamedFound = true; - break; - } - } - if (isNamedFound) { - args.splice(i, 1); - i--; - continue; - } else { - throw { - type: 'Runtime', message: "Named argument for " + this.name + - ' ' + args[i].name + ' not found' - }; - } - } - } - } - argIndex = 0; - for (i = 0; i < params.length; i++) { - if (evaldArguments[i]) { - continue; - } - - arg = args && args[argIndex]; - - if (name = params[i].name) { - if (params[i].variadic) { - varargs = []; - for (j = argIndex; j < argsLength; j++) { - varargs.push(args[j].value.eval(env)); - } - frame.prependRule(new (tree.Rule)(name, new (tree.Expression)(varargs).eval(env))); - } else { - val = arg && arg.value; - if (val) { - val = val.eval(env); - } else if (params[i].value) { - val = params[i].value.eval(mixinEnv); - frame.resetCache(); - } else { - throw { - type: 'Runtime', message: "wrong number of arguments for " + this.name + - ' (' + argsLength + ' for ' + this.arity + ')' - }; - } - - frame.prependRule(new (tree.Rule)(name, val)); - evaldArguments[i] = val; - } - } - - if (params[i].variadic && args) { - for (j = argIndex; j < argsLength; j++) { - evaldArguments[j] = args[j].value.eval(env); - } - } - argIndex++; - } - - return frame; - }, - eval: function (env) { - return new tree.mixin.Definition(this.name, this.params, this.rules, this.condition, this.variadic, this.frames || env.frames.slice(0)); - }, - evalCall: function (env, args, important) { - var _arguments = [], - mixinFrames = this.frames ? this.frames.concat(env.frames) : env.frames, - frame = this.evalParams(env, new (tree.evalEnv)(env, mixinFrames), args, _arguments), - rules, ruleset; - - frame.prependRule(new (tree.Rule)('@arguments', new (tree.Expression)(_arguments).eval(env))); - - rules = this.rules.slice(0); - - ruleset = new (tree.Ruleset)(null, rules); - ruleset.originalRuleset = this; - ruleset = ruleset.eval(new (tree.evalEnv)(env, [this, frame].concat(mixinFrames))); - if (important) { - ruleset = this.parent.makeImportant.apply(ruleset); - } - return ruleset; - }, - matchCondition: function (args, env) { - if (this.condition && !this.condition.eval( - new (tree.evalEnv)(env, - [this.evalParams(env, new (tree.evalEnv)(env, this.frames ? this.frames.concat(env.frames) : env.frames), args, [])] // the parameter variables - .concat(this.frames) // the parent namespace/mixin frames - .concat(env.frames)))) { // the current environment frames - return false; - } - return true; - }, - matchArgs: function (args, env) { - var argsLength = (args && args.length) || 0, len; - - if (!this.variadic) { - if (argsLength < this.required) { - return false; - } - if (argsLength > this.params.length) { - return false; - } - } else { - if (argsLength < (this.required - 1)) { - return false; - } - } - - len = Math.min(argsLength, this.arity); - - for (var i = 0; i < len; i++) { - if (!this.params[i].name && !this.params[i].variadic) { - if (args[i].value.eval(env).toCSS() != this.params[i].value.eval(env).toCSS()) { - return false; - } - } - } - return true; - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Negative = function (node) { - this.value = node; - }; - tree.Negative.prototype = { - type: "Negative", - accept: function (visitor) { - this.value = visitor.visit(this.value); - }, - genCSS: function (env, output) { - output.add('-'); - this.value.genCSS(env, output); - }, - toCSS: tree.toCSS, - eval: function (env) { - if (env.isMathOn()) { - return (new (tree.Operation)('*', [new (tree.Dimension)(-1), this.value])).eval(env); - } - return new (tree.Negative)(this.value.eval(env)); - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Operation = function (op, operands, isSpaced) { - this.op = op.trim(); - this.operands = operands; - this.isSpaced = isSpaced; - }; - tree.Operation.prototype = { - type: "Operation", - accept: function (visitor) { - this.operands = visitor.visit(this.operands); - }, - eval: function (env) { - var a = this.operands[0].eval(env), - b = this.operands[1].eval(env); - - if (env.isMathOn()) { - if (a instanceof tree.Dimension && b instanceof tree.Color) { - a = a.toColor(); - } - if (b instanceof tree.Dimension && a instanceof tree.Color) { - b = b.toColor(); - } - if (!a.operate) { - throw { - type: "Operation", - message: "Operation on an invalid type" - }; - } - - return a.operate(env, this.op, b); - } else { - return new (tree.Operation)(this.op, [a, b], this.isSpaced); - } - }, - genCSS: function (env, output) { - this.operands[0].genCSS(env, output); - if (this.isSpaced) { - output.add(" "); - } - output.add(this.op); - if (this.isSpaced) { - output.add(" "); - } - this.operands[1].genCSS(env, output); - }, - toCSS: tree.toCSS - }; - - tree.operate = function (env, op, a, b) { - switch (op) { - case '+': - return a + b; - case '-': - return a - b; - case '*': - return a * b; - case '/': - return a / b; - } - }; - -})(require('../tree')); - - -(function (tree) { - - tree.Paren = function (node) { - this.value = node; - }; - tree.Paren.prototype = { - type: "Paren", - accept: function (visitor) { - this.value = visitor.visit(this.value); - }, - genCSS: function (env, output) { - output.add('('); - this.value.genCSS(env, output); - output.add(')'); - }, - toCSS: tree.toCSS, - eval: function (env) { - return new (tree.Paren)(this.value.eval(env)); - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Quoted = function (str, content, escaped, index, currentFileInfo) { - this.escaped = escaped; - this.value = content || ''; - this.quote = str.charAt(0); - this.index = index; - this.currentFileInfo = currentFileInfo; - }; - tree.Quoted.prototype = { - type: "Quoted", - genCSS: function (env, output) { - if (!this.escaped) { - output.add(this.quote, this.currentFileInfo, this.index); - } - output.add(this.value); - if (!this.escaped) { - output.add(this.quote); - } - }, - toCSS: tree.toCSS, - eval: function (env) { - var that = this; - var value = this.value.replace(/`([^`]+)`/g, function (_, exp) { - return new (tree.JavaScript)(exp, that.index, true).eval(env).value; - }).replace(/@\{([\w-]+)\}/g, function (_, name) { - var v = new (tree.Variable)('@' + name, that.index, that.currentFileInfo).eval(env, true); - return (v instanceof tree.Quoted) ? v.value : v.toCSS(); - }); - return new (tree.Quoted)(this.quote + value + this.quote, value, this.escaped, this.index, this.currentFileInfo); - }, - compare: function (x) { - if (!x.toCSS) { - return -1; - } - - var left, right; - - // when comparing quoted strings allow the quote to differ - if (x.type === "Quoted" && !this.escaped && !x.escaped) { - left = x.value; - right = this.value; - } else { - left = this.toCSS(); - right = x.toCSS(); - } - - if (left === right) { - return 0; - } - - return left < right ? -1 : 1; - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Rule = function (name, value, important, merge, index, currentFileInfo, inline, variable) { - this.name = name; - this.value = (value instanceof tree.Value || value instanceof tree.Ruleset) ? value : new (tree.Value)([value]); - this.important = important ? ' ' + important.trim() : ''; - this.merge = merge; - this.index = index; - this.currentFileInfo = currentFileInfo; - this.inline = inline || false; - this.variable = (variable !== undefined) ? variable - : (name.charAt && (name.charAt(0) === '@')); - }; - - tree.Rule.prototype = { - type: "Rule", - accept: function (visitor) { - this.value = visitor.visit(this.value); - }, - genCSS: function (env, output) { - output.add(this.name + (env.compress ? ':' : ': '), this.currentFileInfo, this.index); - try { - this.value.genCSS(env, output); - } - catch (e) { - e.index = this.index; - e.filename = this.currentFileInfo.filename; - throw e; - } - output.add(this.important + ((this.inline || (env.lastRule && env.compress)) ? "" : ";"), this.currentFileInfo, this.index); - }, - toCSS: tree.toCSS, - eval: function (env) { - var strictMathBypass = false, name = this.name, variable = this.variable, evaldValue; - if (typeof name !== "string") { - // expand 'primitive' name directly to get - // things faster (~10% for benchmark.less): - name = (name.length === 1) - && (name[0] instanceof tree.Keyword) - ? name[0].value : evalName(env, name); - variable = false; // never treat expanded interpolation as new variable name - } - if (name === "font" && !env.strictMath) { - strictMathBypass = true; - env.strictMath = true; - } - try { - evaldValue = this.value.eval(env); - - if (!this.variable && evaldValue.type === "DetachedRuleset") { - throw { - message: "Rulesets cannot be evaluated on a property.", - index: this.index, filename: this.currentFileInfo.filename - }; - } - - return new (tree.Rule)(name, - evaldValue, - this.important, - this.merge, - this.index, this.currentFileInfo, this.inline, - variable); - } - catch (e) { - if (typeof e.index !== 'number') { - e.index = this.index; - e.filename = this.currentFileInfo.filename; - } - throw e; - } - finally { - if (strictMathBypass) { - env.strictMath = false; - } - } - }, - makeImportant: function () { - return new (tree.Rule)(this.name, - this.value, - "!important", - this.merge, - this.index, this.currentFileInfo, this.inline); - } - }; - - function evalName(env, name) { - var value = "", i, n = name.length, - output = { - add: function (s) { - value += s; - } - }; - for (i = 0; i < n; i++) { - name[i].eval(env).genCSS(env, output); - } - return value; - } - -})(require('../tree')); - -(function (tree) { - - tree.RulesetCall = function (variable) { - this.variable = variable; - }; - tree.RulesetCall.prototype = { - type: "RulesetCall", - accept: function (visitor) { - }, - eval: function (env) { - var detachedRuleset = new (tree.Variable)(this.variable).eval(env); - return detachedRuleset.callEval(env); - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Ruleset = function (selectors, rules, strictImports) { - this.selectors = selectors; - this.rules = rules; - this._lookups = {}; - this.strictImports = strictImports; - }; - tree.Ruleset.prototype = { - type: "Ruleset", - accept: function (visitor) { - if (this.paths) { - visitor.visitArray(this.paths, true); - } else if (this.selectors) { - this.selectors = visitor.visitArray(this.selectors); - } - if (this.rules && this.rules.length) { - this.rules = visitor.visitArray(this.rules); - } - }, - eval: function (env) { - var thisSelectors = this.selectors, selectors, - selCnt, selector, i, defaultFunc = tree.defaultFunc, hasOnePassingSelector = false; - - if (thisSelectors && (selCnt = thisSelectors.length)) { - selectors = []; - defaultFunc.error({ - type: "Syntax", - message: "it is currently only allowed in parametric mixin guards," - }); - for (i = 0; i < selCnt; i++) { - selector = thisSelectors[i].eval(env); - selectors.push(selector); - if (selector.evaldCondition) { - hasOnePassingSelector = true; - } - } - defaultFunc.reset(); - } else { - hasOnePassingSelector = true; - } - - var rules = this.rules ? this.rules.slice(0) : null, - ruleset = new (tree.Ruleset)(selectors, rules, this.strictImports), - rule, subRule; - - ruleset.originalRuleset = this; - ruleset.root = this.root; - ruleset.firstRoot = this.firstRoot; - ruleset.allowImports = this.allowImports; - - if (this.debugInfo) { - ruleset.debugInfo = this.debugInfo; - } - - if (!hasOnePassingSelector) { - rules.length = 0; - } - - // push the current ruleset to the frames stack - var envFrames = env.frames; - envFrames.unshift(ruleset); - - // currrent selectors - var envSelectors = env.selectors; - if (!envSelectors) { - env.selectors = envSelectors = []; - } - envSelectors.unshift(this.selectors); - - // Evaluate imports - if (ruleset.root || ruleset.allowImports || !ruleset.strictImports) { - ruleset.evalImports(env); - } - - // Store the frames around mixin definitions, - // so they can be evaluated like closures when the time comes. - var rsRules = ruleset.rules, rsRuleCnt = rsRules ? rsRules.length : 0; - for (i = 0; i < rsRuleCnt; i++) { - if (rsRules[i] instanceof tree.mixin.Definition || rsRules[i] instanceof tree.DetachedRuleset) { - rsRules[i] = rsRules[i].eval(env); - } - } - - var mediaBlockCount = (env.mediaBlocks && env.mediaBlocks.length) || 0; - - // Evaluate mixin calls. - for (i = 0; i < rsRuleCnt; i++) { - if (rsRules[i] instanceof tree.mixin.Call) { - /*jshint loopfunc:true */ - rules = rsRules[i].eval(env).filter(function (r) { - if ((r instanceof tree.Rule) && r.variable) { - // do not pollute the scope if the variable is - // already there. consider returning false here - // but we need a way to "return" variable from mixins - return !(ruleset.variable(r.name)); - } - return true; - }); - rsRules.splice.apply(rsRules, [i, 1].concat(rules)); - rsRuleCnt += rules.length - 1; - i += rules.length - 1; - ruleset.resetCache(); - } else if (rsRules[i] instanceof tree.RulesetCall) { - /*jshint loopfunc:true */ - rules = rsRules[i].eval(env).rules.filter(function (r) { - if ((r instanceof tree.Rule) && r.variable) { - // do not pollute the scope at all - return false; - } - return true; - }); - rsRules.splice.apply(rsRules, [i, 1].concat(rules)); - rsRuleCnt += rules.length - 1; - i += rules.length - 1; - ruleset.resetCache(); - } - } - - // Evaluate everything else - for (i = 0; i < rsRules.length; i++) { - rule = rsRules[i]; - if (!(rule instanceof tree.mixin.Definition || rule instanceof tree.DetachedRuleset)) { - rsRules[i] = rule = rule.eval ? rule.eval(env) : rule; - } - } - - // Evaluate everything else - for (i = 0; i < rsRules.length; i++) { - rule = rsRules[i]; - // for rulesets, check if it is a css guard and can be removed - if (rule instanceof tree.Ruleset && rule.selectors && rule.selectors.length === 1) { - // check if it can be folded in (e.g. & where) - if (rule.selectors[0].isJustParentSelector()) { - rsRules.splice(i--, 1); - - for (var j = 0; j < rule.rules.length; j++) { - subRule = rule.rules[j]; - if (!(subRule instanceof tree.Rule) || !subRule.variable) { - rsRules.splice(++i, 0, subRule); - } - } - } - } - } - - // Pop the stack - envFrames.shift(); - envSelectors.shift(); - - if (env.mediaBlocks) { - for (i = mediaBlockCount; i < env.mediaBlocks.length; i++) { - env.mediaBlocks[i].bubbleSelectors(selectors); - } - } - - return ruleset; - }, - evalImports: function (env) { - var rules = this.rules, i, importRules; - if (!rules) { - return; - } - - for (i = 0; i < rules.length; i++) { - if (rules[i] instanceof tree.Import) { - importRules = rules[i].eval(env); - if (importRules && importRules.length) { - rules.splice.apply(rules, [i, 1].concat(importRules)); - i += importRules.length - 1; - } else { - rules.splice(i, 1, importRules); - } - this.resetCache(); - } - } - }, - makeImportant: function () { - return new tree.Ruleset(this.selectors, this.rules.map(function (r) { - if (r.makeImportant) { - return r.makeImportant(); - } else { - return r; - } - }), this.strictImports); - }, - matchArgs: function (args) { - return !args || args.length === 0; - }, - // lets you call a css selector with a guard - matchCondition: function (args, env) { - var lastSelector = this.selectors[this.selectors.length - 1]; - if (!lastSelector.evaldCondition) { - return false; - } - if (lastSelector.condition && !lastSelector.condition.eval( - new (tree.evalEnv)(env, - env.frames))) { - return false; - } - return true; - }, - resetCache: function () { - this._rulesets = null; - this._variables = null; - this._lookups = {}; - }, - variables: function () { - if (!this._variables) { - this._variables = !this.rules ? {} : this.rules.reduce(function (hash, r) { - if (r instanceof tree.Rule && r.variable === true) { - hash[r.name] = r; - } - return hash; - }, {}); - } - return this._variables; - }, - variable: function (name) { - return this.variables()[name]; - }, - rulesets: function () { - if (!this.rules) { - return null; - } - - var _Ruleset = tree.Ruleset, _MixinDefinition = tree.mixin.Definition, - filtRules = [], rules = this.rules, cnt = rules.length, - i, rule; - - for (i = 0; i < cnt; i++) { - rule = rules[i]; - if ((rule instanceof _Ruleset) || (rule instanceof _MixinDefinition)) { - filtRules.push(rule); - } - } - - return filtRules; - }, - prependRule: function (rule) { - var rules = this.rules; - if (rules) { - rules.unshift(rule); - } else { - this.rules = [rule]; - } - }, - find: function (selector, self) { - self = self || this; - var rules = [], match, - key = selector.toCSS(); - - if (key in this._lookups) { - return this._lookups[key]; - } - - this.rulesets().forEach(function (rule) { - if (rule !== self) { - for (var j = 0; j < rule.selectors.length; j++) { - match = selector.match(rule.selectors[j]); - if (match) { - if (selector.elements.length > match) { - Array.prototype.push.apply(rules, rule.find( - new (tree.Selector)(selector.elements.slice(match)), self)); - } else { - rules.push(rule); - } - break; - } - } - } - }); - this._lookups[key] = rules; - return rules; - }, - genCSS: function (env, output) { - var i, j, - charsetRuleNodes = [], - ruleNodes = [], - rulesetNodes = [], - rulesetNodeCnt, - debugInfo, // Line number debugging - rule, - path; - - env.tabLevel = (env.tabLevel || 0); - - if (!this.root) { - env.tabLevel++; - } - - var tabRuleStr = env.compress ? '' : Array(env.tabLevel + 1).join(" "), - tabSetStr = env.compress ? '' : Array(env.tabLevel).join(" "), - sep; - - function isRulesetLikeNode(rule, root) { - // if it has nested rules, then it should be treated like a ruleset - if (rule.rules) - return true; - - // medias and comments do not have nested rules, but should be treated like rulesets anyway - if ((rule instanceof tree.Media) || (root && rule instanceof tree.Comment)) - return true; - - // some directives and anonumoust nodes are ruleset like, others are not - if ((rule instanceof tree.Directive) || (rule instanceof tree.Anonymous)) { - return rule.isRulesetLike(); - } - - //anything else is assumed to be a rule - return false; - } - - for (i = 0; i < this.rules.length; i++) { - rule = this.rules[i]; - if (isRulesetLikeNode(rule, this.root)) { - rulesetNodes.push(rule); - } else { - //charsets should float on top of everything - if (rule.isCharset && rule.isCharset()) { - charsetRuleNodes.push(rule); - } else { - ruleNodes.push(rule); - } - } - } - ruleNodes = charsetRuleNodes.concat(ruleNodes); - - // If this is the root node, we don't render - // a selector, or {}. - if (!this.root) { - debugInfo = tree.debugInfo(env, this, tabSetStr); - - if (debugInfo) { - output.add(debugInfo); - output.add(tabSetStr); - } - - var paths = this.paths, pathCnt = paths.length, - pathSubCnt; - - sep = env.compress ? ',' : (',\n' + tabSetStr); - - for (i = 0; i < pathCnt; i++) { - path = paths[i]; - if (!(pathSubCnt = path.length)) { - continue; - } - if (i > 0) { - output.add(sep); - } - - env.firstSelector = true; - path[0].genCSS(env, output); - - env.firstSelector = false; - for (j = 1; j < pathSubCnt; j++) { - path[j].genCSS(env, output); - } - } - - output.add((env.compress ? '{' : ' {\n') + tabRuleStr); - } - - // Compile rules and rulesets - for (i = 0; i < ruleNodes.length; i++) { - rule = ruleNodes[i]; - - // @page{ directive ends up with root elements inside it, a mix of rules and rulesets - // In this instance we do not know whether it is the last property - if (i + 1 === ruleNodes.length && (!this.root || rulesetNodes.length === 0 || this.firstRoot)) { - env.lastRule = true; - } - - if (rule.genCSS) { - rule.genCSS(env, output); - } else if (rule.value) { - output.add(rule.value.toString()); - } - - if (!env.lastRule) { - output.add(env.compress ? '' : ('\n' + tabRuleStr)); - } else { - env.lastRule = false; - } - } - - if (!this.root) { - output.add((env.compress ? '}' : '\n' + tabSetStr + '}')); - env.tabLevel--; - } - - sep = (env.compress ? "" : "\n") + (this.root ? tabRuleStr : tabSetStr); - rulesetNodeCnt = rulesetNodes.length; - if (rulesetNodeCnt) { - if (ruleNodes.length && sep) { - output.add(sep); - } - rulesetNodes[0].genCSS(env, output); - for (i = 1; i < rulesetNodeCnt; i++) { - if (sep) { - output.add(sep); - } - rulesetNodes[i].genCSS(env, output); - } - } - - if (!output.isEmpty() && !env.compress && this.firstRoot) { - output.add('\n'); - } - }, - - toCSS: tree.toCSS, - - markReferenced: function () { - if (!this.selectors) { - return; - } - for (var s = 0; s < this.selectors.length; s++) { - this.selectors[s].markReferenced(); - } - }, - - joinSelectors: function (paths, context, selectors) { - for (var s = 0; s < selectors.length; s++) { - this.joinSelector(paths, context, selectors[s]); - } - }, - - joinSelector: function (paths, context, selector) { - - var i, j, k, - hasParentSelector, newSelectors, el, sel, parentSel, - newSelectorPath, afterParentJoin, newJoinedSelector, - newJoinedSelectorEmpty, lastSelector, currentElements, - selectorsMultiplied; - - for (i = 0; i < selector.elements.length; i++) { - el = selector.elements[i]; - if (el.value === '&') { - hasParentSelector = true; - } - } - - if (!hasParentSelector) { - if (context.length > 0) { - for (i = 0; i < context.length; i++) { - paths.push(context[i].concat(selector)); - } - } - else { - paths.push([selector]); - } - return; - } - - // The paths are [[Selector]] - // The first list is a list of comma seperated selectors - // The inner list is a list of inheritance seperated selectors - // e.g. - // .a, .b { - // .c { - // } - // } - // == [[.a] [.c]] [[.b] [.c]] - // - - // the elements from the current selector so far - currentElements = []; - // the current list of new selectors to add to the path. - // We will build it up. We initiate it with one empty selector as we "multiply" the new selectors - // by the parents - newSelectors = [[]]; - - for (i = 0; i < selector.elements.length; i++) { - el = selector.elements[i]; - // non parent reference elements just get added - if (el.value !== "&") { - currentElements.push(el); - } else { - // the new list of selectors to add - selectorsMultiplied = []; - - // merge the current list of non parent selector elements - // on to the current list of selectors to add - if (currentElements.length > 0) { - this.mergeElementsOnToSelectors(currentElements, newSelectors); - } - - // loop through our current selectors - for (j = 0; j < newSelectors.length; j++) { - sel = newSelectors[j]; - // if we don't have any parent paths, the & might be in a mixin so that it can be used - // whether there are parents or not - if (context.length === 0) { - // the combinator used on el should now be applied to the next element instead so that - // it is not lost - if (sel.length > 0) { - sel[0].elements = sel[0].elements.slice(0); - sel[0].elements.push(new (tree.Element)(el.combinator, '', el.index, el.currentFileInfo)); - } - selectorsMultiplied.push(sel); - } - else { - // and the parent selectors - for (k = 0; k < context.length; k++) { - parentSel = context[k]; - // We need to put the current selectors - // then join the last selector's elements on to the parents selectors - - // our new selector path - newSelectorPath = []; - // selectors from the parent after the join - afterParentJoin = []; - newJoinedSelectorEmpty = true; - - //construct the joined selector - if & is the first thing this will be empty, - // if not newJoinedSelector will be the last set of elements in the selector - if (sel.length > 0) { - newSelectorPath = sel.slice(0); - lastSelector = newSelectorPath.pop(); - newJoinedSelector = selector.createDerived(lastSelector.elements.slice(0)); - newJoinedSelectorEmpty = false; - } - else { - newJoinedSelector = selector.createDerived([]); - } - - //put together the parent selectors after the join - if (parentSel.length > 1) { - afterParentJoin = afterParentJoin.concat(parentSel.slice(1)); - } - - if (parentSel.length > 0) { - newJoinedSelectorEmpty = false; - - // join the elements so far with the first part of the parent - newJoinedSelector.elements.push(new (tree.Element)(el.combinator, parentSel[0].elements[0].value, el.index, el.currentFileInfo)); - newJoinedSelector.elements = newJoinedSelector.elements.concat(parentSel[0].elements.slice(1)); - } - - if (!newJoinedSelectorEmpty) { - // now add the joined selector - newSelectorPath.push(newJoinedSelector); - } - - // and the rest of the parent - newSelectorPath = newSelectorPath.concat(afterParentJoin); - - // add that to our new set of selectors - selectorsMultiplied.push(newSelectorPath); - } - } - } - - // our new selectors has been multiplied, so reset the state - newSelectors = selectorsMultiplied; - currentElements = []; - } - } - - // if we have any elements left over (e.g. .a& .b == .b) - // add them on to all the current selectors - if (currentElements.length > 0) { - this.mergeElementsOnToSelectors(currentElements, newSelectors); - } - - for (i = 0; i < newSelectors.length; i++) { - if (newSelectors[i].length > 0) { - paths.push(newSelectors[i]); - } - } - }, - - mergeElementsOnToSelectors: function (elements, selectors) { - var i, sel; - - if (selectors.length === 0) { - selectors.push([new (tree.Selector)(elements)]); - return; - } - - for (i = 0; i < selectors.length; i++) { - sel = selectors[i]; - - // if the previous thing in sel is a parent this needs to join on to it - if (sel.length > 0) { - sel[sel.length - 1] = sel[sel.length - 1].createDerived(sel[sel.length - 1].elements.concat(elements)); - } - else { - sel.push(new (tree.Selector)(elements)); - } - } - } - }; -})(require('../tree')); - -(function (tree) { - - tree.Selector = function (elements, extendList, condition, index, currentFileInfo, isReferenced) { - this.elements = elements; - this.extendList = extendList; - this.condition = condition; - this.currentFileInfo = currentFileInfo || {}; - this.isReferenced = isReferenced; - if (!condition) { - this.evaldCondition = true; - } - }; - tree.Selector.prototype = { - type: "Selector", - accept: function (visitor) { - if (this.elements) { - this.elements = visitor.visitArray(this.elements); - } - if (this.extendList) { - this.extendList = visitor.visitArray(this.extendList); - } - if (this.condition) { - this.condition = visitor.visit(this.condition); - } - }, - createDerived: function (elements, extendList, evaldCondition) { - evaldCondition = (evaldCondition != null) ? evaldCondition : this.evaldCondition; - var newSelector = new (tree.Selector)(elements, extendList || this.extendList, null, this.index, this.currentFileInfo, this.isReferenced); - newSelector.evaldCondition = evaldCondition; - newSelector.mediaEmpty = this.mediaEmpty; - return newSelector; - }, - match: function (other) { - var elements = this.elements, - len = elements.length, - olen, i; - - other.CacheElements(); - - olen = other._elements.length; - if (olen === 0 || len < olen) { - return 0; - } else { - for (i = 0; i < olen; i++) { - if (elements[i].value !== other._elements[i]) { - return 0; - } - } - } - - return olen; // return number of matched elements - }, - CacheElements: function () { - var css = '', len, v, i; - - if (!this._elements) { - - len = this.elements.length; - for (i = 0; i < len; i++) { - - v = this.elements[i]; - css += v.combinator.value; - - if (!v.value.value) { - css += v.value; - continue; - } - - if (typeof v.value.value !== "string") { - css = ''; - break; - } - css += v.value.value; - } - - this._elements = css.match(/[,&#\*\.\w-]([\w-]|(\\.))*/g); - - if (this._elements) { - if (this._elements[0] === "&") { - this._elements.shift(); - } - - } else { - this._elements = []; - } - - } - }, - isJustParentSelector: function () { - return !this.mediaEmpty && - this.elements.length === 1 && - this.elements[0].value === '&' && - (this.elements[0].combinator.value === ' ' || this.elements[0].combinator.value === ''); - }, - eval: function (env) { - var evaldCondition = this.condition && this.condition.eval(env), - elements = this.elements, extendList = this.extendList; - - elements = elements && elements.map(function (e) { - return e.eval(env); - }); - extendList = extendList && extendList.map(function (extend) { - return extend.eval(env); - }); - - return this.createDerived(elements, extendList, evaldCondition); - }, - genCSS: function (env, output) { - var i, element; - if ((!env || !env.firstSelector) && this.elements[0].combinator.value === "") { - output.add(' ', this.currentFileInfo, this.index); - } - if (!this._css) { - //TODO caching? speed comparison? - for (i = 0; i < this.elements.length; i++) { - element = this.elements[i]; - element.genCSS(env, output); - } - } - }, - toCSS: tree.toCSS, - markReferenced: function () { - this.isReferenced = true; - }, - getIsReferenced: function () { - return !this.currentFileInfo.reference || this.isReferenced; - }, - getIsOutput: function () { - return this.evaldCondition; - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.UnicodeDescriptor = function (value) { - this.value = value; - }; - tree.UnicodeDescriptor.prototype = { - type: "UnicodeDescriptor", - genCSS: function (env, output) { - output.add(this.value); - }, - toCSS: tree.toCSS, - eval: function () { - return this; - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.URL = function (val, currentFileInfo, isEvald) { - this.value = val; - this.currentFileInfo = currentFileInfo; - this.isEvald = isEvald; - }; - tree.URL.prototype = { - type: "Url", - accept: function (visitor) { - this.value = visitor.visit(this.value); - }, - genCSS: function (env, output) { - output.add("url("); - this.value.genCSS(env, output); - output.add(")"); - }, - toCSS: tree.toCSS, - eval: function (ctx) { - var val = this.value.eval(ctx), - rootpath; - - if (!this.isEvald) { - // Add the base path if the URL is relative - rootpath = this.currentFileInfo && this.currentFileInfo.rootpath; - if (rootpath && typeof val.value === "string" && ctx.isPathRelative(val.value)) { - if (!val.quote) { - rootpath = rootpath.replace(/[\(\)'"\s]/g, function (match) { - return "\\" + match; - }); - } - val.value = rootpath + val.value; - } - - val.value = ctx.normalizePath(val.value); - - // Add url args if enabled - if (ctx.urlArgs) { - if (!val.value.match(/^\s*data:/)) { - var delimiter = val.value.indexOf('?') === -1 ? '?' : '&'; - var urlArgs = delimiter + ctx.urlArgs; - if (val.value.indexOf('#') !== -1) { - val.value = val.value.replace('#', urlArgs + '#'); - } else { - val.value += urlArgs; - } - } - } - } - - return new (tree.URL)(val, this.currentFileInfo, true); - } - }; - -})(require('../tree')); - -(function (tree) { - - tree.Value = function (value) { - this.value = value; - }; - tree.Value.prototype = { - type: "Value", - accept: function (visitor) { - if (this.value) { - this.value = visitor.visitArray(this.value); - } - }, - eval: function (env) { - if (this.value.length === 1) { - return this.value[0].eval(env); - } else { - return new (tree.Value)(this.value.map(function (v) { - return v.eval(env); - })); - } - }, - genCSS: function (env, output) { - var i; - for (i = 0; i < this.value.length; i++) { - this.value[i].genCSS(env, output); - if (i + 1 < this.value.length) { - output.add((env && env.compress) ? ',' : ', '); - } - } - }, - toCSS: tree.toCSS - }; - -})(require('../tree')); - -(function (tree) { - - tree.Variable = function (name, index, currentFileInfo) { - this.name = name; - this.index = index; - this.currentFileInfo = currentFileInfo || {}; - }; - tree.Variable.prototype = { - type: "Variable", - eval: function (env) { - var variable, name = this.name; - - if (name.indexOf('@@') === 0) { - name = '@' + new (tree.Variable)(name.slice(1)).eval(env).value; - } - - if (this.evaluating) { - throw { - type: 'Name', - message: "Recursive variable definition for " + name, - filename: this.currentFileInfo.file, - index: this.index - }; - } - - this.evaluating = true; - - variable = tree.find(env.frames, function (frame) { - var v = frame.variable(name); - if (v) { - return v.value.eval(env); - } - }); - if (variable) { - this.evaluating = false; - return variable; - } else { - throw { - type: 'Name', - message: "variable " + name + " is undefined", - filename: this.currentFileInfo.filename, - index: this.index - }; - } - } - }; - -})(require('../tree')); - -(function (tree) { - - var parseCopyProperties = [ - 'paths', // option - unmodified - paths to search for imports on - 'optimization', // option - optimization level (for the chunker) - 'files', // list of files that have been imported, used for import-once - 'contents', // map - filename to contents of all the files - 'contentsIgnoredChars', // map - filename to lines at the begining of each file to ignore - 'relativeUrls', // option - whether to adjust URL's to be relative - 'rootpath', // option - rootpath to append to URL's - 'strictImports', // option - - 'insecure', // option - whether to allow imports from insecure ssl hosts - 'dumpLineNumbers', // option - whether to dump line numbers - 'compress', // option - whether to compress - 'processImports', // option - whether to process imports. if false then imports will not be imported - 'syncImport', // option - whether to import synchronously - 'javascriptEnabled',// option - whether JavaScript is enabled. if undefined, defaults to true - 'mime', // browser only - mime type for sheet import - 'useFileCache', // browser only - whether to use the per file session cache - 'currentFileInfo' // information about the current file - for error reporting and importing and making urls relative etc. - ]; - - //currentFileInfo = { - // 'relativeUrls' - option - whether to adjust URL's to be relative - // 'filename' - full resolved filename of current file - // 'rootpath' - path to append to normal URLs for this node - // 'currentDirectory' - path to the current file, absolute - // 'rootFilename' - filename of the base file - // 'entryPath' - absolute path to the entry file - // 'reference' - whether the file should not be output and only output parts that are referenced - - tree.parseEnv = function (options) { - copyFromOriginal(options, this, parseCopyProperties); - - if (!this.contents) { - this.contents = {}; - } - if (!this.contentsIgnoredChars) { - this.contentsIgnoredChars = {}; - } - if (!this.files) { - this.files = {}; - } - - if (typeof this.paths === "string") { - this.paths = [this.paths]; - } - - if (!this.currentFileInfo) { - var filename = (options && options.filename) || "input"; - var entryPath = filename.replace(/[^\/\\]*$/, ""); - if (options) { - options.filename = null; - } - this.currentFileInfo = { - filename: filename, - relativeUrls: this.relativeUrls, - rootpath: (options && options.rootpath) || "", - currentDirectory: entryPath, - entryPath: entryPath, - rootFilename: filename - }; - } - }; - - var evalCopyProperties = [ - 'silent', // whether to swallow errors and warnings - 'verbose', // whether to log more activity - 'compress', // whether to compress - 'yuicompress', // whether to compress with the outside tool yui compressor - 'ieCompat', // whether to enforce IE compatibility (IE8 data-uri) - 'strictMath', // whether math has to be within parenthesis - 'strictUnits', // whether units need to evaluate correctly - 'cleancss', // whether to compress with clean-css - 'sourceMap', // whether to output a source map - 'importMultiple', // whether we are currently importing multiple copies - 'urlArgs' // whether to add args into url tokens - ]; - - tree.evalEnv = function (options, frames) { - copyFromOriginal(options, this, evalCopyProperties); - - this.frames = frames || []; - }; - - tree.evalEnv.prototype.inParenthesis = function () { - if (!this.parensStack) { - this.parensStack = []; - } - this.parensStack.push(true); - }; - - tree.evalEnv.prototype.outOfParenthesis = function () { - this.parensStack.pop(); - }; - - tree.evalEnv.prototype.isMathOn = function () { - return this.strictMath ? (this.parensStack && this.parensStack.length) : true; - }; - - tree.evalEnv.prototype.isPathRelative = function (path) { - return !/^(?:[a-z-]+:|\/)/.test(path); - }; - - tree.evalEnv.prototype.normalizePath = function (path) { - var - segments = path.split("/").reverse(), - segment; - - path = []; - while (segments.length !== 0) { - segment = segments.pop(); - switch (segment) { - case ".": - break; - case "..": - if ((path.length === 0) || (path[path.length - 1] === "..")) { - path.push(segment); - } else { - path.pop(); - } - break; - default: - path.push(segment); - break; - } - } - - return path.join("/"); - }; - - //todo - do the same for the toCSS env - //tree.toCSSEnv = function (options) { - //}; - - var copyFromOriginal = function (original, destination, propertiesToCopy) { - if (!original) { - return; - } - - for (var i = 0; i < propertiesToCopy.length; i++) { - if (original.hasOwnProperty(propertiesToCopy[i])) { - destination[propertiesToCopy[i]] = original[propertiesToCopy[i]]; - } - } - }; - -})(require('./tree')); - -(function (tree) { - - var _visitArgs = {visitDeeper: true}, - _hasIndexed = false; - - function _noop(node) { - return node; - } - - function indexNodeTypes(parent, ticker) { - // add .typeIndex to tree node types for lookup table - var key, child; - for (key in parent) { - if (parent.hasOwnProperty(key)) { - child = parent[key]; - switch (typeof child) { - case "function": - // ignore bound functions directly on tree which do not have a prototype - // or aren't nodes - if (child.prototype && child.prototype.type) { - child.prototype.typeIndex = ticker++; - } - break; - case "object": - ticker = indexNodeTypes(child, ticker); - break; - } - } - } - return ticker; - } - - tree.visitor = function (implementation) { - this._implementation = implementation; - this._visitFnCache = []; - - if (!_hasIndexed) { - indexNodeTypes(tree, 1); - _hasIndexed = true; - } - }; - - tree.visitor.prototype = { - visit: function (node) { - if (!node) { - return node; - } - - var nodeTypeIndex = node.typeIndex; - if (!nodeTypeIndex) { - return node; - } - - var visitFnCache = this._visitFnCache, - impl = this._implementation, - aryIndx = nodeTypeIndex << 1, - outAryIndex = aryIndx | 1, - func = visitFnCache[aryIndx], - funcOut = visitFnCache[outAryIndex], - visitArgs = _visitArgs, - fnName; - - visitArgs.visitDeeper = true; - - if (!func) { - fnName = "visit" + node.type; - func = impl[fnName] || _noop; - funcOut = impl[fnName + "Out"] || _noop; - visitFnCache[aryIndx] = func; - visitFnCache[outAryIndex] = funcOut; - } - - if (func !== _noop) { - var newNode = func.call(impl, node, visitArgs); - if (impl.isReplacing) { - node = newNode; - } - } - - if (visitArgs.visitDeeper && node && node.accept) { - node.accept(this); - } - - if (funcOut != _noop) { - funcOut.call(impl, node); - } - - return node; - }, - visitArray: function (nodes, nonReplacing) { - if (!nodes) { - return nodes; - } - - var cnt = nodes.length, i; - - // Non-replacing - if (nonReplacing || !this._implementation.isReplacing) { - for (i = 0; i < cnt; i++) { - this.visit(nodes[i]); - } - return nodes; - } - - // Replacing - var out = []; - for (i = 0; i < cnt; i++) { - var evald = this.visit(nodes[i]); - if (!evald.splice) { - out.push(evald); - } else if (evald.length) { - this.flatten(evald, out); - } - } - return out; - }, - flatten: function (arr, out) { - if (!out) { - out = []; - } - - var cnt, i, item, - nestedCnt, j, nestedItem; - - for (i = 0, cnt = arr.length; i < cnt; i++) { - item = arr[i]; - if (!item.splice) { - out.push(item); - continue; - } - - for (j = 0, nestedCnt = item.length; j < nestedCnt; j++) { - nestedItem = item[j]; - if (!nestedItem.splice) { - out.push(nestedItem); - } else if (nestedItem.length) { - this.flatten(nestedItem, out); - } - } - } - - return out; - } - }; - -})(require('./tree')); -(function (tree) { - tree.importVisitor = function (importer, finish, evalEnv, onceFileDetectionMap, recursionDetector) { - this._visitor = new tree.visitor(this); - this._importer = importer; - this._finish = finish; - this.env = evalEnv || new tree.evalEnv(); - this.importCount = 0; - this.onceFileDetectionMap = onceFileDetectionMap || {}; - this.recursionDetector = {}; - if (recursionDetector) { - for (var fullFilename in recursionDetector) { - if (recursionDetector.hasOwnProperty(fullFilename)) { - this.recursionDetector[fullFilename] = true; - } - } - } - }; - - tree.importVisitor.prototype = { - isReplacing: true, - run: function (root) { - var error; - try { - // process the contents - this._visitor.visit(root); - } - catch (e) { - error = e; - } - - this.isFinished = true; - - if (this.importCount === 0) { - this._finish(error); - } - }, - visitImport: function (importNode, visitArgs) { - var importVisitor = this, - evaldImportNode, - inlineCSS = importNode.options.inline; - - if (!importNode.css || inlineCSS) { - - try { - evaldImportNode = importNode.evalForImport(this.env); - } catch (e) { - if (!e.filename) { - e.index = importNode.index; - e.filename = importNode.currentFileInfo.filename; - } - // attempt to eval properly and treat as css - importNode.css = true; - // if that fails, this error will be thrown - importNode.error = e; - } - - if (evaldImportNode && (!evaldImportNode.css || inlineCSS)) { - importNode = evaldImportNode; - this.importCount++; - var env = new tree.evalEnv(this.env, this.env.frames.slice(0)); - - if (importNode.options.multiple) { - env.importMultiple = true; - } - - this._importer.push(importNode.getPath(), importNode.currentFileInfo, importNode.options, function (e, root, importedAtRoot, fullPath) { - if (e && !e.filename) { - e.index = importNode.index; - e.filename = importNode.currentFileInfo.filename; - } - - var duplicateImport = importedAtRoot || fullPath in importVisitor.recursionDetector; - if (!env.importMultiple) { - if (duplicateImport) { - importNode.skip = true; - } else { - importNode.skip = function () { - if (fullPath in importVisitor.onceFileDetectionMap) { - return true; - } - importVisitor.onceFileDetectionMap[fullPath] = true; - return false; - }; - } - } - - var subFinish = function (e) { - importVisitor.importCount--; - - if (importVisitor.importCount === 0 && importVisitor.isFinished) { - importVisitor._finish(e); - } - }; - - if (root) { - importNode.root = root; - importNode.importedFilename = fullPath; - - if (!inlineCSS && (env.importMultiple || !duplicateImport)) { - importVisitor.recursionDetector[fullPath] = true; - new (tree.importVisitor)(importVisitor._importer, subFinish, env, importVisitor.onceFileDetectionMap, importVisitor.recursionDetector) - .run(root); - return; - } - } - - subFinish(); - }); - } - } - visitArgs.visitDeeper = false; - return importNode; - }, - visitRule: function (ruleNode, visitArgs) { - visitArgs.visitDeeper = false; - return ruleNode; - }, - visitDirective: function (directiveNode, visitArgs) { - this.env.frames.unshift(directiveNode); - return directiveNode; - }, - visitDirectiveOut: function (directiveNode) { - this.env.frames.shift(); - }, - visitMixinDefinition: function (mixinDefinitionNode, visitArgs) { - this.env.frames.unshift(mixinDefinitionNode); - return mixinDefinitionNode; - }, - visitMixinDefinitionOut: function (mixinDefinitionNode) { - this.env.frames.shift(); - }, - visitRuleset: function (rulesetNode, visitArgs) { - this.env.frames.unshift(rulesetNode); - return rulesetNode; - }, - visitRulesetOut: function (rulesetNode) { - this.env.frames.shift(); - }, - visitMedia: function (mediaNode, visitArgs) { - this.env.frames.unshift(mediaNode.rules[0]); - return mediaNode; - }, - visitMediaOut: function (mediaNode) { - this.env.frames.shift(); - } - }; - -})(require('./tree')); -(function (tree) { - tree.joinSelectorVisitor = function () { - this.contexts = [[]]; - this._visitor = new tree.visitor(this); - }; - - tree.joinSelectorVisitor.prototype = { - run: function (root) { - return this._visitor.visit(root); - }, - visitRule: function (ruleNode, visitArgs) { - visitArgs.visitDeeper = false; - }, - visitMixinDefinition: function (mixinDefinitionNode, visitArgs) { - visitArgs.visitDeeper = false; - }, - - visitRuleset: function (rulesetNode, visitArgs) { - var context = this.contexts[this.contexts.length - 1], - paths = [], selectors; - - this.contexts.push(paths); - - if (!rulesetNode.root) { - selectors = rulesetNode.selectors; - if (selectors) { - selectors = selectors.filter(function (selector) { - return selector.getIsOutput(); - }); - rulesetNode.selectors = selectors.length ? selectors : (selectors = null); - if (selectors) { - rulesetNode.joinSelectors(paths, context, selectors); - } - } - if (!selectors) { - rulesetNode.rules = null; - } - rulesetNode.paths = paths; - } - }, - visitRulesetOut: function (rulesetNode) { - this.contexts.length = this.contexts.length - 1; - }, - visitMedia: function (mediaNode, visitArgs) { - var context = this.contexts[this.contexts.length - 1]; - mediaNode.rules[0].root = (context.length === 0 || context[0].multiMedia); - } - }; - -})(require('./tree')); -(function (tree) { - tree.toCSSVisitor = function (env) { - this._visitor = new tree.visitor(this); - this._env = env; - }; - - tree.toCSSVisitor.prototype = { - isReplacing: true, - run: function (root) { - return this._visitor.visit(root); - }, - - visitRule: function (ruleNode, visitArgs) { - if (ruleNode.variable) { - return []; - } - return ruleNode; - }, - - visitMixinDefinition: function (mixinNode, visitArgs) { - // mixin definitions do not get eval'd - this means they keep state - // so we have to clear that state here so it isn't used if toCSS is called twice - mixinNode.frames = []; - return []; - }, - - visitExtend: function (extendNode, visitArgs) { - return []; - }, - - visitComment: function (commentNode, visitArgs) { - if (commentNode.isSilent(this._env)) { - return []; - } - return commentNode; - }, - - visitMedia: function (mediaNode, visitArgs) { - mediaNode.accept(this._visitor); - visitArgs.visitDeeper = false; - - if (!mediaNode.rules.length) { - return []; - } - return mediaNode; - }, - - visitDirective: function (directiveNode, visitArgs) { - if (directiveNode.currentFileInfo.reference && !directiveNode.isReferenced) { - return []; - } - if (directiveNode.name === "@charset") { - // Only output the debug info together with subsequent @charset definitions - // a comment (or @media statement) before the actual @charset directive would - // be considered illegal css as it has to be on the first line - if (this.charset) { - if (directiveNode.debugInfo) { - var comment = new tree.Comment("/* " + directiveNode.toCSS(this._env).replace(/\n/g, "") + " */\n"); - comment.debugInfo = directiveNode.debugInfo; - return this._visitor.visit(comment); - } - return []; - } - this.charset = true; - } - if (directiveNode.rules && directiveNode.rules.rules) { - this._mergeRules(directiveNode.rules.rules); - } - return directiveNode; - }, - - checkPropertiesInRoot: function (rules) { - var ruleNode; - for (var i = 0; i < rules.length; i++) { - ruleNode = rules[i]; - if (ruleNode instanceof tree.Rule && !ruleNode.variable) { - throw { - message: "properties must be inside selector blocks, they cannot be in the root.", - index: ruleNode.index, - filename: ruleNode.currentFileInfo ? ruleNode.currentFileInfo.filename : null - }; - } - } - }, - - visitRuleset: function (rulesetNode, visitArgs) { - var rule, rulesets = []; - if (rulesetNode.firstRoot) { - this.checkPropertiesInRoot(rulesetNode.rules); - } - if (!rulesetNode.root) { - if (rulesetNode.paths) { - rulesetNode.paths = rulesetNode.paths - .filter(function (p) { - var i; - if (p[0].elements[0].combinator.value === ' ') { - p[0].elements[0].combinator = new (tree.Combinator)(''); - } - for (i = 0; i < p.length; i++) { - if (p[i].getIsReferenced() && p[i].getIsOutput()) { - return true; - } - } - return false; - }); - } - - // Compile rules and rulesets - var nodeRules = rulesetNode.rules, nodeRuleCnt = nodeRules ? nodeRules.length : 0; - for (var i = 0; i < nodeRuleCnt;) { - rule = nodeRules[i]; - if (rule && rule.rules) { - // visit because we are moving them out from being a child - rulesets.push(this._visitor.visit(rule)); - nodeRules.splice(i, 1); - nodeRuleCnt--; - continue; - } - i++; - } - // accept the visitor to remove rules and refactor itself - // then we can decide now whether we want it or not - if (nodeRuleCnt > 0) { - rulesetNode.accept(this._visitor); - } else { - rulesetNode.rules = null; - } - visitArgs.visitDeeper = false; - - nodeRules = rulesetNode.rules; - if (nodeRules) { - this._mergeRules(nodeRules); - nodeRules = rulesetNode.rules; - } - if (nodeRules) { - this._removeDuplicateRules(nodeRules); - nodeRules = rulesetNode.rules; - } - - // now decide whether we keep the ruleset - if (nodeRules && nodeRules.length > 0 && rulesetNode.paths.length > 0) { - rulesets.splice(0, 0, rulesetNode); - } - } else { - rulesetNode.accept(this._visitor); - visitArgs.visitDeeper = false; - if (rulesetNode.firstRoot || (rulesetNode.rules && rulesetNode.rules.length > 0)) { - rulesets.splice(0, 0, rulesetNode); - } - } - if (rulesets.length === 1) { - return rulesets[0]; - } - return rulesets; - }, - - _removeDuplicateRules: function (rules) { - if (!rules) { - return; - } - - // remove duplicates - var ruleCache = {}, - ruleList, rule, i; - - for (i = rules.length - 1; i >= 0; i--) { - rule = rules[i]; - if (rule instanceof tree.Rule) { - if (!ruleCache[rule.name]) { - ruleCache[rule.name] = rule; - } else { - ruleList = ruleCache[rule.name]; - if (ruleList instanceof tree.Rule) { - ruleList = ruleCache[rule.name] = [ruleCache[rule.name].toCSS(this._env)]; - } - var ruleCSS = rule.toCSS(this._env); - if (ruleList.indexOf(ruleCSS) !== -1) { - rules.splice(i, 1); - } else { - ruleList.push(ruleCSS); - } - } - } - } - }, - - _mergeRules: function (rules) { - if (!rules) { - return; - } - - var groups = {}, - parts, - rule, - key; - - for (var i = 0; i < rules.length; i++) { - rule = rules[i]; - - if ((rule instanceof tree.Rule) && rule.merge) { - key = [rule.name, - rule.important ? "!" : ""].join(","); - - if (!groups[key]) { - groups[key] = []; - } else { - rules.splice(i--, 1); - } - - groups[key].push(rule); - } - } - - Object.keys(groups).map(function (k) { - - function toExpression(values) { - return new (tree.Expression)(values.map(function (p) { - return p.value; - })); - } - - function toValue(values) { - return new (tree.Value)(values.map(function (p) { - return p; - })); - } - - parts = groups[k]; - - if (parts.length > 1) { - rule = parts[0]; - var spacedGroups = []; - var lastSpacedGroup = []; - parts.map(function (p) { - if (p.merge === "+") { - if (lastSpacedGroup.length > 0) { - spacedGroups.push(toExpression(lastSpacedGroup)); - } - lastSpacedGroup = []; - } - lastSpacedGroup.push(p); - }); - spacedGroups.push(toExpression(lastSpacedGroup)); - rule.value = toValue(spacedGroups); - } - }); - } - }; - -})(require('./tree')); -(function (tree) { - /*jshint loopfunc:true */ - - tree.extendFinderVisitor = function () { - this._visitor = new tree.visitor(this); - this.contexts = []; - this.allExtendsStack = [[]]; - }; - - tree.extendFinderVisitor.prototype = { - run: function (root) { - root = this._visitor.visit(root); - root.allExtends = this.allExtendsStack[0]; - return root; - }, - visitRule: function (ruleNode, visitArgs) { - visitArgs.visitDeeper = false; - }, - visitMixinDefinition: function (mixinDefinitionNode, visitArgs) { - visitArgs.visitDeeper = false; - }, - visitRuleset: function (rulesetNode, visitArgs) { - if (rulesetNode.root) { - return; - } - - var i, j, extend, allSelectorsExtendList = [], extendList; - - // get &:extend(.a); rules which apply to all selectors in this ruleset - var rules = rulesetNode.rules, ruleCnt = rules ? rules.length : 0; - for (i = 0; i < ruleCnt; i++) { - if (rulesetNode.rules[i] instanceof tree.Extend) { - allSelectorsExtendList.push(rules[i]); - rulesetNode.extendOnEveryPath = true; - } - } - - // now find every selector and apply the extends that apply to all extends - // and the ones which apply to an individual extend - var paths = rulesetNode.paths; - for (i = 0; i < paths.length; i++) { - var selectorPath = paths[i], - selector = selectorPath[selectorPath.length - 1], - selExtendList = selector.extendList; - - extendList = selExtendList ? selExtendList.slice(0).concat(allSelectorsExtendList) - : allSelectorsExtendList; - - if (extendList) { - extendList = extendList.map(function (allSelectorsExtend) { - return allSelectorsExtend.clone(); - }); - } - - for (j = 0; j < extendList.length; j++) { - this.foundExtends = true; - extend = extendList[j]; - extend.findSelfSelectors(selectorPath); - extend.ruleset = rulesetNode; - if (j === 0) { - extend.firstExtendOnThisSelectorPath = true; - } - this.allExtendsStack[this.allExtendsStack.length - 1].push(extend); - } - } - - this.contexts.push(rulesetNode.selectors); - }, - visitRulesetOut: function (rulesetNode) { - if (!rulesetNode.root) { - this.contexts.length = this.contexts.length - 1; - } - }, - visitMedia: function (mediaNode, visitArgs) { - mediaNode.allExtends = []; - this.allExtendsStack.push(mediaNode.allExtends); - }, - visitMediaOut: function (mediaNode) { - this.allExtendsStack.length = this.allExtendsStack.length - 1; - }, - visitDirective: function (directiveNode, visitArgs) { - directiveNode.allExtends = []; - this.allExtendsStack.push(directiveNode.allExtends); - }, - visitDirectiveOut: function (directiveNode) { - this.allExtendsStack.length = this.allExtendsStack.length - 1; - } - }; - - tree.processExtendsVisitor = function () { - this._visitor = new tree.visitor(this); - }; - - tree.processExtendsVisitor.prototype = { - run: function (root) { - var extendFinder = new tree.extendFinderVisitor(); - extendFinder.run(root); - if (!extendFinder.foundExtends) { - return root; - } - root.allExtends = root.allExtends.concat(this.doExtendChaining(root.allExtends, root.allExtends)); - this.allExtendsStack = [root.allExtends]; - return this._visitor.visit(root); - }, - doExtendChaining: function (extendsList, extendsListTarget, iterationCount) { - // - // chaining is different from normal extension.. if we extend an extend then we are not just copying, altering and pasting - // the selector we would do normally, but we are also adding an extend with the same target selector - // this means this new extend can then go and alter other extends - // - // this method deals with all the chaining work - without it, extend is flat and doesn't work on other extend selectors - // this is also the most expensive.. and a match on one selector can cause an extension of a selector we had already processed if - // we look at each selector at a time, as is done in visitRuleset - - var extendIndex, targetExtendIndex, matches, extendsToAdd = [], newSelector, extendVisitor = this, selectorPath, extend, targetExtend, newExtend; - - iterationCount = iterationCount || 0; - - //loop through comparing every extend with every target extend. - // a target extend is the one on the ruleset we are looking at copy/edit/pasting in place - // e.g. .a:extend(.b) {} and .b:extend(.c) {} then the first extend extends the second one - // and the second is the target. - // the seperation into two lists allows us to process a subset of chains with a bigger set, as is the - // case when processing media queries - for (extendIndex = 0; extendIndex < extendsList.length; extendIndex++) { - for (targetExtendIndex = 0; targetExtendIndex < extendsListTarget.length; targetExtendIndex++) { - - extend = extendsList[extendIndex]; - targetExtend = extendsListTarget[targetExtendIndex]; - - // look for circular references - if (extend.parent_ids.indexOf(targetExtend.object_id) >= 0) { - continue; - } - - // find a match in the target extends self selector (the bit before :extend) - selectorPath = [targetExtend.selfSelectors[0]]; - matches = extendVisitor.findMatch(extend, selectorPath); - - if (matches.length) { - - // we found a match, so for each self selector.. - extend.selfSelectors.forEach(function (selfSelector) { - - // process the extend as usual - newSelector = extendVisitor.extendSelector(matches, selectorPath, selfSelector); - - // but now we create a new extend from it - newExtend = new (tree.Extend)(targetExtend.selector, targetExtend.option, 0); - newExtend.selfSelectors = newSelector; - - // add the extend onto the list of extends for that selector - newSelector[newSelector.length - 1].extendList = [newExtend]; - - // record that we need to add it. - extendsToAdd.push(newExtend); - newExtend.ruleset = targetExtend.ruleset; - - //remember its parents for circular references - newExtend.parent_ids = newExtend.parent_ids.concat(targetExtend.parent_ids, extend.parent_ids); - - // only process the selector once.. if we have :extend(.a,.b) then multiple - // extends will look at the same selector path, so when extending - // we know that any others will be duplicates in terms of what is added to the css - if (targetExtend.firstExtendOnThisSelectorPath) { - newExtend.firstExtendOnThisSelectorPath = true; - targetExtend.ruleset.paths.push(newSelector); - } - }); - } - } - } - - if (extendsToAdd.length) { - // try to detect circular references to stop a stack overflow. - // may no longer be needed. - this.extendChainCount++; - if (iterationCount > 100) { - var selectorOne = "{unable to calculate}"; - var selectorTwo = "{unable to calculate}"; - try { - selectorOne = extendsToAdd[0].selfSelectors[0].toCSS(); - selectorTwo = extendsToAdd[0].selector.toCSS(); - } - catch (e) { - } - throw {message: "extend circular reference detected. One of the circular extends is currently:" + selectorOne + ":extend(" + selectorTwo + ")"}; - } - - // now process the new extends on the existing rules so that we can handle a extending b extending c ectending d extending e... - return extendsToAdd.concat(extendVisitor.doExtendChaining(extendsToAdd, extendsListTarget, iterationCount + 1)); - } else { - return extendsToAdd; - } - }, - visitRule: function (ruleNode, visitArgs) { - visitArgs.visitDeeper = false; - }, - visitMixinDefinition: function (mixinDefinitionNode, visitArgs) { - visitArgs.visitDeeper = false; - }, - visitSelector: function (selectorNode, visitArgs) { - visitArgs.visitDeeper = false; - }, - visitRuleset: function (rulesetNode, visitArgs) { - if (rulesetNode.root) { - return; - } - var matches, pathIndex, extendIndex, allExtends = this.allExtendsStack[this.allExtendsStack.length - 1], selectorsToAdd = [], extendVisitor = this, selectorPath; - - // look at each selector path in the ruleset, find any extend matches and then copy, find and replace - - for (extendIndex = 0; extendIndex < allExtends.length; extendIndex++) { - for (pathIndex = 0; pathIndex < rulesetNode.paths.length; pathIndex++) { - selectorPath = rulesetNode.paths[pathIndex]; - - // extending extends happens initially, before the main pass - if (rulesetNode.extendOnEveryPath) { - continue; - } - var extendList = selectorPath[selectorPath.length - 1].extendList; - if (extendList && extendList.length) { - continue; - } - - matches = this.findMatch(allExtends[extendIndex], selectorPath); - - if (matches.length) { - - allExtends[extendIndex].selfSelectors.forEach(function (selfSelector) { - selectorsToAdd.push(extendVisitor.extendSelector(matches, selectorPath, selfSelector)); - }); - } - } - } - rulesetNode.paths = rulesetNode.paths.concat(selectorsToAdd); - }, - findMatch: function (extend, haystackSelectorPath) { - // - // look through the haystack selector path to try and find the needle - extend.selector - // returns an array of selector matches that can then be replaced - // - var haystackSelectorIndex, hackstackSelector, hackstackElementIndex, haystackElement, - targetCombinator, i, - extendVisitor = this, - needleElements = extend.selector.elements, - potentialMatches = [], potentialMatch, matches = []; - - // loop through the haystack elements - for (haystackSelectorIndex = 0; haystackSelectorIndex < haystackSelectorPath.length; haystackSelectorIndex++) { - hackstackSelector = haystackSelectorPath[haystackSelectorIndex]; - - for (hackstackElementIndex = 0; hackstackElementIndex < hackstackSelector.elements.length; hackstackElementIndex++) { - - haystackElement = hackstackSelector.elements[hackstackElementIndex]; - - // if we allow elements before our match we can add a potential match every time. otherwise only at the first element. - if (extend.allowBefore || (haystackSelectorIndex === 0 && hackstackElementIndex === 0)) { - potentialMatches.push({ - pathIndex: haystackSelectorIndex, - index: hackstackElementIndex, - matched: 0, - initialCombinator: haystackElement.combinator - }); - } - - for (i = 0; i < potentialMatches.length; i++) { - potentialMatch = potentialMatches[i]; - - // selectors add " " onto the first element. When we use & it joins the selectors together, but if we don't - // then each selector in haystackSelectorPath has a space before it added in the toCSS phase. so we need to work out - // what the resulting combinator will be - targetCombinator = haystackElement.combinator.value; - if (targetCombinator === '' && hackstackElementIndex === 0) { - targetCombinator = ' '; - } - - // if we don't match, null our match to indicate failure - if (!extendVisitor.isElementValuesEqual(needleElements[potentialMatch.matched].value, haystackElement.value) || - (potentialMatch.matched > 0 && needleElements[potentialMatch.matched].combinator.value !== targetCombinator)) { - potentialMatch = null; - } else { - potentialMatch.matched++; - } - - // if we are still valid and have finished, test whether we have elements after and whether these are allowed - if (potentialMatch) { - potentialMatch.finished = potentialMatch.matched === needleElements.length; - if (potentialMatch.finished && - (!extend.allowAfter && (hackstackElementIndex + 1 < hackstackSelector.elements.length || haystackSelectorIndex + 1 < haystackSelectorPath.length))) { - potentialMatch = null; - } - } - // if null we remove, if not, we are still valid, so either push as a valid match or continue - if (potentialMatch) { - if (potentialMatch.finished) { - potentialMatch.length = needleElements.length; - potentialMatch.endPathIndex = haystackSelectorIndex; - potentialMatch.endPathElementIndex = hackstackElementIndex + 1; // index after end of match - potentialMatches.length = 0; // we don't allow matches to overlap, so start matching again - matches.push(potentialMatch); - } - } else { - potentialMatches.splice(i, 1); - i--; - } - } - } - } - return matches; - }, - isElementValuesEqual: function (elementValue1, elementValue2) { - if (typeof elementValue1 === "string" || typeof elementValue2 === "string") { - return elementValue1 === elementValue2; - } - if (elementValue1 instanceof tree.Attribute) { - if (elementValue1.op !== elementValue2.op || elementValue1.key !== elementValue2.key) { - return false; - } - if (!elementValue1.value || !elementValue2.value) { - if (elementValue1.value || elementValue2.value) { - return false; - } - return true; - } - elementValue1 = elementValue1.value.value || elementValue1.value; - elementValue2 = elementValue2.value.value || elementValue2.value; - return elementValue1 === elementValue2; - } - elementValue1 = elementValue1.value; - elementValue2 = elementValue2.value; - if (elementValue1 instanceof tree.Selector) { - if (!(elementValue2 instanceof tree.Selector) || elementValue1.elements.length !== elementValue2.elements.length) { - return false; - } - for (var i = 0; i < elementValue1.elements.length; i++) { - if (elementValue1.elements[i].combinator.value !== elementValue2.elements[i].combinator.value) { - if (i !== 0 || (elementValue1.elements[i].combinator.value || ' ') !== (elementValue2.elements[i].combinator.value || ' ')) { - return false; - } - } - if (!this.isElementValuesEqual(elementValue1.elements[i].value, elementValue2.elements[i].value)) { - return false; - } - } - return true; - } - return false; - }, - extendSelector: function (matches, selectorPath, replacementSelector) { - - //for a set of matches, replace each match with the replacement selector - - var currentSelectorPathIndex = 0, - currentSelectorPathElementIndex = 0, - path = [], - matchIndex, - selector, - firstElement, - match, - newElements; - - for (matchIndex = 0; matchIndex < matches.length; matchIndex++) { - match = matches[matchIndex]; - selector = selectorPath[match.pathIndex]; - firstElement = new tree.Element( - match.initialCombinator, - replacementSelector.elements[0].value, - replacementSelector.elements[0].index, - replacementSelector.elements[0].currentFileInfo - ); - - if (match.pathIndex > currentSelectorPathIndex && currentSelectorPathElementIndex > 0) { - path[path.length - 1].elements = path[path.length - 1].elements.concat(selectorPath[currentSelectorPathIndex].elements.slice(currentSelectorPathElementIndex)); - currentSelectorPathElementIndex = 0; - currentSelectorPathIndex++; - } - - newElements = selector.elements - .slice(currentSelectorPathElementIndex, match.index) - .concat([firstElement]) - .concat(replacementSelector.elements.slice(1)); - - if (currentSelectorPathIndex === match.pathIndex && matchIndex > 0) { - path[path.length - 1].elements = - path[path.length - 1].elements.concat(newElements); - } else { - path = path.concat(selectorPath.slice(currentSelectorPathIndex, match.pathIndex)); - - path.push(new tree.Selector( - newElements - )); - } - currentSelectorPathIndex = match.endPathIndex; - currentSelectorPathElementIndex = match.endPathElementIndex; - if (currentSelectorPathElementIndex >= selectorPath[currentSelectorPathIndex].elements.length) { - currentSelectorPathElementIndex = 0; - currentSelectorPathIndex++; - } - } - - if (currentSelectorPathIndex < selectorPath.length && currentSelectorPathElementIndex > 0) { - path[path.length - 1].elements = path[path.length - 1].elements.concat(selectorPath[currentSelectorPathIndex].elements.slice(currentSelectorPathElementIndex)); - currentSelectorPathIndex++; - } - - path = path.concat(selectorPath.slice(currentSelectorPathIndex, selectorPath.length)); - - return path; - }, - visitRulesetOut: function (rulesetNode) { - }, - visitMedia: function (mediaNode, visitArgs) { - var newAllExtends = mediaNode.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length - 1]); - newAllExtends = newAllExtends.concat(this.doExtendChaining(newAllExtends, mediaNode.allExtends)); - this.allExtendsStack.push(newAllExtends); - }, - visitMediaOut: function (mediaNode) { - this.allExtendsStack.length = this.allExtendsStack.length - 1; - }, - visitDirective: function (directiveNode, visitArgs) { - var newAllExtends = directiveNode.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length - 1]); - newAllExtends = newAllExtends.concat(this.doExtendChaining(newAllExtends, directiveNode.allExtends)); - this.allExtendsStack.push(newAllExtends); - }, - visitDirectiveOut: function (directiveNode) { - this.allExtendsStack.length = this.allExtendsStack.length - 1; - } - }; - -})(require('./tree')); - -(function (tree) { - - tree.sourceMapOutput = function (options) { - this._css = []; - this._rootNode = options.rootNode; - this._writeSourceMap = options.writeSourceMap; - this._contentsMap = options.contentsMap; - this._contentsIgnoredCharsMap = options.contentsIgnoredCharsMap; - this._sourceMapFilename = options.sourceMapFilename; - this._outputFilename = options.outputFilename; - this._sourceMapURL = options.sourceMapURL; - if (options.sourceMapBasepath) { - this._sourceMapBasepath = options.sourceMapBasepath.replace(/\\/g, '/'); - } - this._sourceMapRootpath = options.sourceMapRootpath; - this._outputSourceFiles = options.outputSourceFiles; - this._sourceMapGeneratorConstructor = options.sourceMapGenerator || require("source-map").SourceMapGenerator; - - if (this._sourceMapRootpath && this._sourceMapRootpath.charAt(this._sourceMapRootpath.length - 1) !== '/') { - this._sourceMapRootpath += '/'; - } - - this._lineNumber = 0; - this._column = 0; - }; - - tree.sourceMapOutput.prototype.normalizeFilename = function (filename) { - filename = filename.replace(/\\/g, '/'); - - if (this._sourceMapBasepath && filename.indexOf(this._sourceMapBasepath) === 0) { - filename = filename.substring(this._sourceMapBasepath.length); - if (filename.charAt(0) === '\\' || filename.charAt(0) === '/') { - filename = filename.substring(1); - } - } - return (this._sourceMapRootpath || "") + filename; - }; - - tree.sourceMapOutput.prototype.add = function (chunk, fileInfo, index, mapLines) { - - //ignore adding empty strings - if (!chunk) { - return; - } - - var lines, - sourceLines, - columns, - sourceColumns, - i; - - if (fileInfo) { - var inputSource = this._contentsMap[fileInfo.filename]; - - // remove vars/banner added to the top of the file - if (this._contentsIgnoredCharsMap[fileInfo.filename]) { - // adjust the index - index -= this._contentsIgnoredCharsMap[fileInfo.filename]; - if (index < 0) { - index = 0; - } - // adjust the source - inputSource = inputSource.slice(this._contentsIgnoredCharsMap[fileInfo.filename]); - } - inputSource = inputSource.substring(0, index); - sourceLines = inputSource.split("\n"); - sourceColumns = sourceLines[sourceLines.length - 1]; - } - - lines = chunk.split("\n"); - columns = lines[lines.length - 1]; - - if (fileInfo) { - if (!mapLines) { - this._sourceMapGenerator.addMapping({ - generated: {line: this._lineNumber + 1, column: this._column}, - original: {line: sourceLines.length, column: sourceColumns.length}, - source: this.normalizeFilename(fileInfo.filename) - }); - } else { - for (i = 0; i < lines.length; i++) { - this._sourceMapGenerator.addMapping({ - generated: {line: this._lineNumber + i + 1, column: i === 0 ? this._column : 0}, - original: {line: sourceLines.length + i, column: i === 0 ? sourceColumns.length : 0}, - source: this.normalizeFilename(fileInfo.filename) - }); - } - } - } - - if (lines.length === 1) { - this._column += columns.length; - } else { - this._lineNumber += lines.length - 1; - this._column = columns.length; - } - - this._css.push(chunk); - }; - - tree.sourceMapOutput.prototype.isEmpty = function () { - return this._css.length === 0; - }; - - tree.sourceMapOutput.prototype.toCSS = function (env) { - this._sourceMapGenerator = new this._sourceMapGeneratorConstructor({ - file: this._outputFilename, - sourceRoot: null - }); - - if (this._outputSourceFiles) { - for (var filename in this._contentsMap) { - if (this._contentsMap.hasOwnProperty(filename)) { - var source = this._contentsMap[filename]; - if (this._contentsIgnoredCharsMap[filename]) { - source = source.slice(this._contentsIgnoredCharsMap[filename]); - } - this._sourceMapGenerator.setSourceContent(this.normalizeFilename(filename), source); - } - } - } - - this._rootNode.genCSS(env, this); - - if (this._css.length > 0) { - var sourceMapURL, - sourceMapContent = JSON.stringify(this._sourceMapGenerator.toJSON()); - - if (this._sourceMapURL) { - sourceMapURL = this._sourceMapURL; - } else if (this._sourceMapFilename) { - sourceMapURL = this.normalizeFilename(this._sourceMapFilename); - } - - if (this._writeSourceMap) { - this._writeSourceMap(sourceMapContent); - } else { - sourceMapURL = "data:application/json;base64," + require('./encoder.js').encodeBase64(sourceMapContent); - } - - if (sourceMapURL) { - this._css.push("/*# sourceMappingURL=" + sourceMapURL + " */"); - } - } - - return this._css.join(''); - }; - -})(require('./tree')); - -// wraps the source-map code in a less module -(function () { - less.modules["source-map"] = function () { - - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - - /** - * Define a module along with a payload. - * @param {string} moduleName Name for the payload - * @param {ignored} deps Ignored. For compatibility with CommonJS AMD Spec - * @param {function} payload Function with (require, exports, module) params - */ - function define(moduleName, deps, payload) { - if (typeof moduleName != "string") { - throw new TypeError('Expected string, got: ' + moduleName); - } - - if (arguments.length == 2) { - payload = deps; - } - - if (moduleName in define.modules) { - throw new Error("Module already defined: " + moduleName); - } - define.modules[moduleName] = payload; - }; - - /** - * The global store of un-instantiated modules - */ - define.modules = {}; - - - /** - * We invoke require() in the context of a Domain so we can have multiple - * sets of modules running separate from each other. - * This contrasts with JSMs which are singletons, Domains allows us to - * optionally load a CommonJS module twice with separate data each time. - * Perhaps you want 2 command lines with a different set of commands in each, - * for example. - */ - function Domain() { - this.modules = {}; - this._currentModule = null; - } - - (function () { - - /** - * Lookup module names and resolve them by calling the definition function if - * needed. - * There are 2 ways to call this, either with an array of dependencies and a - * callback to call when the dependencies are found (which can happen - * asynchronously in an in-page context) or with a single string an no callback - * where the dependency is resolved synchronously and returned. - * The API is designed to be compatible with the CommonJS AMD spec and - * RequireJS. - * @param {string[]|string} deps A name, or names for the payload - * @param {function|undefined} callback Function to call when the dependencies - * are resolved - * @return {undefined|object} The module required or undefined for - * array/callback method - */ - Domain.prototype.require = function (deps, callback) { - if (Array.isArray(deps)) { - var params = deps.map(function (dep) { - return this.lookup(dep); - }, this); - if (callback) { - callback.apply(null, params); - } - return undefined; - } - else { - return this.lookup(deps); - } - }; - - function normalize(path) { - var bits = path.split('/'); - var i = 1; - while (i < bits.length) { - if (bits[i] === '..') { - bits.splice(i - 1, 1); - } else if (bits[i] === '.') { - bits.splice(i, 1); - } else { - i++; - } - } - return bits.join('/'); - } - - function join(a, b) { - a = a.trim(); - b = b.trim(); - if (/^\//.test(b)) { - return b; - } else { - return a.replace(/\/*$/, '/') + b; - } - } - - function dirname(path) { - var bits = path.split('/'); - bits.pop(); - return bits.join('/'); - } - - /** - * Lookup module names and resolve them by calling the definition function if - * needed. - * @param {string} moduleName A name for the payload to lookup - * @return {object} The module specified by aModuleName or null if not found. - */ - Domain.prototype.lookup = function (moduleName) { - if (/^\./.test(moduleName)) { - moduleName = normalize(join(dirname(this._currentModule), moduleName)); - } - - if (moduleName in this.modules) { - var module = this.modules[moduleName]; - return module; - } - - if (!(moduleName in define.modules)) { - throw new Error("Module not defined: " + moduleName); - } - - var module = define.modules[moduleName]; - - if (typeof module == "function") { - var exports = {}; - var previousModule = this._currentModule; - this._currentModule = moduleName; - module(this.require.bind(this), exports, {id: moduleName, uri: ""}); - this._currentModule = previousModule; - module = exports; - } - - // cache the resulting module object for next time - this.modules[moduleName] = module; - - return module; - }; - - }()); - - define.Domain = Domain; - define.globalDomain = new Domain(); - var require = define.globalDomain.require.bind(define.globalDomain); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - define('source-map/source-map-generator', ['require', 'exports', 'module', 'source-map/base64-vlq', 'source-map/util', 'source-map/array-set'], function (require, exports, module) { - - var base64VLQ = require('./base64-vlq'); - var util = require('./util'); - var ArraySet = require('./array-set').ArraySet; - - /** - * An instance of the SourceMapGenerator represents a source map which is - * being built incrementally. To create a new one, you must pass an object - * with the following properties: - * - * - file: The filename of the generated source. - * - sourceRoot: An optional root for all URLs in this source map. - */ - function SourceMapGenerator(aArgs) { - this._file = util.getArg(aArgs, 'file'); - this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); - this._sources = new ArraySet(); - this._names = new ArraySet(); - this._mappings = []; - this._sourcesContents = null; - } - - SourceMapGenerator.prototype._version = 3; - - /** - * Creates a new SourceMapGenerator based on a SourceMapConsumer - * - * @param aSourceMapConsumer The SourceMap. - */ - SourceMapGenerator.fromSourceMap = - function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { - var sourceRoot = aSourceMapConsumer.sourceRoot; - var generator = new SourceMapGenerator({ - file: aSourceMapConsumer.file, - sourceRoot: sourceRoot - }); - aSourceMapConsumer.eachMapping(function (mapping) { - var newMapping = { - generated: { - line: mapping.generatedLine, - column: mapping.generatedColumn - } - }; - - if (mapping.source) { - newMapping.source = mapping.source; - if (sourceRoot) { - newMapping.source = util.relative(sourceRoot, newMapping.source); - } - - newMapping.original = { - line: mapping.originalLine, - column: mapping.originalColumn - }; - - if (mapping.name) { - newMapping.name = mapping.name; - } - } - - generator.addMapping(newMapping); - }); - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content) { - generator.setSourceContent(sourceFile, content); - } - }); - return generator; - }; - - /** - * Add a single mapping from original source line and column to the generated - * source's line and column for this source map being created. The mapping - * object should have the following properties: - * - * - generated: An object with the generated line and column positions. - * - original: An object with the original line and column positions. - * - source: The original source file (relative to the sourceRoot). - * - name: An optional original token name for this mapping. - */ - SourceMapGenerator.prototype.addMapping = - function SourceMapGenerator_addMapping(aArgs) { - var generated = util.getArg(aArgs, 'generated'); - var original = util.getArg(aArgs, 'original', null); - var source = util.getArg(aArgs, 'source', null); - var name = util.getArg(aArgs, 'name', null); - - this._validateMapping(generated, original, source, name); - - if (source && !this._sources.has(source)) { - this._sources.add(source); - } - - if (name && !this._names.has(name)) { - this._names.add(name); - } - - this._mappings.push({ - generatedLine: generated.line, - generatedColumn: generated.column, - originalLine: original != null && original.line, - originalColumn: original != null && original.column, - source: source, - name: name - }); - }; - - /** - * Set the source content for a source file. - */ - SourceMapGenerator.prototype.setSourceContent = - function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { - var source = aSourceFile; - if (this._sourceRoot) { - source = util.relative(this._sourceRoot, source); - } - - if (aSourceContent !== null) { - // Add the source content to the _sourcesContents map. - // Create a new _sourcesContents map if the property is null. - if (!this._sourcesContents) { - this._sourcesContents = {}; - } - this._sourcesContents[util.toSetString(source)] = aSourceContent; - } else { - // Remove the source file from the _sourcesContents map. - // If the _sourcesContents map is empty, set the property to null. - delete this._sourcesContents[util.toSetString(source)]; - if (Object.keys(this._sourcesContents).length === 0) { - this._sourcesContents = null; - } - } - }; - - /** - * Applies the mappings of a sub-source-map for a specific source file to the - * source map being generated. Each mapping to the supplied source file is - * rewritten using the supplied source map. Note: The resolution for the - * resulting mappings is the minimium of this map and the supplied map. - * - * @param aSourceMapConsumer The source map to be applied. - * @param aSourceFile Optional. The filename of the source file. - * If omitted, SourceMapConsumer's file property will be used. - */ - SourceMapGenerator.prototype.applySourceMap = - function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile) { - // If aSourceFile is omitted, we will use the file property of the SourceMap - if (!aSourceFile) { - aSourceFile = aSourceMapConsumer.file; - } - var sourceRoot = this._sourceRoot; - // Make "aSourceFile" relative if an absolute Url is passed. - if (sourceRoot) { - aSourceFile = util.relative(sourceRoot, aSourceFile); - } - // Applying the SourceMap can add and remove items from the sources and - // the names array. - var newSources = new ArraySet(); - var newNames = new ArraySet(); - - // Find mappings for the "aSourceFile" - this._mappings.forEach(function (mapping) { - if (mapping.source === aSourceFile && mapping.originalLine) { - // Check if it can be mapped by the source map, then update the mapping. - var original = aSourceMapConsumer.originalPositionFor({ - line: mapping.originalLine, - column: mapping.originalColumn - }); - if (original.source !== null) { - // Copy mapping - if (sourceRoot) { - mapping.source = util.relative(sourceRoot, original.source); - } else { - mapping.source = original.source; - } - mapping.originalLine = original.line; - mapping.originalColumn = original.column; - if (original.name !== null && mapping.name !== null) { - // Only use the identifier name if it's an identifier - // in both SourceMaps - mapping.name = original.name; - } - } - } - - var source = mapping.source; - if (source && !newSources.has(source)) { - newSources.add(source); - } - - var name = mapping.name; - if (name && !newNames.has(name)) { - newNames.add(name); - } - - }, this); - this._sources = newSources; - this._names = newNames; - - // Copy sourcesContents of applied map. - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content) { - if (sourceRoot) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - this.setSourceContent(sourceFile, content); - } - }, this); - }; - - /** - * A mapping can have one of the three levels of data: - * - * 1. Just the generated position. - * 2. The Generated position, original position, and original source. - * 3. Generated and original position, original source, as well as a name - * token. - * - * To maintain consistency, we validate that any new mapping being added falls - * in to one of these categories. - */ - SourceMapGenerator.prototype._validateMapping = - function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, - aName) { - if (aGenerated && 'line' in aGenerated && 'column' in aGenerated - && aGenerated.line > 0 && aGenerated.column >= 0 - && !aOriginal && !aSource && !aName) { - // Case 1. - return; - } - else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated - && aOriginal && 'line' in aOriginal && 'column' in aOriginal - && aGenerated.line > 0 && aGenerated.column >= 0 - && aOriginal.line > 0 && aOriginal.column >= 0 - && aSource) { - // Cases 2 and 3. - return; - } - else { - throw new Error('Invalid mapping: ' + JSON.stringify({ - generated: aGenerated, - source: aSource, - original: aOriginal, - name: aName - })); - } - }; - - /** - * Serialize the accumulated mappings in to the stream of base 64 VLQs - * specified by the source map format. - */ - SourceMapGenerator.prototype._serializeMappings = - function SourceMapGenerator_serializeMappings() { - var previousGeneratedColumn = 0; - var previousGeneratedLine = 1; - var previousOriginalColumn = 0; - var previousOriginalLine = 0; - var previousName = 0; - var previousSource = 0; - var result = ''; - var mapping; - - // The mappings must be guaranteed to be in sorted order before we start - // serializing them or else the generated line numbers (which are defined - // via the ';' separators) will be all messed up. Note: it might be more - // performant to maintain the sorting as we insert them, rather than as we - // serialize them, but the big O is the same either way. - this._mappings.sort(util.compareByGeneratedPositions); - - for (var i = 0, len = this._mappings.length; i < len; i++) { - mapping = this._mappings[i]; - - if (mapping.generatedLine !== previousGeneratedLine) { - previousGeneratedColumn = 0; - while (mapping.generatedLine !== previousGeneratedLine) { - result += ';'; - previousGeneratedLine++; - } - } - else { - if (i > 0) { - if (!util.compareByGeneratedPositions(mapping, this._mappings[i - 1])) { - continue; - } - result += ','; - } - } - - result += base64VLQ.encode(mapping.generatedColumn - - previousGeneratedColumn); - previousGeneratedColumn = mapping.generatedColumn; - - if (mapping.source) { - result += base64VLQ.encode(this._sources.indexOf(mapping.source) - - previousSource); - previousSource = this._sources.indexOf(mapping.source); - - // lines are stored 0-based in SourceMap spec version 3 - result += base64VLQ.encode(mapping.originalLine - 1 - - previousOriginalLine); - previousOriginalLine = mapping.originalLine - 1; - - result += base64VLQ.encode(mapping.originalColumn - - previousOriginalColumn); - previousOriginalColumn = mapping.originalColumn; - - if (mapping.name) { - result += base64VLQ.encode(this._names.indexOf(mapping.name) - - previousName); - previousName = this._names.indexOf(mapping.name); - } - } - } - - return result; - }; - - SourceMapGenerator.prototype._generateSourcesContent = - function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { - return aSources.map(function (source) { - if (!this._sourcesContents) { - return null; - } - if (aSourceRoot) { - source = util.relative(aSourceRoot, source); - } - var key = util.toSetString(source); - return Object.prototype.hasOwnProperty.call(this._sourcesContents, - key) - ? this._sourcesContents[key] - : null; - }, this); - }; - - /** - * Externalize the source map. - */ - SourceMapGenerator.prototype.toJSON = - function SourceMapGenerator_toJSON() { - var map = { - version: this._version, - file: this._file, - sources: this._sources.toArray(), - names: this._names.toArray(), - mappings: this._serializeMappings() - }; - if (this._sourceRoot) { - map.sourceRoot = this._sourceRoot; - } - if (this._sourcesContents) { - map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); - } - - return map; - }; - - /** - * Render the source map being generated to a string. - */ - SourceMapGenerator.prototype.toString = - function SourceMapGenerator_toString() { - return JSON.stringify(this); - }; - - exports.SourceMapGenerator = SourceMapGenerator; - - }); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - * - * Based on the Base 64 VLQ implementation in Closure Compiler: - * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java - * - * Copyright 2011 The Closure Compiler Authors. All rights reserved. - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - define('source-map/base64-vlq', ['require', 'exports', 'module', 'source-map/base64'], function (require, exports, module) { - - var base64 = require('./base64'); - - // A single base 64 digit can contain 6 bits of data. For the base 64 variable - // length quantities we use in the source map spec, the first bit is the sign, - // the next four bits are the actual value, and the 6th bit is the - // continuation bit. The continuation bit tells us whether there are more - // digits in this value following this digit. - // - // Continuation - // | Sign - // | | - // V V - // 101011 - - var VLQ_BASE_SHIFT = 5; - - // binary: 100000 - var VLQ_BASE = 1 << VLQ_BASE_SHIFT; - - // binary: 011111 - var VLQ_BASE_MASK = VLQ_BASE - 1; - - // binary: 100000 - var VLQ_CONTINUATION_BIT = VLQ_BASE; - - /** - * Converts from a two-complement value to a value where the sign bit is - * is placed in the least significant bit. For example, as decimals: - * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) - * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) - */ - function toVLQSigned(aValue) { - return aValue < 0 - ? ((-aValue) << 1) + 1 - : (aValue << 1) + 0; - } - - /** - * Converts to a two-complement value from a value where the sign bit is - * is placed in the least significant bit. For example, as decimals: - * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 - * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 - */ - function fromVLQSigned(aValue) { - var isNegative = (aValue & 1) === 1; - var shifted = aValue >> 1; - return isNegative - ? -shifted - : shifted; - } - - /** - * Returns the base 64 VLQ encoded value. - */ - exports.encode = function base64VLQ_encode(aValue) { - var encoded = ""; - var digit; - - var vlq = toVLQSigned(aValue); - - do { - digit = vlq & VLQ_BASE_MASK; - vlq >>>= VLQ_BASE_SHIFT; - if (vlq > 0) { - // There are still more digits in this value, so we must make sure the - // continuation bit is marked. - digit |= VLQ_CONTINUATION_BIT; - } - encoded += base64.encode(digit); - } while (vlq > 0); - - return encoded; - }; - - /** - * Decodes the next base 64 VLQ value from the given string and returns the - * value and the rest of the string. - */ - exports.decode = function base64VLQ_decode(aStr) { - var i = 0; - var strLen = aStr.length; - var result = 0; - var shift = 0; - var continuation, digit; - - do { - if (i >= strLen) { - throw new Error("Expected more digits in base 64 VLQ value."); - } - digit = base64.decode(aStr.charAt(i++)); - continuation = !!(digit & VLQ_CONTINUATION_BIT); - digit &= VLQ_BASE_MASK; - result = result + (digit << shift); - shift += VLQ_BASE_SHIFT; - } while (continuation); - - return { - value: fromVLQSigned(result), - rest: aStr.slice(i) - }; - }; - - }); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - define('source-map/base64', ['require', 'exports', 'module',], function (require, exports, module) { - - var charToIntMap = {}; - var intToCharMap = {}; - - 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' - .split('') - .forEach(function (ch, index) { - charToIntMap[ch] = index; - intToCharMap[index] = ch; - }); - - /** - * Encode an integer in the range of 0 to 63 to a single base 64 digit. - */ - exports.encode = function base64_encode(aNumber) { - if (aNumber in intToCharMap) { - return intToCharMap[aNumber]; - } - throw new TypeError("Must be between 0 and 63: " + aNumber); - }; - - /** - * Decode a single base 64 digit to an integer. - */ - exports.decode = function base64_decode(aChar) { - if (aChar in charToIntMap) { - return charToIntMap[aChar]; - } - throw new TypeError("Not a valid base 64 digit: " + aChar); - }; - - }); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - define('source-map/util', ['require', 'exports', 'module',], function (require, exports, module) { - - /** - * This is a helper function for getting values from parameter/options - * objects. - * - * @param args The object we are extracting values from - * @param name The name of the property we are getting. - * @param defaultValue An optional value to return if the property is missing - * from the object. If this is not specified and the property is missing, an - * error will be thrown. - */ - function getArg(aArgs, aName, aDefaultValue) { - if (aName in aArgs) { - return aArgs[aName]; - } else if (arguments.length === 3) { - return aDefaultValue; - } else { - throw new Error('"' + aName + '" is a required argument.'); - } - } - - exports.getArg = getArg; - - var urlRegexp = /([\w+\-.]+):\/\/((\w+:\w+)@)?([\w.]+)?(:(\d+))?(\S+)?/; - var dataUrlRegexp = /^data:.+\,.+/; - - function urlParse(aUrl) { - var match = aUrl.match(urlRegexp); - if (!match) { - return null; - } - return { - scheme: match[1], - auth: match[3], - host: match[4], - port: match[6], - path: match[7] - }; - } - - exports.urlParse = urlParse; - - function urlGenerate(aParsedUrl) { - var url = aParsedUrl.scheme + "://"; - if (aParsedUrl.auth) { - url += aParsedUrl.auth + "@" - } - if (aParsedUrl.host) { - url += aParsedUrl.host; - } - if (aParsedUrl.port) { - url += ":" + aParsedUrl.port - } - if (aParsedUrl.path) { - url += aParsedUrl.path; - } - return url; - } - - exports.urlGenerate = urlGenerate; - - function join(aRoot, aPath) { - var url; - - if (aPath.match(urlRegexp) || aPath.match(dataUrlRegexp)) { - return aPath; - } - - if (aPath.charAt(0) === '/' && (url = urlParse(aRoot))) { - url.path = aPath; - return urlGenerate(url); - } - - return aRoot.replace(/\/$/, '') + '/' + aPath; - } - - exports.join = join; - - /** - * Because behavior goes wacky when you set `__proto__` on objects, we - * have to prefix all the strings in our set with an arbitrary character. - * - * See https://github.com/mozilla/source-map/pull/31 and - * https://github.com/mozilla/source-map/issues/30 - * - * @param String aStr - */ - function toSetString(aStr) { - return '$' + aStr; - } - - exports.toSetString = toSetString; - - function fromSetString(aStr) { - return aStr.substr(1); - } - - exports.fromSetString = fromSetString; - - function relative(aRoot, aPath) { - aRoot = aRoot.replace(/\/$/, ''); - - var url = urlParse(aRoot); - if (aPath.charAt(0) == "/" && url && url.path == "/") { - return aPath.slice(1); - } - - return aPath.indexOf(aRoot + '/') === 0 - ? aPath.substr(aRoot.length + 1) - : aPath; - } - - exports.relative = relative; - - function strcmp(aStr1, aStr2) { - var s1 = aStr1 || ""; - var s2 = aStr2 || ""; - return (s1 > s2) - (s1 < s2); - } - - /** - * Comparator between two mappings where the original positions are compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same original source/line/column, but different generated - * line and column the same. Useful when searching for a mapping with a - * stubbed out mapping. - */ - function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { - var cmp; - - cmp = strcmp(mappingA.source, mappingB.source); - if (cmp) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp || onlyCompareOriginal) { - return cmp; - } - - cmp = strcmp(mappingA.name, mappingB.name); - if (cmp) { - return cmp; - } - - cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp) { - return cmp; - } - - return mappingA.generatedColumn - mappingB.generatedColumn; - }; - exports.compareByOriginalPositions = compareByOriginalPositions; - - /** - * Comparator between two mappings where the generated positions are - * compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same generated line and column, but different - * source/name/original line and column the same. Useful when searching for a - * mapping with a stubbed out mapping. - */ - function compareByGeneratedPositions(mappingA, mappingB, onlyCompareGenerated) { - var cmp; - - cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp) { - return cmp; - } - - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp || onlyCompareGenerated) { - return cmp; - } - - cmp = strcmp(mappingA.source, mappingB.source); - if (cmp) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp) { - return cmp; - } - - return strcmp(mappingA.name, mappingB.name); - }; - exports.compareByGeneratedPositions = compareByGeneratedPositions; - - }); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - define('source-map/array-set', ['require', 'exports', 'module', 'source-map/util'], function (require, exports, module) { - - var util = require('./util'); - - /** - * A data structure which is a combination of an array and a set. Adding a new - * member is O(1), testing for membership is O(1), and finding the index of an - * element is O(1). Removing elements from the set is not supported. Only - * strings are supported for membership. - */ - function ArraySet() { - this._array = []; - this._set = {}; - } - - /** - * Static method for creating ArraySet instances from an existing array. - */ - ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { - var set = new ArraySet(); - for (var i = 0, len = aArray.length; i < len; i++) { - set.add(aArray[i], aAllowDuplicates); - } - return set; - }; - - /** - * Add the given string to this set. - * - * @param String aStr - */ - ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { - var isDuplicate = this.has(aStr); - var idx = this._array.length; - if (!isDuplicate || aAllowDuplicates) { - this._array.push(aStr); - } - if (!isDuplicate) { - this._set[util.toSetString(aStr)] = idx; - } - }; - - /** - * Is the given string a member of this set? - * - * @param String aStr - */ - ArraySet.prototype.has = function ArraySet_has(aStr) { - return Object.prototype.hasOwnProperty.call(this._set, - util.toSetString(aStr)); - }; - - /** - * What is the index of the given string in the array? - * - * @param String aStr - */ - ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { - if (this.has(aStr)) { - return this._set[util.toSetString(aStr)]; - } - throw new Error('"' + aStr + '" is not in the set.'); - }; - - /** - * What is the element at the given index? - * - * @param Number aIdx - */ - ArraySet.prototype.at = function ArraySet_at(aIdx) { - if (aIdx >= 0 && aIdx < this._array.length) { - return this._array[aIdx]; - } - throw new Error('No element indexed by ' + aIdx); - }; - - /** - * Returns the array representation of this set (which has the proper indices - * indicated by indexOf). Note that this is a copy of the internal array used - * for storing the members so that no one can mess with internal state. - */ - ArraySet.prototype.toArray = function ArraySet_toArray() { - return this._array.slice(); - }; - - exports.ArraySet = ArraySet; - - }); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - define('source-map/source-map-consumer', ['require', 'exports', 'module', 'source-map/util', 'source-map/binary-search', 'source-map/array-set', 'source-map/base64-vlq'], function (require, exports, module) { - - var util = require('./util'); - var binarySearch = require('./binary-search'); - var ArraySet = require('./array-set').ArraySet; - var base64VLQ = require('./base64-vlq'); - - /** - * A SourceMapConsumer instance represents a parsed source map which we can - * query for information about the original file positions by giving it a file - * position in the generated source. - * - * The only parameter is the raw source map (either as a JSON string, or - * already parsed to an object). According to the spec, source maps have the - * following attributes: - * - * - version: Which version of the source map spec this map is following. - * - sources: An array of URLs to the original source files. - * - names: An array of identifiers which can be referrenced by individual mappings. - * - sourceRoot: Optional. The URL root from which all sources are relative. - * - sourcesContent: Optional. An array of contents of the original source files. - * - mappings: A string of base64 VLQs which contain the actual mappings. - * - file: The generated file this source map is associated with. - * - * Here is an example source map, taken from the source map spec[0]: - * - * { - * version : 3, - * file: "out.js", - * sourceRoot : "", - * sources: ["foo.js", "bar.js"], - * names: ["src", "maps", "are", "fun"], - * mappings: "AA,AB;;ABCDE;" - * } - * - * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# - */ - function SourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - var version = util.getArg(sourceMap, 'version'); - var sources = util.getArg(sourceMap, 'sources'); - // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which - // requires the array) to play nice here. - var names = util.getArg(sourceMap, 'names', []); - var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); - var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); - var mappings = util.getArg(sourceMap, 'mappings'); - var file = util.getArg(sourceMap, 'file', null); - - // Once again, Sass deviates from the spec and supplies the version as a - // string rather than a number, so we use loose equality checking here. - if (version != this._version) { - throw new Error('Unsupported version: ' + version); - } - - // Pass `true` below to allow duplicate names and sources. While source maps - // are intended to be compressed and deduplicated, the TypeScript compiler - // sometimes generates source maps with duplicates in them. See Github issue - // #72 and bugzil.la/889492. - this._names = ArraySet.fromArray(names, true); - this._sources = ArraySet.fromArray(sources, true); - - this.sourceRoot = sourceRoot; - this.sourcesContent = sourcesContent; - this._mappings = mappings; - this.file = file; - } - - /** - * Create a SourceMapConsumer from a SourceMapGenerator. - * - * @param SourceMapGenerator aSourceMap - * The source map that will be consumed. - * @returns SourceMapConsumer - */ - SourceMapConsumer.fromSourceMap = - function SourceMapConsumer_fromSourceMap(aSourceMap) { - var smc = Object.create(SourceMapConsumer.prototype); - - smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); - smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); - smc.sourceRoot = aSourceMap._sourceRoot; - smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), - smc.sourceRoot); - smc.file = aSourceMap._file; - - smc.__generatedMappings = aSourceMap._mappings.slice() - .sort(util.compareByGeneratedPositions); - smc.__originalMappings = aSourceMap._mappings.slice() - .sort(util.compareByOriginalPositions); - - return smc; - }; - - /** - * The version of the source mapping spec that we are consuming. - */ - SourceMapConsumer.prototype._version = 3; - - /** - * The list of original sources. - */ - Object.defineProperty(SourceMapConsumer.prototype, 'sources', { - get: function () { - return this._sources.toArray().map(function (s) { - return this.sourceRoot ? util.join(this.sourceRoot, s) : s; - }, this); - } - }); - - // `__generatedMappings` and `__originalMappings` are arrays that hold the - // parsed mapping coordinates from the source map's "mappings" attribute. They - // are lazily instantiated, accessed via the `_generatedMappings` and - // `_originalMappings` getters respectively, and we only parse the mappings - // and create these arrays once queried for a source location. We jump through - // these hoops because there can be many thousands of mappings, and parsing - // them is expensive, so we only want to do it if we must. - // - // Each object in the arrays is of the form: - // - // { - // generatedLine: The line number in the generated code, - // generatedColumn: The column number in the generated code, - // source: The path to the original source file that generated this - // chunk of code, - // originalLine: The line number in the original source that - // corresponds to this chunk of generated code, - // originalColumn: The column number in the original source that - // corresponds to this chunk of generated code, - // name: The name of the original symbol which generated this chunk of - // code. - // } - // - // All properties except for `generatedLine` and `generatedColumn` can be - // `null`. - // - // `_generatedMappings` is ordered by the generated positions. - // - // `_originalMappings` is ordered by the original positions. - - SourceMapConsumer.prototype.__generatedMappings = null; - Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { - get: function () { - if (!this.__generatedMappings) { - this.__generatedMappings = []; - this.__originalMappings = []; - this._parseMappings(this._mappings, this.sourceRoot); - } - - return this.__generatedMappings; - } - }); - - SourceMapConsumer.prototype.__originalMappings = null; - Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { - get: function () { - if (!this.__originalMappings) { - this.__generatedMappings = []; - this.__originalMappings = []; - this._parseMappings(this._mappings, this.sourceRoot); - } - - return this.__originalMappings; - } - }); - - /** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - SourceMapConsumer.prototype._parseMappings = - function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - var generatedLine = 1; - var previousGeneratedColumn = 0; - var previousOriginalLine = 0; - var previousOriginalColumn = 0; - var previousSource = 0; - var previousName = 0; - var mappingSeparator = /^[,;]/; - var str = aStr; - var mapping; - var temp; - - while (str.length > 0) { - if (str.charAt(0) === ';') { - generatedLine++; - str = str.slice(1); - previousGeneratedColumn = 0; - } - else if (str.charAt(0) === ',') { - str = str.slice(1); - } - else { - mapping = {}; - mapping.generatedLine = generatedLine; - - // Generated column. - temp = base64VLQ.decode(str); - mapping.generatedColumn = previousGeneratedColumn + temp.value; - previousGeneratedColumn = mapping.generatedColumn; - str = temp.rest; - - if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { - // Original source. - temp = base64VLQ.decode(str); - mapping.source = this._sources.at(previousSource + temp.value); - previousSource += temp.value; - str = temp.rest; - if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { - throw new Error('Found a source, but no line and column'); - } - - // Original line. - temp = base64VLQ.decode(str); - mapping.originalLine = previousOriginalLine + temp.value; - previousOriginalLine = mapping.originalLine; - // Lines are stored 0-based - mapping.originalLine += 1; - str = temp.rest; - if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { - throw new Error('Found a source and line, but no column'); - } - - // Original column. - temp = base64VLQ.decode(str); - mapping.originalColumn = previousOriginalColumn + temp.value; - previousOriginalColumn = mapping.originalColumn; - str = temp.rest; - - if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { - // Original name. - temp = base64VLQ.decode(str); - mapping.name = this._names.at(previousName + temp.value); - previousName += temp.value; - str = temp.rest; - } - } - - this.__generatedMappings.push(mapping); - if (typeof mapping.originalLine === 'number') { - this.__originalMappings.push(mapping); - } - } - } - - this.__originalMappings.sort(util.compareByOriginalPositions); - }; - - /** - * Find the mapping that best matches the hypothetical "needle" mapping that - * we are searching for in the given "haystack" of mappings. - */ - SourceMapConsumer.prototype._findMapping = - function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, - aColumnName, aComparator) { - // To return the position we are searching for, we must first find the - // mapping for the given position and then return the opposite position it - // points to. Because the mappings are sorted, we can use binary search to - // find the best mapping. - - if (aNeedle[aLineName] <= 0) { - throw new TypeError('Line must be greater than or equal to 1, got ' - + aNeedle[aLineName]); - } - if (aNeedle[aColumnName] < 0) { - throw new TypeError('Column must be greater than or equal to 0, got ' - + aNeedle[aColumnName]); - } - - return binarySearch.search(aNeedle, aMappings, aComparator); - }; - - /** - * Returns the original source, line, and column information for the generated - * source's line and column positions provided. The only argument is an object - * with the following properties: - * - * - line: The line number in the generated source. - * - column: The column number in the generated source. - * - * and an object is returned with the following properties: - * - * - source: The original source file, or null. - * - line: The line number in the original source, or null. - * - column: The column number in the original source, or null. - * - name: The original identifier, or null. - */ - SourceMapConsumer.prototype.originalPositionFor = - function SourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, 'line'), - generatedColumn: util.getArg(aArgs, 'column') - }; - - var mapping = this._findMapping(needle, - this._generatedMappings, - "generatedLine", - "generatedColumn", - util.compareByGeneratedPositions); - - if (mapping) { - var source = util.getArg(mapping, 'source', null); - if (source && this.sourceRoot) { - source = util.join(this.sourceRoot, source); - } - return { - source: source, - line: util.getArg(mapping, 'originalLine', null), - column: util.getArg(mapping, 'originalColumn', null), - name: util.getArg(mapping, 'name', null) - }; - } - - return { - source: null, - line: null, - column: null, - name: null - }; - }; - - /** - * Returns the original source content. The only argument is the url of the - * original source file. Returns null if no original source content is - * availible. - */ - SourceMapConsumer.prototype.sourceContentFor = - function SourceMapConsumer_sourceContentFor(aSource) { - if (!this.sourcesContent) { - return null; - } - - if (this.sourceRoot) { - aSource = util.relative(this.sourceRoot, aSource); - } - - if (this._sources.has(aSource)) { - return this.sourcesContent[this._sources.indexOf(aSource)]; - } - - var url; - if (this.sourceRoot - && (url = util.urlParse(this.sourceRoot))) { - // XXX: file:// URIs and absolute paths lead to unexpected behavior for - // many users. We can help them out when they expect file:// URIs to - // behave like it would if they were running a local HTTP server. See - // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. - var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); - if (url.scheme == "file" - && this._sources.has(fileUriAbsPath)) { - return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] - } - - if ((!url.path || url.path == "/") - && this._sources.has("/" + aSource)) { - return this.sourcesContent[this._sources.indexOf("/" + aSource)]; - } - } - - throw new Error('"' + aSource + '" is not in the SourceMap.'); - }; - - /** - * Returns the generated line and column information for the original source, - * line, and column positions provided. The only argument is an object with - * the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - column: The column number in the original source. - * - * and an object is returned with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ - SourceMapConsumer.prototype.generatedPositionFor = - function SourceMapConsumer_generatedPositionFor(aArgs) { - var needle = { - source: util.getArg(aArgs, 'source'), - originalLine: util.getArg(aArgs, 'line'), - originalColumn: util.getArg(aArgs, 'column') - }; - - if (this.sourceRoot) { - needle.source = util.relative(this.sourceRoot, needle.source); - } - - var mapping = this._findMapping(needle, - this._originalMappings, - "originalLine", - "originalColumn", - util.compareByOriginalPositions); - - if (mapping) { - return { - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null) - }; - } - - return { - line: null, - column: null - }; - }; - - SourceMapConsumer.GENERATED_ORDER = 1; - SourceMapConsumer.ORIGINAL_ORDER = 2; - - /** - * Iterate over each mapping between an original source/line/column and a - * generated line/column in this source map. - * - * @param Function aCallback - * The function that is called with each mapping. - * @param Object aContext - * Optional. If specified, this object will be the value of `this` every - * time that `aCallback` is called. - * @param aOrder - * Either `SourceMapConsumer.GENERATED_ORDER` or - * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to - * iterate over the mappings sorted by the generated file's line/column - * order or the original's source/line/column order, respectively. Defaults to - * `SourceMapConsumer.GENERATED_ORDER`. - */ - SourceMapConsumer.prototype.eachMapping = - function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { - var context = aContext || null; - var order = aOrder || SourceMapConsumer.GENERATED_ORDER; - - var mappings; - switch (order) { - case SourceMapConsumer.GENERATED_ORDER: - mappings = this._generatedMappings; - break; - case SourceMapConsumer.ORIGINAL_ORDER: - mappings = this._originalMappings; - break; - default: - throw new Error("Unknown order of iteration."); - } - - var sourceRoot = this.sourceRoot; - mappings.map(function (mapping) { - var source = mapping.source; - if (source && sourceRoot) { - source = util.join(sourceRoot, source); - } - return { - source: source, - generatedLine: mapping.generatedLine, - generatedColumn: mapping.generatedColumn, - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: mapping.name - }; - }).forEach(aCallback, context); - }; - - exports.SourceMapConsumer = SourceMapConsumer; - - }); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - define('source-map/binary-search', ['require', 'exports', 'module',], function (require, exports, module) { - - /** - * Recursive implementation of binary search. - * - * @param aLow Indices here and lower do not contain the needle. - * @param aHigh Indices here and higher do not contain the needle. - * @param aNeedle The element being searched for. - * @param aHaystack The non-empty array being searched. - * @param aCompare Function which takes two elements and returns -1, 0, or 1. - */ - function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare) { - // This function terminates when one of the following is true: - // - // 1. We find the exact element we are looking for. - // - // 2. We did not find the exact element, but we can return the next - // closest element that is less than that element. - // - // 3. We did not find the exact element, and there is no next-closest - // element which is less than the one we are searching for, so we - // return null. - var mid = Math.floor((aHigh - aLow) / 2) + aLow; - var cmp = aCompare(aNeedle, aHaystack[mid], true); - if (cmp === 0) { - // Found the element we are looking for. - return aHaystack[mid]; - } - else if (cmp > 0) { - // aHaystack[mid] is greater than our needle. - if (aHigh - mid > 1) { - // The element is in the upper half. - return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare); - } - // We did not find an exact match, return the next closest one - // (termination case 2). - return aHaystack[mid]; - } - else { - // aHaystack[mid] is less than our needle. - if (mid - aLow > 1) { - // The element is in the lower half. - return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare); - } - // The exact needle element was not found in this haystack. Determine if - // we are in termination case (2) or (3) and return the appropriate thing. - return aLow < 0 - ? null - : aHaystack[aLow]; - } - } - - /** - * This is an implementation of binary search which will always try and return - * the next lowest value checked if there is no exact hit. This is because - * mappings between original and generated line/col pairs are single points, - * and there is an implicit region between each of them, so a miss just means - * that you aren't on the very start of a region. - * - * @param aNeedle The element you are looking for. - * @param aHaystack The array that is being searched. - * @param aCompare A function which takes the needle and an element in the - * array and returns -1, 0, or 1 depending on whether the needle is less - * than, equal to, or greater than the element, respectively. - */ - exports.search = function search(aNeedle, aHaystack, aCompare) { - return aHaystack.length > 0 - ? recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare) - : null; - }; - - }); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - define('source-map/source-node', ['require', 'exports', 'module', 'source-map/source-map-generator', 'source-map/util'], function (require, exports, module) { - - var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; - var util = require('./util'); - - /** - * SourceNodes provide a way to abstract over interpolating/concatenating - * snippets of generated JavaScript source code while maintaining the line and - * column information associated with the original source code. - * - * @param aLine The original line number. - * @param aColumn The original column number. - * @param aSource The original source's filename. - * @param aChunks Optional. An array of strings which are snippets of - * generated JS, or other SourceNodes. - * @param aName The original identifier. - */ - function SourceNode(aLine, aColumn, aSource, aChunks, aName) { - this.children = []; - this.sourceContents = {}; - this.line = aLine === undefined ? null : aLine; - this.column = aColumn === undefined ? null : aColumn; - this.source = aSource === undefined ? null : aSource; - this.name = aName === undefined ? null : aName; - if (aChunks != null) this.add(aChunks); - } - - /** - * Creates a SourceNode from generated code and a SourceMapConsumer. - * - * @param aGeneratedCode The generated code - * @param aSourceMapConsumer The SourceMap for the generated code - */ - SourceNode.fromStringWithSourceMap = - function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer) { - // The SourceNode we want to fill with the generated code - // and the SourceMap - var node = new SourceNode(); - - // The generated code - // Processed fragments are removed from this array. - var remainingLines = aGeneratedCode.split('\n'); - - // We need to remember the position of "remainingLines" - var lastGeneratedLine = 1, lastGeneratedColumn = 0; - - // The generate SourceNodes we need a code range. - // To extract it current and last mapping is used. - // Here we store the last mapping. - var lastMapping = null; - - aSourceMapConsumer.eachMapping(function (mapping) { - if (lastMapping === null) { - // We add the generated code until the first mapping - // to the SourceNode without any mapping. - // Each line is added as separate string. - while (lastGeneratedLine < mapping.generatedLine) { - node.add(remainingLines.shift() + "\n"); - lastGeneratedLine++; - } - if (lastGeneratedColumn < mapping.generatedColumn) { - var nextLine = remainingLines[0]; - node.add(nextLine.substr(0, mapping.generatedColumn)); - remainingLines[0] = nextLine.substr(mapping.generatedColumn); - lastGeneratedColumn = mapping.generatedColumn; - } - } else { - // We add the code from "lastMapping" to "mapping": - // First check if there is a new line in between. - if (lastGeneratedLine < mapping.generatedLine) { - var code = ""; - // Associate full lines with "lastMapping" - do { - code += remainingLines.shift() + "\n"; - lastGeneratedLine++; - lastGeneratedColumn = 0; - } while (lastGeneratedLine < mapping.generatedLine); - // When we reached the correct line, we add code until we - // reach the correct column too. - if (lastGeneratedColumn < mapping.generatedColumn) { - var nextLine = remainingLines[0]; - code += nextLine.substr(0, mapping.generatedColumn); - remainingLines[0] = nextLine.substr(mapping.generatedColumn); - lastGeneratedColumn = mapping.generatedColumn; - } - // Create the SourceNode. - addMappingWithCode(lastMapping, code); - } else { - // There is no new line in between. - // Associate the code between "lastGeneratedColumn" and - // "mapping.generatedColumn" with "lastMapping" - var nextLine = remainingLines[0]; - var code = nextLine.substr(0, mapping.generatedColumn - - lastGeneratedColumn); - remainingLines[0] = nextLine.substr(mapping.generatedColumn - - lastGeneratedColumn); - lastGeneratedColumn = mapping.generatedColumn; - addMappingWithCode(lastMapping, code); - } - } - lastMapping = mapping; - }, this); - // We have processed all mappings. - // Associate the remaining code in the current line with "lastMapping" - // and add the remaining lines without any mapping - addMappingWithCode(lastMapping, remainingLines.join("\n")); - - // Copy sourcesContent into SourceNode - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content) { - node.setSourceContent(sourceFile, content); - } - }); - - return node; - - function addMappingWithCode(mapping, code) { - if (mapping === null || mapping.source === undefined) { - node.add(code); - } else { - node.add(new SourceNode(mapping.originalLine, - mapping.originalColumn, - mapping.source, - code, - mapping.name)); - } - } - }; - - /** - * Add a chunk of generated JS to this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. - */ - SourceNode.prototype.add = function SourceNode_add(aChunk) { - if (Array.isArray(aChunk)) { - aChunk.forEach(function (chunk) { - this.add(chunk); - }, this); - } - else if (aChunk instanceof SourceNode || typeof aChunk === "string") { - if (aChunk) { - this.children.push(aChunk); - } - } - else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; - }; - - /** - * Add a chunk of generated JS to the beginning of this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. - */ - SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { - if (Array.isArray(aChunk)) { - for (var i = aChunk.length - 1; i >= 0; i--) { - this.prepend(aChunk[i]); - } - } - else if (aChunk instanceof SourceNode || typeof aChunk === "string") { - this.children.unshift(aChunk); - } - else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; - }; - - /** - * Walk over the tree of JS snippets in this node and its children. The - * walking function is called once for each snippet of JS and is passed that - * snippet and the its original associated source's line/column location. - * - * @param aFn The traversal function. - */ - SourceNode.prototype.walk = function SourceNode_walk(aFn) { - var chunk; - for (var i = 0, len = this.children.length; i < len; i++) { - chunk = this.children[i]; - if (chunk instanceof SourceNode) { - chunk.walk(aFn); - } - else { - if (chunk !== '') { - aFn(chunk, { - source: this.source, - line: this.line, - column: this.column, - name: this.name - }); - } - } - } - }; - - /** - * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between - * each of `this.children`. - * - * @param aSep The separator. - */ - SourceNode.prototype.join = function SourceNode_join(aSep) { - var newChildren; - var i; - var len = this.children.length; - if (len > 0) { - newChildren = []; - for (i = 0; i < len - 1; i++) { - newChildren.push(this.children[i]); - newChildren.push(aSep); - } - newChildren.push(this.children[i]); - this.children = newChildren; - } - return this; - }; - - /** - * Call String.prototype.replace on the very right-most source snippet. Useful - * for trimming whitespace from the end of a source node, etc. - * - * @param aPattern The pattern to replace. - * @param aReplacement The thing to replace the pattern with. - */ - SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { - var lastChild = this.children[this.children.length - 1]; - if (lastChild instanceof SourceNode) { - lastChild.replaceRight(aPattern, aReplacement); - } - else if (typeof lastChild === 'string') { - this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); - } - else { - this.children.push(''.replace(aPattern, aReplacement)); - } - return this; - }; - - /** - * Set the source content for a source file. This will be added to the SourceMapGenerator - * in the sourcesContent field. - * - * @param aSourceFile The filename of the source file - * @param aSourceContent The content of the source file - */ - SourceNode.prototype.setSourceContent = - function SourceNode_setSourceContent(aSourceFile, aSourceContent) { - this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; - }; - - /** - * Walk over the tree of SourceNodes. The walking function is called for each - * source file content and is passed the filename and source content. - * - * @param aFn The traversal function. - */ - SourceNode.prototype.walkSourceContents = - function SourceNode_walkSourceContents(aFn) { - for (var i = 0, len = this.children.length; i < len; i++) { - if (this.children[i] instanceof SourceNode) { - this.children[i].walkSourceContents(aFn); - } - } - - var sources = Object.keys(this.sourceContents); - for (var i = 0, len = sources.length; i < len; i++) { - aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); - } - }; - - /** - * Return the string representation of this source node. Walks over the tree - * and concatenates all the various snippets together to one string. - */ - SourceNode.prototype.toString = function SourceNode_toString() { - var str = ""; - this.walk(function (chunk) { - str += chunk; - }); - return str; - }; - - /** - * Returns the string representation of this source node along with a source - * map. - */ - SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { - var generated = { - code: "", - line: 1, - column: 0 - }; - var map = new SourceMapGenerator(aArgs); - var sourceMappingActive = false; - var lastOriginalSource = null; - var lastOriginalLine = null; - var lastOriginalColumn = null; - var lastOriginalName = null; - this.walk(function (chunk, original) { - generated.code += chunk; - if (original.source !== null - && original.line !== null - && original.column !== null) { - if (lastOriginalSource !== original.source - || lastOriginalLine !== original.line - || lastOriginalColumn !== original.column - || lastOriginalName !== original.name) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - lastOriginalSource = original.source; - lastOriginalLine = original.line; - lastOriginalColumn = original.column; - lastOriginalName = original.name; - sourceMappingActive = true; - } else if (sourceMappingActive) { - map.addMapping({ - generated: { - line: generated.line, - column: generated.column - } - }); - lastOriginalSource = null; - sourceMappingActive = false; - } - chunk.split('').forEach(function (ch) { - if (ch === '\n') { - generated.line++; - generated.column = 0; - } else { - generated.column++; - } - }); - }); - this.walkSourceContents(function (sourceFile, sourceContent) { - map.setSourceContent(sourceFile, sourceContent); - }); - - return {code: generated.code, map: map}; - }; - - exports.SourceNode = SourceNode; - - }); - /* -*- Mode: js; js-indent-level: 2; -*- */ -/////////////////////////////////////////////////////////////////////////////// - - this.sourceMap = { - SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, - SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, - SourceNode: require('source-map/source-node').SourceNode - }; - -// footer to wrap "source-map" module - return this.sourceMap; - }(); -})(); - - -/* Less.js v1.7.5 RHINO | Copyright (c) 2009-2014, Alexis Sellier */ - -/*global name:true, less, loadStyleSheet, os */ - -function formatError(ctx, options) { - options = options || {}; - - var message = ""; - var extract = ctx.extract; - var error = []; - -// var stylize = options.color ? require('./lessc_helper').stylize : function (str) { return str; }; - var stylize = function (str) { - return str; - }; - - // only output a stack if it isn't a less error - if (ctx.stack && !ctx.type) { - return stylize(ctx.stack, 'red'); - } - - if (!ctx.hasOwnProperty('index') || !extract) { - return ctx.stack || ctx.message; - } - - if (typeof(extract[0]) === 'string') { - error.push(stylize((ctx.line - 1) + ' ' + extract[0], 'grey')); - } - - if (typeof(extract[1]) === 'string') { - var errorTxt = ctx.line + ' '; - if (extract[1]) { - errorTxt += extract[1].slice(0, ctx.column) + - stylize(stylize(stylize(extract[1][ctx.column], 'bold') + - extract[1].slice(ctx.column + 1), 'red'), 'inverse'); - } - error.push(errorTxt); - } - - if (typeof(extract[2]) === 'string') { - error.push(stylize((ctx.line + 1) + ' ' + extract[2], 'grey')); - } - error = error.join('\n') + stylize('', 'reset') + '\n'; - - message += stylize(ctx.type + 'Error: ' + ctx.message, 'red'); - if (ctx.filename) { - message += stylize(' in ', 'red') + ctx.filename + - stylize(' on line ' + ctx.line + ', column ' + (ctx.column + 1) + ':', 'grey'); - } - - message += '\n' + error; - - if (ctx.callLine) { - message += stylize('from ', 'red') + (ctx.filename || '') + '/n'; - message += stylize(ctx.callLine, 'grey') + ' ' + ctx.callExtract + '/n'; - } - - return message; -} - -function writeError(ctx, options) { - options = options || {}; - if (options.silent) { - return; - } - var message = formatError(ctx, options); - throw new Error(message); -} - -function loadStyleSheet(sheet, callback, reload, remaining) { - var endOfPath = Math.max(name.lastIndexOf('/'), name.lastIndexOf('\\')), - sheetName = name.slice(0, endOfPath + 1) + sheet.href, - contents = sheet.contents || {}, - input = readFile(sheetName); - - input = input.replace(/^\xEF\xBB\xBF/, ''); - - contents[sheetName] = input; - - var parser = new less.Parser({ - paths: [sheet.href.replace(/[\w\.-]+$/, '')], - contents: contents - }); - parser.parse(input, function (e, root) { - if (e) { - return writeError(e); - } - //try { - callback(e, root, input, sheet, {local: false, lastModified: 0, remaining: remaining}, sheetName); - //} catch (e) { - //writeError(e); - //log.error(e); - //} - }); -} - -less.Parser.fileLoader = function (file, currentFileInfo, callback, env) { - - var href = file; - if (currentFileInfo && currentFileInfo.currentDirectory && !/^\//.test(file)) { - href = less.modules.path.join(currentFileInfo.currentDirectory, file); - } - - var path = less.modules.path.dirname(href); - - var newFileInfo = { - currentDirectory: path + '/', - filename: href - }; - - if (currentFileInfo) { - newFileInfo.entryPath = currentFileInfo.entryPath; - newFileInfo.rootpath = currentFileInfo.rootpath; - newFileInfo.rootFilename = currentFileInfo.rootFilename; - newFileInfo.relativeUrls = currentFileInfo.relativeUrls; - } else { - newFileInfo.entryPath = path; - newFileInfo.rootpath = less.rootpath || path; - newFileInfo.rootFilename = href; - newFileInfo.relativeUrls = env.relativeUrls; - } - - var j = file.lastIndexOf('/'); - if (newFileInfo.relativeUrls && !/^(?:[a-z-]+:|\/)/.test(file) && j != -1) { - var relativeSubDirectory = file.slice(0, j + 1); - newFileInfo.rootpath = newFileInfo.rootpath + relativeSubDirectory; // append (sub|sup) directory path of imported file - } - newFileInfo.currentDirectory = path; - newFileInfo.filename = href; - - var data = null; - try { - data = readFile(href); - } catch (e) { - log.error(e); - callback({type: 'File', message: "'" + less.modules.path.basename(href) + "' wasn't found"}); - return; - } - - try { - callback(null, data, href, newFileInfo, {lastModified: 0}); - } catch (e) { - callback(e, null, href); - } -}; - - -function writeFile(filename, content) { - var f = new File(filename); - f.open('w'); - f.write(content); - f.close(); -} - -// Command line integration via Rhino -var compile = function (args) { - - var options = { - depends: false, - compress: false, - cleancss: false, - max_line_len: -1, - optimization: 1, - silent: false, - verbose: false, - lint: false, - paths: [], - color: true, - strictImports: false, - rootpath: '', - relativeUrls: false, - ieCompat: true, - strictMath: false, - strictUnits: false - }; - var continueProcessing = true, - currentErrorcode; - - var checkArgFunc = function (arg, option) { - if (!option) { - print(arg + " option requires a parameter"); - continueProcessing = false; - return false; - } - return true; - }; - - var checkBooleanArg = function (arg) { - var onOff = /^((on|t|true|y|yes)|(off|f|false|n|no))$/i.exec(arg); - if (!onOff) { - print(" unable to parse " + arg + " as a boolean. use one of on/t/true/y/yes/off/f/false/n/no"); - continueProcessing = false; - return false; - } - return Boolean(onOff[2]); - }; - - var warningMessages = ""; - var sourceMapFileInline = false; - - args = args.filter(function (arg) { - var match = arg.match(/^-I(.+)$/); - - if (match) { - options.paths.push(match[1]); - return false; - } - - match = arg.match(/^--?([a-z][0-9a-z-]*)(?:=(.*))?$/i); - if (match) { - arg = match[1]; - } // was (?:=([^\s]*)), check! - else { - return arg; - } - - switch (arg) { - case 'v': - case 'version': - console.log("lessc " + less.version.join('.') + " (Less Compiler) [JavaScript]"); - continueProcessing = false; - break; - case 'verbose': - options.verbose = true; - break; - case 's': - case 'silent': - options.silent = true; - break; - case 'l': - case 'lint': - options.lint = true; - break; - case 'strict-imports': - options.strictImports = true; - break; - case 'h': - case 'help': - //TODO -// require('../lib/less/lessc_helper').printUsage(); - continueProcessing = false; - break; - case 'x': - case 'compress': - options.compress = true; - break; - case 'M': - case 'depends': - options.depends = true; - break; - case 'yui-compress': - warningMessages += "yui-compress option has been removed. assuming clean-css."; - options.cleancss = true; - break; - case 'clean-css': - options.cleancss = true; - break; - case 'max-line-len': - if (checkArgFunc(arg, match[2])) { - options.maxLineLen = parseInt(match[2], 10); - if (options.maxLineLen <= 0) { - options.maxLineLen = -1; - } - } - break; - case 'no-color': - options.color = false; - break; - case 'no-ie-compat': - options.ieCompat = false; - break; - case 'no-js': - options.javascriptEnabled = false; - break; - case 'include-path': - if (checkArgFunc(arg, match[2])) { - options.paths = match[2].split(os.type().match(/Windows/) ? ';' : ':') - .map(function (p) { - if (p) { -// return path.resolve(process.cwd(), p); - return p; - } - }); - } - break; - case 'O0': - options.optimization = 0; - break; - case 'O1': - options.optimization = 1; - break; - case 'O2': - options.optimization = 2; - break; - case 'line-numbers': - if (checkArgFunc(arg, match[2])) { - options.dumpLineNumbers = match[2]; - } - break; - case 'source-map': - if (!match[2]) { - options.sourceMap = true; - } else { - options.sourceMap = match[2]; - } - break; - case 'source-map-rootpath': - if (checkArgFunc(arg, match[2])) { - options.sourceMapRootpath = match[2]; - } - break; - case 'source-map-basepath': - if (checkArgFunc(arg, match[2])) { - options.sourceMapBasepath = match[2]; - } - break; - case 'source-map-map-inline': - sourceMapFileInline = true; - options.sourceMap = true; - break; - case 'source-map-less-inline': - options.outputSourceFiles = true; - break; - case 'source-map-url': - if (checkArgFunc(arg, match[2])) { - options.sourceMapURL = match[2]; - } - break; - case 'source-map-output-map-file': - if (checkArgFunc(arg, match[2])) { - options.writeSourceMap = function (sourceMapContent) { - writeFile(match[2], sourceMapContent); - }; - } - break; - case 'rp': - case 'rootpath': - if (checkArgFunc(arg, match[2])) { - options.rootpath = match[2].replace(/\\/g, '/'); - } - break; - case "ru": - case "relative-urls": - options.relativeUrls = true; - break; - case "sm": - case "strict-math": - if (checkArgFunc(arg, match[2])) { - options.strictMath = checkBooleanArg(match[2]); - } - break; - case "su": - case "strict-units": - if (checkArgFunc(arg, match[2])) { - options.strictUnits = checkBooleanArg(match[2]); - } - break; - default: - console.log('invalid option ' + arg); - continueProcessing = false; - } - }); - - if (!continueProcessing) { - return; - } - - var name = args[0]; - if (name && name != '-') { -// name = path.resolve(process.cwd(), name); - } - var output = args[1]; - var outputbase = args[1]; - if (output) { - options.sourceMapOutputFilename = output; -// output = path.resolve(process.cwd(), output); - if (warningMessages) { - console.log(warningMessages); - } - } - -// options.sourceMapBasepath = process.cwd(); -// options.sourceMapBasepath = ''; - - if (options.sourceMap === true) { - console.log("output: " + output); - if (!output && !sourceMapFileInline) { - console.log("the sourcemap option only has an optional filename if the css filename is given"); - return; - } - options.sourceMapFullFilename = options.sourceMapOutputFilename + ".map"; - options.sourceMap = less.modules.path.basename(options.sourceMapFullFilename); - } else if (options.sourceMap) { - options.sourceMapOutputFilename = options.sourceMap; - } - - - if (!name) { - console.log("lessc: no inout files"); - console.log(""); - // TODO -// require('../lib/less/lessc_helper').printUsage(); - currentErrorcode = 1; - return; - } - -// var ensureDirectory = function (filepath) { -// var dir = path.dirname(filepath), -// cmd, -// existsSync = fs.existsSync || path.existsSync; -// if (!existsSync(dir)) { -// if (mkdirp === undefined) { -// try {mkdirp = require('mkdirp');} -// catch(e) { mkdirp = null; } -// } -// cmd = mkdirp && mkdirp.sync || fs.mkdirSync; -// cmd(dir); -// } -// }; - - if (options.depends) { - if (!outputbase) { - console.log("option --depends requires an output path to be specified"); - return; - } - console.log(outputbase + ": "); - } - - if (!name) { - console.log('No files present in the fileset'); - quit(1); - } - - var input = null; - try { - input = readFile(name, 'utf-8'); - } catch (e) { - log.error(e); - quit(1); - } - - options.filename = name; - var result; - var parser = new less.Parser(options); - parser.parse(input, function (e, root) { - if (e) { - log.info(e); - writeError(e, options); - quit(1); - } else { - result = root.toCSS(options); - if (output) { - writeFile(output, result); - console.log("Written to " + output); - } else { - print(result); - } - quit(0); - } - }, { - globalVars: {'self-class': fuseState.currentUnit + '-unit'} - }); -}; diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/login.jag b/modules/distribution/src/repository/jaggeryapps/sensebot/lib/login.jag deleted file mode 100644 index 7b93c3c7..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/login.jag +++ /dev/null @@ -1,36 +0,0 @@ -<% -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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 constants = require('/modules/constants.js'); - if (!session.get(constants.USER_SESSION_KEY)) { - var dataConfig = require('/config/dc-props.js').config(); - var sso = require('/modules/sso.js').sso; - var keyStoreParams = { - keyStoreName : dataConfig.ssoConfiguration.keyStoreName, - keyStorePassword : dataConfig.ssoConfiguration.keyStorePassword, - identityAlias : dataConfig.ssoConfiguration.identityAlias - } - sso.configure(dataConfig.ssoConfiguration.issuer, dataConfig.ssoConfiguration.appName, keyStoreParams, - dataConfig.ssoConfiguration.identityProviderURL); - sso.login(); - }else{ - response.sendRedirect(dataConfig.appContext); - } -}()); -%> diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/logout.jag b/modules/distribution/src/repository/jaggeryapps/sensebot/lib/logout.jag deleted file mode 100644 index 4ae365d9..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/lib/logout.jag +++ /dev/null @@ -1,37 +0,0 @@ -<% -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ -var constants = require('/modules/constants.js'); -var user = session.get(constants.USER_SESSION_KEY); -var dataConfig = require('/config/dc-props.js').config(); -var log = new Log(); -if (user === null) { - log.debug("Cannot perform logout. No user session found."); - response.sendRedirect(dataConfig.appContext+'dashboard'); -} else { - var sso = require('/modules/sso.js').sso; - var keyStoreParams = { - keyStoreName: dataConfig.ssoConfiguration.keyStoreName, - keyStorePassword: dataConfig.ssoConfiguration.keyStorePassword, - identityAlias: dataConfig.ssoConfiguration.identityAlias - } - sso.configure(dataConfig.ssoConfiguration.issuer, dataConfig.ssoConfiguration.appName, keyStoreParams, - dataConfig.ssoConfiguration.identityProviderURL); - sso.logout(user); -} -%> \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/constants.js b/modules/distribution/src/repository/jaggeryapps/sensebot/modules/constants.js deleted file mode 100644 index 182d319e..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/constants.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ - -var WEB_APP_TITLE = "WSO2 DC - Device Cloud"; -var WEB_APP_CONTEXT = "/iot"; -var USER_SESSION_KEY = "USER"; -var UNSPECIFIED = "Unspecified"; - -var ERRORS = { - "USER_NOT_FOUND": "USER_NOT_FOUND" - }; diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/download.js b/modules/distribution/src/repository/jaggeryapps/sensebot/modules/download.js deleted file mode 100644 index 5394c8bf..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/download.js +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ - -var downloadModule; -var Handlebars = require('../lib/handlebars-v2.0.0.js').Handlebars; -downloadModule = function () { - var log = new Log("modules/download.js"); - - var constants = require("/modules/constants.js"); - - var publicMethods = {}; - var privateMethods = {}; - - /** - * Downloading a specified sketch file. - * - * @param file File name or file object of the downloading file - * @param replaceParams - */ - publicMethods.downloadSketch = function (file, response, replaceParams) { - var file = new File("../sketch/" + file); - - file.open('r'); - log.debug("Reading file '" + file.getPath() + "'"); - var content = file.readAll().trim(); - file.close(); - - var downloadFile = privateMethods.allReplace(content,replaceParams); - - response.contentType = "application/octet-stream"; - response.addHeader("Content-Disposition", "attachment; filename='sketch.hbs'"); - response.addHeader("Content-Length", String(downloadFile.length)); - response.content = downloadFile; - }; - - /** - * Find and replace all occurrences. - * @param inStr input string - * @param replaceParams key value array - * @returns retStr replaced string - */ - privateMethods.allReplace = function (inStr, replaceParams) { - var retStr = inStr; - for (var x in replaceParams) { - retStr = retStr.replace(new RegExp(x, 'g'), replaceParams[x]) - } - return retStr; - }; - - return publicMethods; -}(); - - diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/pinch.min.js b/modules/distribution/src/repository/jaggeryapps/sensebot/modules/pinch.min.js deleted file mode 100644 index feccd2da..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/pinch.min.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -* Copyright (c) 2011 František Hába -* -* 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. -* -* Reference:- https://github.com/Baggz/Pinch -* Pinch is a small JavaScript utility which is able to replace any data in a JavaScript object (or JSON). -* */ -(function(){var k=function(a,c){return a.length!==c.length?!1:a.every(function(a,b){return c[b]===a})},j=function(a,c,d){var b,e;if("[object Array]"===Object.prototype.toString.call(a)){b=0;for(e=a.length;b

You are now being redirected to SSO Provider. If the redirection fails, please click on the "+ - "button below.

" + - ""); - }; - - sso.logout = function (user) { - var sso_sessions = getSSOSessions(); - sso.sessionId = session.getId(); - sso.sessionIndex = sso_sessions[sso.sessionId]; - - var referer = request.getHeader("referer"); - sso.relayState = (referer ? referer : sso.relayState); - sso.relayState = sso.relayState + request.getQueryString(); // append query string - sso.encodedSAMLLogoutRequest = ssoMod.client.getEncodedSAMLLogoutRequest(user, sso.sessionIndex, sso.issuer); - var postUrl = sso.address + sso.ssoService; - - if (log.isDebugEnabled()) { - sso.log.debug("Logout request recieved from session id ::: " + sso.sessionId); - } - print("

You are now redirected to Stratos Identity. If theredirection fails, please click the post " + - "button.

"); - }; - - sso.acs = function (loginCallback, logoutCallback) { - var sso_sessions = getSSOSessions(); - sso.sessionId = session.getId(); - var samlResponse = request.getParameter('SAMLResponse'); - var samlRequest = request.getParameter('SAMLRequest'); - var relayState = request.getParameter('RelayState'); - var samlRespObj; - - if (samlResponse != null) { - samlRespObj = ssoMod.client.getSamlObject(samlResponse); - if (ssoMod.client.isLogoutResponse(samlRespObj)) { - logoutCallback(); - if (log.isDebugEnabled()) { - sso.log.debug('Session Id Invalidated :::' + sso.sessionId); - } - // Invalidating the session after the callback - session.invalidate(); - } else { - if (log.isDebugEnabled()) { - sso.log.debug("Login request"); - } - // validating the signature - if (sso.responseSign) { - if (ssoMod.client.validateSignature(samlRespObj, sso.keyStoreProps)) { - var sessionObj = ssoMod.client.decodeSAMLLoginResponse(samlRespObj, samlResponse, - sso.sessionId); - if (log.isDebugEnabled()) { - sso.log.debug("Saml object session ID :::" + sessionObj.sessionId); - } - if (sessionObj.sessionIndex != null || sessionObj.sessionIndex != 'undefined') { - sso_sessions[sso_sessions[sessionObj.sessionIndex] = sessionObj.sessionId] = - sessionObj.sessionIndex; - if (log.isDebugEnabled()) { - sso.log.debug("Login successful"); - sso.log.debug('User is set :::' + sessionObj.loggedInUser); - } - loginCallback(sessionObj.loggedInUser); - } else { - sso.log.error("Session index invalid"); - } - } else { - sso.log.error("Response Signing failed"); - } - } else { - if (log.isDebugEnabled()) { - sso.log.debug("Response Signing is disabled"); - } - } - } - } - /* - Executed for single logout requests - */ - if (samlRequest != null) { - var index = ssoMod.client.decodeSAMLLogoutRequest(ssoMod.client.getSamlObject(samlRequest)); - var jSessionId = getSSOSessions()[index]; - delete getSSOSessions()[index]; - if (log.isDebugEnabled()) { - sso.log.debug('Backend logout received from store. The index is :::' + index); - sso.log.debug('Session Id Invalidated :::' + jSessionId); - } - session.invalidate(); - } - } -})(); \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/user.js b/modules/distribution/src/repository/jaggeryapps/sensebot/modules/user.js deleted file mode 100644 index 2dfff33e..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/user.js +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ - -var userModule; -userModule = function () { - var log = new Log("modules/user.js"); - - var constants = require("/modules/constants.js"); - var utility = require("/modules/utility.js").utility; - - //var userManagementService = utility.getUserManagementService(); - - var publicMethods = {}; - var privateMethods = {}; - - /** - * Authenticate a user when he or she attempts to login to DC. - * - * @param username Username of the user - * @param password Password of the user - * @param successCallback Function to be called at the event of successful authentication - * @param failureCallback Function to be called at the event of failed authentication - */ - publicMethods.login = function (username, password, successCallback, failureCallback) { - var carbonModule = require("carbon"); - var carbonServer = application.get("carbonServer"); - try { - // get tenant specific full user name. - username = username + "@" + carbonModule.server.tenantDomain(); - // check if the user is an authenticated user. - var isAuthenticated = carbonServer.authenticate(username, password); - if (isAuthenticated) { - var tenantUser = carbonModule.server.tenantUser(username); - session.put(constants.USER_SESSION_KEY, tenantUser); - successCallback(tenantUser); - } else { - failureCallback(); - } - } catch (e) { - throw e; - } - }; - - /** - * Register user to dc-user-store. - * - * @param username Username of the user - * @param firstname First name of the user - * @param lastname Last name of the user - * @param emailAddress Email address of the user - * @param password Password of the user - * @param userRoles Roles assigned to the user - * - * @returns {number} HTTP Status code 201 if succeeded, 409 if user already exists - */ - publicMethods.registerUser = function (username, firstname, lastname, emailAddress, password, userRoles) { - var carbon = require('carbon'); - var tenantId = carbon.server.tenantId(); - var url = carbon.server.address('https') + "/admin/services"; - var server = new carbon.server.Server(url); - var userManager = new carbon.user.UserManager(server, tenantId); - - try { - if (userManager.userExists(username)) { - if (log.isDebugEnabled()) { - log.debug("A user with name '" + username + "' already exists."); - } - // http status code 409 refers to - conflict. - return 409; - } else { - var defaultUserClaims = privateMethods.buildDefaultUserClaims(firstname, lastname, emailAddress); - - userManager.addUser(username, password, userRoles, defaultUserClaims, "default"); - if (log.isDebugEnabled()) { - log.debug("A new user with name '" + username + "' was created."); - } - // http status code 201 refers to - created. - return 201; - } - } catch (e) { - throw e; - } - }; - - /** - * Add user to dc-user-store. - * - * @param username Username of the user - * @param firstname First name of the user - * @param lastname Last name of the user - * @param emailAddress Email address of the user - * @param userRoles Roles assigned to the user - * - * @returns {number} HTTP Status code 201 if succeeded, 409 if user already exists - */ - publicMethods.addUser = function (username, firstname, lastname, emailAddress, userRoles) { - var carbon = require('carbon'); - var tenantId = carbon.server.tenantId(); - var url = carbon.server.address('https') + "/admin/services"; - var server = new carbon.server.Server(url); - var userManager = new carbon.user.UserManager(server, tenantId); - - try { - if (userManager.userExists(username)) { - if (log.isDebugEnabled()) { - log.debug("A user with name '" + username + "' already exists."); - } - // http status code 409 refers to - conflict. - return 409; - } else { - var initialUserPassword = privateMethods.generateInitialUserPassword(); - var defaultUserClaims = privateMethods.buildDefaultUserClaims(firstname, lastname, emailAddress); - - userManager.addUser(username, initialUserPassword, userRoles, defaultUserClaims, "default"); - privateMethods.inviteUserToEnroll(username, initialUserPassword); - if (log.isDebugEnabled()) { - log.debug("A new user with name '" + username + "' was created."); - } - // http status code 201 refers to - created. - return 201; - } - } catch (e) { - throw e; - } - }; - - /** - * Remove an existing user from mdm-user-store. - * - * @param username Username of the user - * @returns {number} HTTP Status code 200 if succeeded, 409 if the user does not exist - */ - publicMethods.removeUser = function (username) { - var carbon = require('carbon'); - var tenantId = carbon.server.tenantId(); - var url = carbon.server.address('https') + "/admin/services"; - var server = new carbon.server.Server(url); - var userManager = new carbon.user.UserManager(server, tenantId); - - try { - if (userManager.userExists(username)) { - userManager.removeUser(username); - if (log.isDebugEnabled()) { - log.debug("An existing user with name '" + username + "' was removed."); - } - // http status code 200 refers to - success. - return 200; - } else { - if (log.isDebugEnabled()) { - log.debug("A user with name '" + username + "' does not exist to remove."); - } - // http status code 409 refers to - conflict. - return 409; - } - } catch (e) { - throw e; - } - }; - - /** - * Private method to be used by addUser() to - * generate an initial user password for a user. - * This will be the password used by a user for his initial login to the system. - * - * @returns {string} Initial User Password - */ - privateMethods.generateInitialUserPassword = function () { - var passwordLength = 6; - //defining the pool of characters to be used for initial password generation - var lowerCaseCharset = "abcdefghijklmnopqrstuvwxyz"; - var upperCaseCharset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - var numericCharset = "0123456789"; - - var totalCharset = lowerCaseCharset + upperCaseCharset + numericCharset; - var totalCharsetLength = totalCharset.length; - - var initialUserPassword = ""; - for (var i = 0; i < passwordLength; ++i) { - initialUserPassword += totalCharset.charAt(Math.floor(Math.random() * totalCharsetLength)); - } - if (log.isDebugEnabled()) { - log.debug("Initial password created for new user : " + initialUserPassword); - } - return String(initialUserPassword); - }; - - /** - * Build default user claims. - * - * @param firstname First name of the user - * @param lastname Last name of the user - * @param emailAddress Email address of the user - * - * @returns {Object} Default user claims to be provided - */ - privateMethods.buildDefaultUserClaims = function (firstname, lastname, emailAddress) { - var defaultUserClaims = { - "http://wso2.org/claims/givenname": firstname, - "http://wso2.org/claims/lastname": lastname, - "http://wso2.org/claims/emailaddress": emailAddress - }; - if (log.isDebugEnabled()) { - log.debug("ClaimMap created for new user : " + stringify(defaultUserClaims)); - } - return defaultUserClaims; - }; - - publicMethods.addPermissions = function (permissionList, path, init) { - var carbonModule = require("carbon"); - var carbonServer = application.get("carbonServer"); - var options = {system: true}; - if (init == "login") { - var carbonUser = session.get(constants.USER_SESSION_KEY); - if (carbonUser) { - options.tenantId = carbonUser.tenantId; - } - } - var registry = new carbonModule.registry.Registry(carbonServer, options); - var i, permission, resource; - for (i = 0; i < permissionList.length; i++) { - permission = permissionList[i]; - resource = { - collection : true, - name : permission.name, - properties : { - name : permission.name - } - }; - registry.put("/_system/governance/permission/" + path + "/" + permission.key, resource); - } - }; - - //publicMethods.getUsers = function () { - // var carbon = require('carbon'); - // - // var carbonUser = session.get(constants.USER_SESSION_KEY); - // if (!carbonUser) { - // log.error("User object was not found in the session"); - // throw constants.ERRORS.USER_NOT_FOUND; - // } - // - // var userList; - // try{ - // userList = userManagementService.getUsersForTenant(carbonUser.tenantId); - // }catch(e){ - // log.error("Error occurred while reading all users"); - // return []; - // } - // - // var users = []; - // var i, userObject; - // for (i = 0; i < userList.size(); i++) { - // userObject = userList.get(i); - // users.push({ - // "username" : userObject.getUserName(), - // "email" : userObject.getEmail(), - // "name" : userObject.getFirstName() + " " + userObject.getLastName() - // }); - // } - // return users; - //}; - - publicMethods.isAuthorized = function (permission) { - var carbonModule = require("carbon"); - var carbonServer = application.get("carbonServer"); - var carbonUser = session.get(constants.USER_SESSION_KEY); - if (!carbonUser) { - log.error("User object was not found in the session"); - throw constants.ERRORS.USER_NOT_FOUND; - } - var userManager = new carbonModule.user.UserManager(carbonServer, carbonUser.tenantId); - var user = new carbonModule.user.User(userManager, carbonUser.username); - return user.isAuthorized(permission, "ui.execute"); - }; - - publicMethods.logout = function (successCallback) { - session.invalidate(); - successCallback(); - }; - - return publicMethods; -}(); - - diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/utility.js b/modules/distribution/src/repository/jaggeryapps/sensebot/modules/utility.js deleted file mode 100644 index 6286701b..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/modules/utility.js +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ - -var utility; -utility = function () { - //var JavaClass = Packages.java.lang.Class; - //var PrivilegedCarbonContext = Packages.org.wso2.carbon.context.PrivilegedCarbonContext; - - //var getOsgiService = function (className) { - // var log = new Log(); - // log.info("###### Current Class : "+className); - // return PrivilegedCarbonContext.getThreadLocalCarbonContext().getOSGiService(JavaClass.forName(className)); - //}; - - var publicMethods = {}; - - //publicMethods.getUserManagementService = function () { - // return getOsgiService('org.wso2.carbon.device.mgt.user.core.service.UserManagementService'); - //}; - - publicMethods.insertAppPermissions = function (userModule, type) { - userModule.addPermissions([{key: "device-mgt", name: "Device Management"}], "", type); - userModule.addPermissions([{key: "admin", name: "Device Management Admin"}], "device-mgt", type); - userModule.addPermissions([{key: "user", name: "Device Management User"}], "device-mgt", type); - - userModule.addPermissions([{key: "devices", name: "Devices"}], "device-mgt/admin", type); - userModule.addPermissions([{key: "devices/list", name: "List Devices"}], "device-mgt/admin", type); - userModule.addPermissions([{key: "devices/operation", name: "Perform Operation"}], "device-mgt/admin", type); - - userModule.addPermissions([{key: "users", name: "Users"}], "device-mgt/admin", type); - userModule.addPermissions([{key: "users/add", name: "Add New Users"}], "device-mgt/admin", type); - userModule.addPermissions([{key: "users/invite", name: "Invite Users"}], "device-mgt/admin", type); - userModule.addPermissions([{key: "users/list", name: "List Users"}], "device-mgt/admin", type); - userModule.addPermissions([{key: "users/remove", name: "Remove Users"}], "device-mgt/admin", type); - - userModule.addPermissions([{key: "devices", name: "Devices"}], "device-mgt/user", type); - userModule.addPermissions([{key: "devices/list", name: "List Devices"}], "device-mgt/user", type); - userModule.addPermissions([{key: "devices/operation", name: "Perform Operation"}], "device-mgt/user", "init"); - }; - - return publicMethods; -}(); - - diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/pages/index.hbs b/modules/distribution/src/repository/jaggeryapps/sensebot/pages/index.hbs deleted file mode 100644 index c9b64db9..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/pages/index.hbs +++ /dev/null @@ -1,8 +0,0 @@ -{{layout "fluid"}} -{{#zone "title"}} - WSO2 DC | Device Cloud -{{/zone}} -{{#zone "body"}} - {{unit "appbar"}} - {{unit "mydevice"}} -{{/zone}} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/test/testExecutor.jag b/modules/distribution/src/repository/jaggeryapps/sensebot/test/testExecutor.jag deleted file mode 100644 index 8701e7ba..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/test/testExecutor.jag +++ /dev/null @@ -1,20 +0,0 @@ -<% -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you 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. - */ -require("jaggery-test").test.run(); -%> \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/tmp/cached_theme_less_base.css b/modules/distribution/src/repository/jaggeryapps/sensebot/tmp/cached_theme_less_base.css deleted file mode 100644 index 6edb4b23..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/tmp/cached_theme_less_base.css +++ /dev/null @@ -1,6293 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ -html { - font-family: sans-serif; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} -body { - margin: 0; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline; -} -audio:not([controls]) { - display: none; - height: 0; -} -[hidden], -template { - display: none; -} -a { - background-color: transparent; -} -a:active, -a:hover { - outline: 0; -} -abbr[title] { - border-bottom: 1px dotted; -} -b, -strong { - font-weight: bold; -} -dfn { - font-style: italic; -} -h1 { - font-size: 2em; - margin: 0.67em 0; -} -mark { - background: #ff0; - color: #000; -} -small { - font-size: 80%; -} -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} -sup { - top: -0.5em; -} -sub { - bottom: -0.25em; -} -img { - border: 0; -} -svg:not(:root) { - overflow: hidden; -} -figure { - margin: 1em 40px; -} -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} -pre { - overflow: auto; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -button, -input, -optgroup, -select, -textarea { - color: inherit; - font: inherit; - margin: 0; -} -button { - overflow: visible; -} -button, -select { - text-transform: none; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; -} -button[disabled], -html input[disabled] { - cursor: default; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} -input { - line-height: normal; -} -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - padding: 0; -} -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-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 { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} -legend { - border: 0; - padding: 0; -} -textarea { - overflow: auto; -} -optgroup { - font-weight: bold; -} -table { - border-collapse: collapse; - border-spacing: 0; -} -td, -th { - padding: 0; -} -/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ -@media print { - *, - *:before, - *:after { - background: transparent !important; - color: #000 !important; - box-shadow: none !important; - text-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - select { - background: #fff !important; - } - .navbar { - display: none; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -} -@font-face { - font-family: 'Glyphicons Halflings'; - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); -} -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.glyphicon-asterisk:before { - content: "\2a"; -} -.glyphicon-plus:before { - content: "\2b"; -} -.glyphicon-euro:before, -.glyphicon-eur:before { - content: "\20ac"; -} -.glyphicon-minus:before { - content: "\2212"; -} -.glyphicon-cloud:before { - content: "\2601"; -} -.glyphicon-envelope:before { - content: "\2709"; -} -.glyphicon-pencil:before { - content: "\270f"; -} -.glyphicon-glass:before { - content: "\e001"; -} -.glyphicon-music:before { - content: "\e002"; -} -.glyphicon-search:before { - content: "\e003"; -} -.glyphicon-heart:before { - content: "\e005"; -} -.glyphicon-star:before { - content: "\e006"; -} -.glyphicon-star-empty:before { - content: "\e007"; -} -.glyphicon-user:before { - content: "\e008"; -} -.glyphicon-film:before { - content: "\e009"; -} -.glyphicon-th-large:before { - content: "\e010"; -} -.glyphicon-th:before { - content: "\e011"; -} -.glyphicon-th-list:before { - content: "\e012"; -} -.glyphicon-ok:before { - content: "\e013"; -} -.glyphicon-remove:before { - content: "\e014"; -} -.glyphicon-zoom-in:before { - content: "\e015"; -} -.glyphicon-zoom-out:before { - content: "\e016"; -} -.glyphicon-off:before { - content: "\e017"; -} -.glyphicon-signal:before { - content: "\e018"; -} -.glyphicon-cog:before { - content: "\e019"; -} -.glyphicon-trash:before { - content: "\e020"; -} -.glyphicon-home:before { - content: "\e021"; -} -.glyphicon-file:before { - content: "\e022"; -} -.glyphicon-time:before { - content: "\e023"; -} -.glyphicon-road:before { - content: "\e024"; -} -.glyphicon-download-alt:before { - content: "\e025"; -} -.glyphicon-download:before { - content: "\e026"; -} -.glyphicon-upload:before { - content: "\e027"; -} -.glyphicon-inbox:before { - content: "\e028"; -} -.glyphicon-play-circle:before { - content: "\e029"; -} -.glyphicon-repeat:before { - content: "\e030"; -} -.glyphicon-refresh:before { - content: "\e031"; -} -.glyphicon-list-alt:before { - content: "\e032"; -} -.glyphicon-lock:before { - content: "\e033"; -} -.glyphicon-flag:before { - content: "\e034"; -} -.glyphicon-headphones:before { - content: "\e035"; -} -.glyphicon-volume-off:before { - content: "\e036"; -} -.glyphicon-volume-down:before { - content: "\e037"; -} -.glyphicon-volume-up:before { - content: "\e038"; -} -.glyphicon-qrcode:before { - content: "\e039"; -} -.glyphicon-barcode:before { - content: "\e040"; -} -.glyphicon-tag:before { - content: "\e041"; -} -.glyphicon-tags:before { - content: "\e042"; -} -.glyphicon-book:before { - content: "\e043"; -} -.glyphicon-bookmark:before { - content: "\e044"; -} -.glyphicon-print:before { - content: "\e045"; -} -.glyphicon-camera:before { - content: "\e046"; -} -.glyphicon-font:before { - content: "\e047"; -} -.glyphicon-bold:before { - content: "\e048"; -} -.glyphicon-italic:before { - content: "\e049"; -} -.glyphicon-text-height:before { - content: "\e050"; -} -.glyphicon-text-width:before { - content: "\e051"; -} -.glyphicon-align-left:before { - content: "\e052"; -} -.glyphicon-align-center:before { - content: "\e053"; -} -.glyphicon-align-right:before { - content: "\e054"; -} -.glyphicon-align-justify:before { - content: "\e055"; -} -.glyphicon-list:before { - content: "\e056"; -} -.glyphicon-indent-left:before { - content: "\e057"; -} -.glyphicon-indent-right:before { - content: "\e058"; -} -.glyphicon-facetime-video:before { - content: "\e059"; -} -.glyphicon-picture:before { - content: "\e060"; -} -.glyphicon-map-marker:before { - content: "\e062"; -} -.glyphicon-adjust:before { - content: "\e063"; -} -.glyphicon-tint:before { - content: "\e064"; -} -.glyphicon-edit:before { - content: "\e065"; -} -.glyphicon-share:before { - content: "\e066"; -} -.glyphicon-check:before { - content: "\e067"; -} -.glyphicon-move:before { - content: "\e068"; -} -.glyphicon-step-backward:before { - content: "\e069"; -} -.glyphicon-fast-backward:before { - content: "\e070"; -} -.glyphicon-backward:before { - content: "\e071"; -} -.glyphicon-play:before { - content: "\e072"; -} -.glyphicon-pause:before { - content: "\e073"; -} -.glyphicon-stop:before { - content: "\e074"; -} -.glyphicon-forward:before { - content: "\e075"; -} -.glyphicon-fast-forward:before { - content: "\e076"; -} -.glyphicon-step-forward:before { - content: "\e077"; -} -.glyphicon-eject:before { - content: "\e078"; -} -.glyphicon-chevron-left:before { - content: "\e079"; -} -.glyphicon-chevron-right:before { - content: "\e080"; -} -.glyphicon-plus-sign:before { - content: "\e081"; -} -.glyphicon-minus-sign:before { - content: "\e082"; -} -.glyphicon-remove-sign:before { - content: "\e083"; -} -.glyphicon-ok-sign:before { - content: "\e084"; -} -.glyphicon-question-sign:before { - content: "\e085"; -} -.glyphicon-info-sign:before { - content: "\e086"; -} -.glyphicon-screenshot:before { - content: "\e087"; -} -.glyphicon-remove-circle:before { - content: "\e088"; -} -.glyphicon-ok-circle:before { - content: "\e089"; -} -.glyphicon-ban-circle:before { - content: "\e090"; -} -.glyphicon-arrow-left:before { - content: "\e091"; -} -.glyphicon-arrow-right:before { - content: "\e092"; -} -.glyphicon-arrow-up:before { - content: "\e093"; -} -.glyphicon-arrow-down:before { - content: "\e094"; -} -.glyphicon-share-alt:before { - content: "\e095"; -} -.glyphicon-resize-full:before { - content: "\e096"; -} -.glyphicon-resize-small:before { - content: "\e097"; -} -.glyphicon-exclamation-sign:before { - content: "\e101"; -} -.glyphicon-gift:before { - content: "\e102"; -} -.glyphicon-leaf:before { - content: "\e103"; -} -.glyphicon-fire:before { - content: "\e104"; -} -.glyphicon-eye-open:before { - content: "\e105"; -} -.glyphicon-eye-close:before { - content: "\e106"; -} -.glyphicon-warning-sign:before { - content: "\e107"; -} -.glyphicon-plane:before { - content: "\e108"; -} -.glyphicon-calendar:before { - content: "\e109"; -} -.glyphicon-random:before { - content: "\e110"; -} -.glyphicon-comment:before { - content: "\e111"; -} -.glyphicon-magnet:before { - content: "\e112"; -} -.glyphicon-chevron-up:before { - content: "\e113"; -} -.glyphicon-chevron-down:before { - content: "\e114"; -} -.glyphicon-retweet:before { - content: "\e115"; -} -.glyphicon-shopping-cart:before { - content: "\e116"; -} -.glyphicon-folder-close:before { - content: "\e117"; -} -.glyphicon-folder-open:before { - content: "\e118"; -} -.glyphicon-resize-vertical:before { - content: "\e119"; -} -.glyphicon-resize-horizontal:before { - content: "\e120"; -} -.glyphicon-hdd:before { - content: "\e121"; -} -.glyphicon-bullhorn:before { - content: "\e122"; -} -.glyphicon-bell:before { - content: "\e123"; -} -.glyphicon-certificate:before { - content: "\e124"; -} -.glyphicon-thumbs-up:before { - content: "\e125"; -} -.glyphicon-thumbs-down:before { - content: "\e126"; -} -.glyphicon-hand-right:before { - content: "\e127"; -} -.glyphicon-hand-left:before { - content: "\e128"; -} -.glyphicon-hand-up:before { - content: "\e129"; -} -.glyphicon-hand-down:before { - content: "\e130"; -} -.glyphicon-circle-arrow-right:before { - content: "\e131"; -} -.glyphicon-circle-arrow-left:before { - content: "\e132"; -} -.glyphicon-circle-arrow-up:before { - content: "\e133"; -} -.glyphicon-circle-arrow-down:before { - content: "\e134"; -} -.glyphicon-globe:before { - content: "\e135"; -} -.glyphicon-wrench:before { - content: "\e136"; -} -.glyphicon-tasks:before { - content: "\e137"; -} -.glyphicon-filter:before { - content: "\e138"; -} -.glyphicon-briefcase:before { - content: "\e139"; -} -.glyphicon-fullscreen:before { - content: "\e140"; -} -.glyphicon-dashboard:before { - content: "\e141"; -} -.glyphicon-paperclip:before { - content: "\e142"; -} -.glyphicon-heart-empty:before { - content: "\e143"; -} -.glyphicon-link:before { - content: "\e144"; -} -.glyphicon-phone:before { - content: "\e145"; -} -.glyphicon-pushpin:before { - content: "\e146"; -} -.glyphicon-usd:before { - content: "\e148"; -} -.glyphicon-gbp:before { - content: "\e149"; -} -.glyphicon-sort:before { - content: "\e150"; -} -.glyphicon-sort-by-alphabet:before { - content: "\e151"; -} -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; -} -.glyphicon-sort-by-order:before { - content: "\e153"; -} -.glyphicon-sort-by-order-alt:before { - content: "\e154"; -} -.glyphicon-sort-by-attributes:before { - content: "\e155"; -} -.glyphicon-sort-by-attributes-alt:before { - content: "\e156"; -} -.glyphicon-unchecked:before { - content: "\e157"; -} -.glyphicon-expand:before { - content: "\e158"; -} -.glyphicon-collapse-down:before { - content: "\e159"; -} -.glyphicon-collapse-up:before { - content: "\e160"; -} -.glyphicon-log-in:before { - content: "\e161"; -} -.glyphicon-flash:before { - content: "\e162"; -} -.glyphicon-log-out:before { - content: "\e163"; -} -.glyphicon-new-window:before { - content: "\e164"; -} -.glyphicon-record:before { - content: "\e165"; -} -.glyphicon-save:before { - content: "\e166"; -} -.glyphicon-open:before { - content: "\e167"; -} -.glyphicon-saved:before { - content: "\e168"; -} -.glyphicon-import:before { - content: "\e169"; -} -.glyphicon-export:before { - content: "\e170"; -} -.glyphicon-send:before { - content: "\e171"; -} -.glyphicon-floppy-disk:before { - content: "\e172"; -} -.glyphicon-floppy-saved:before { - content: "\e173"; -} -.glyphicon-floppy-remove:before { - content: "\e174"; -} -.glyphicon-floppy-save:before { - content: "\e175"; -} -.glyphicon-floppy-open:before { - content: "\e176"; -} -.glyphicon-credit-card:before { - content: "\e177"; -} -.glyphicon-transfer:before { - content: "\e178"; -} -.glyphicon-cutlery:before { - content: "\e179"; -} -.glyphicon-header:before { - content: "\e180"; -} -.glyphicon-compressed:before { - content: "\e181"; -} -.glyphicon-earphone:before { - content: "\e182"; -} -.glyphicon-phone-alt:before { - content: "\e183"; -} -.glyphicon-tower:before { - content: "\e184"; -} -.glyphicon-stats:before { - content: "\e185"; -} -.glyphicon-sd-video:before { - content: "\e186"; -} -.glyphicon-hd-video:before { - content: "\e187"; -} -.glyphicon-subtitles:before { - content: "\e188"; -} -.glyphicon-sound-stereo:before { - content: "\e189"; -} -.glyphicon-sound-dolby:before { - content: "\e190"; -} -.glyphicon-sound-5-1:before { - content: "\e191"; -} -.glyphicon-sound-6-1:before { - content: "\e192"; -} -.glyphicon-sound-7-1:before { - content: "\e193"; -} -.glyphicon-copyright-mark:before { - content: "\e194"; -} -.glyphicon-registration-mark:before { - content: "\e195"; -} -.glyphicon-cloud-download:before { - content: "\e197"; -} -.glyphicon-cloud-upload:before { - content: "\e198"; -} -.glyphicon-tree-conifer:before { - content: "\e199"; -} -.glyphicon-tree-deciduous:before { - content: "\e200"; -} -* { - -webkit-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; -} -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: #333333; - background-color: #ffffff; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #337ab7; - text-decoration: none; -} -a:hover, -a:focus { - color: #23527c; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -figure { - margin: 0; -} -img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - padding: 4px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -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%; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #777777; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -.h4 small, -h5 small, -.h5 small, -h6 small, -.h6 small, -h4 .small, -.h4 .small, -h5 .small, -.h5 .small, -h6 .small, -.h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 36px; -} -h2, -.h2 { - font-size: 30px; -} -h3, -.h3 { - font-size: 24px; -} -h4, -.h4 { - font-size: 18px; -} -h5, -.h5 { - font-size: 14px; -} -h6, -.h6 { - font-size: 12px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -small, -.small { - font-size: 85%; -} -mark, -.mark { - background-color: #fcf8e3; - padding: .2em; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -.text-justify { - text-align: justify; -} -.text-nowrap { - white-space: nowrap; -} -.text-lowercase { - text-transform: lowercase; -} -.text-uppercase { - text-transform: uppercase; -} -.text-capitalize { - text-transform: capitalize; -} -.text-muted { - color: #777777; -} -.text-primary { - color: #337ab7; -} -a.text-primary:hover { - color: #286090; -} -.text-success { - color: #3c763d; -} -a.text-success:hover { - color: #2b542c; -} -.text-info { - color: #31708f; -} -a.text-info:hover { - color: #245269; -} -.text-warning { - color: #8a6d3b; -} -a.text-warning:hover { - color: #66512c; -} -.text-danger { - color: #a94442; -} -a.text-danger:hover { - color: #843534; -} -.bg-primary { - color: #fff; - background-color: #337ab7; -} -a.bg-primary:hover { - background-color: #286090; -} -.bg-success { - background-color: #dff0d8; -} -a.bg-success:hover { - background-color: #c1e2b3; -} -.bg-info { - background-color: #d9edf7; -} -a.bg-info:hover { - background-color: #afd9ee; -} -.bg-warning { - background-color: #fcf8e3; -} -a.bg-warning:hover { - background-color: #f7ecb5; -} -.bg-danger { - background-color: #f2dede; -} -a.bg-danger:hover { - background-color: #e4b9b9; -} -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eeeeee; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - list-style: none; - margin-left: -5px; -} -.list-inline > li { - display: inline-block; - padding-left: 5px; - padding-right: 5px; -} -dl { - margin-top: 0; - margin-bottom: 20px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - clear: left; - text-align: right; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #777777; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eeeeee; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777777; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - border-right: 5px solid #eeeeee; - border-left: 0; - text-align: right; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143; -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px; -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #ffffff; - background-color: #333333; - border-radius: 3px; - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - box-shadow: none; -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - word-break: break-all; - word-wrap: break-word; - color: #333333; - background-color: #f5f5f5; - border: 1px solid #cccccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.container { - margin-right: auto; - margin-left: auto; - padding-left: 15px; - padding-right: 15px; -} -@media (min-width: 768px) { - .container { - width: 750px; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} -.container-fluid { - margin-right: auto; - margin-left: auto; - padding-left: 15px; - padding-right: 15px; -} -.row { - margin-left: -15px; - margin-right: -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 { - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 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 { - float: left; -} -.col-xs-12 { - width: 100%; -} -.col-xs-11 { - width: 91.66666667%; -} -.col-xs-10 { - width: 83.33333333%; -} -.col-xs-9 { - width: 75%; -} -.col-xs-8 { - width: 66.66666667%; -} -.col-xs-7 { - width: 58.33333333%; -} -.col-xs-6 { - width: 50%; -} -.col-xs-5 { - width: 41.66666667%; -} -.col-xs-4 { - width: 33.33333333%; -} -.col-xs-3 { - width: 25%; -} -.col-xs-2 { - width: 16.66666667%; -} -.col-xs-1 { - width: 8.33333333%; -} -.col-xs-pull-12 { - right: 100%; -} -.col-xs-pull-11 { - right: 91.66666667%; -} -.col-xs-pull-10 { - right: 83.33333333%; -} -.col-xs-pull-9 { - right: 75%; -} -.col-xs-pull-8 { - right: 66.66666667%; -} -.col-xs-pull-7 { - right: 58.33333333%; -} -.col-xs-pull-6 { - right: 50%; -} -.col-xs-pull-5 { - right: 41.66666667%; -} -.col-xs-pull-4 { - right: 33.33333333%; -} -.col-xs-pull-3 { - right: 25%; -} -.col-xs-pull-2 { - right: 16.66666667%; -} -.col-xs-pull-1 { - right: 8.33333333%; -} -.col-xs-pull-0 { - right: auto; -} -.col-xs-push-12 { - left: 100%; -} -.col-xs-push-11 { - left: 91.66666667%; -} -.col-xs-push-10 { - left: 83.33333333%; -} -.col-xs-push-9 { - left: 75%; -} -.col-xs-push-8 { - left: 66.66666667%; -} -.col-xs-push-7 { - left: 58.33333333%; -} -.col-xs-push-6 { - left: 50%; -} -.col-xs-push-5 { - left: 41.66666667%; -} -.col-xs-push-4 { - left: 33.33333333%; -} -.col-xs-push-3 { - left: 25%; -} -.col-xs-push-2 { - left: 16.66666667%; -} -.col-xs-push-1 { - left: 8.33333333%; -} -.col-xs-push-0 { - left: auto; -} -.col-xs-offset-12 { - margin-left: 100%; -} -.col-xs-offset-11 { - margin-left: 91.66666667%; -} -.col-xs-offset-10 { - margin-left: 83.33333333%; -} -.col-xs-offset-9 { - margin-left: 75%; -} -.col-xs-offset-8 { - margin-left: 66.66666667%; -} -.col-xs-offset-7 { - margin-left: 58.33333333%; -} -.col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-5 { - margin-left: 41.66666667%; -} -.col-xs-offset-4 { - margin-left: 33.33333333%; -} -.col-xs-offset-3 { - margin-left: 25%; -} -.col-xs-offset-2 { - margin-left: 16.66666667%; -} -.col-xs-offset-1 { - margin-left: 8.33333333%; -} -.col-xs-offset-0 { - margin-left: 0%; -} -@media (min-width: 768px) { - .col-sm-1, .col-sm-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 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-pull-0 { - right: auto; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-push-0 { - left: auto; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } - .col-sm-offset-0 { - margin-left: 0%; - } -} -@media (min-width: 992px) { - .col-md-1, .col-md-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 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-pull-0 { - right: auto; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-push-0 { - left: auto; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } - .col-md-offset-0 { - margin-left: 0%; - } -} -@media (min-width: 1200px) { - .col-lg-1, .col-lg-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 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-pull-0 { - right: auto; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-push-0 { - left: auto; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } - .col-lg-offset-0 { - margin-left: 0%; - } -} -table { - background-color: transparent; -} -caption { - padding-top: 8px; - padding-bottom: 8px; - color: #777777; - text-align: left; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #dddddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #dddddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #dddddd; -} -.table .table { - background-color: #ffffff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #dddddd; -} -.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 #dddddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-child(odd) { - background-color: #f9f9f9; -} -.table-hover > tbody > tr:hover { - background-color: #f5f5f5; -} -table col[class*="col-"] { - position: static; - float: none; - display: table-column; -} -table td[class*="col-"], -table th[class*="col-"] { - position: static; - float: none; - display: table-cell; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #f5f5f5; -} -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, -.table-hover > tbody > tr.active:hover > td, -.table-hover > tbody > tr:hover > .active, -.table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #dff0d8; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr:hover > .success, -.table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; -} -.table > thead > tr > td.info, -.table > tbody > tr > td.info, -.table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, -.table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, -.table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, -.table > tfoot > tr.info > th { - background-color: #d9edf7; -} -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, -.table-hover > tbody > tr.info:hover > td, -.table-hover > tbody > tr:hover > .info, -.table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #fcf8e3; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr:hover > .warning, -.table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #f2dede; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr:hover > .danger, -.table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; -} -.table-responsive { - overflow-x: auto; - min-height: 0.01%; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #dddddd; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -fieldset { - padding: 0; - margin: 0; - border: 0; - min-width: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: bold; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal; -} -input[type="file"] { - display: block; -} -input[type="range"] { - display: block; - width: 100%; -} -select[multiple], -select[size] { - height: auto; -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555555; - background-color: #ffffff; - background-image: none; - border: 1px solid #cccccc; - border-radius: 4px; - -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; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 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: #999999; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #999999; -} -.form-control::-webkit-input-placeholder { - color: #999999; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #eeeeee; - opacity: 1; -} -textarea.form-control { - height: auto; -} -input[type="search"] { - -webkit-appearance: none; -} -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"], - input[type="time"], - input[type="datetime-local"], - input[type="month"] { - line-height: 34px; - } - input[type="date"].input-sm, - input[type="time"].input-sm, - input[type="datetime-local"].input-sm, - input[type="month"].input-sm { - line-height: 30px; - } - input[type="date"].input-lg, - input[type="time"].input-lg, - input[type="datetime-local"].input-lg, - input[type="month"].input-lg { - line-height: 46px; - } -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - position: relative; - display: block; - margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - min-height: 20px; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-left: -20px; - margin-top: 4px \9; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; - 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; -} -.form-control-static { - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0; -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-left: 0; - padding-right: 0; -} -.input-sm, -.form-group-sm .form-control { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-sm, -select.form-group-sm .form-control { - height: 30px; - line-height: 30px; -} -textarea.input-sm, -textarea.form-group-sm .form-control, -select[multiple].input-sm, -select[multiple].form-group-sm .form-control { - height: auto; -} -.input-lg, -.form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-lg, -select.form-group-lg .form-control { - height: 46px; - line-height: 46px; -} -textarea.input-lg, -textarea.form-group-lg .form-control, -select[multiple].input-lg, -select[multiple].form-group-lg .form-control { - height: auto; -} -.has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 42.5px; -} -.form-control-feedback { - position: absolute; - top: 0; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; - pointer-events: none; -} -.input-lg + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px; -} -.input-sm + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline, -.has-success.radio label, -.has-success.checkbox label, -.has-success.radio-inline label, -.has-success.checkbox-inline label { - color: #3c763d; -} -.has-success .form-control { - border-color: #3c763d; - -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, 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; - border-color: #3c763d; - background-color: #dff0d8; -} -.has-success .form-control-feedback { - color: #3c763d; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline, -.has-warning.radio label, -.has-warning.checkbox label, -.has-warning.radio-inline label, -.has-warning.checkbox-inline label { - color: #8a6d3b; -} -.has-warning .form-control { - border-color: #8a6d3b; - -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, 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; - border-color: #8a6d3b; - background-color: #fcf8e3; -} -.has-warning .form-control-feedback { - color: #8a6d3b; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline, -.has-error.radio label, -.has-error.checkbox label, -.has-error.radio-inline label, -.has-error.checkbox-inline label { - color: #a94442; -} -.has-error .form-control { - border-color: #a94442; - -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, 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; - border-color: #a94442; - background-color: #f2dede; -} -.has-error .form-control-feedback { - color: #a94442; -} -.has-feedback label ~ .form-control-feedback { - top: 25px; -} -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0; -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-static { - display: inline-block; - } - .form-inline .input-group { - display: inline-table; - vertical-align: middle; - } - .form-inline .input-group .input-group-addon, - .form-inline .input-group .input-group-btn, - .form-inline .input-group .form-control { - width: auto; - } - .form-inline .input-group > .form-control { - width: 100%; - } - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio label, - .form-inline .checkbox label { - padding-left: 0; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - margin-top: 0; - margin-bottom: 0; - padding-top: 7px; -} -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 27px; -} -.form-horizontal .form-group { - margin-left: -15px; - margin-right: -15px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - text-align: right; - margin-bottom: 0; - padding-top: 7px; - } -} -.form-horizontal .has-feedback .form-control-feedback { - right: 15px; -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 14.3px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; - } -} -.btn { - display: inline-block; - margin-bottom: 0; - font-weight: normal; - text-align: center; - vertical-align: middle; - touch-action: manipulation; - cursor: pointer; - background-image: none; - border: 1px solid transparent; - white-space: nowrap; - 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, -.btn.active:focus, -.btn.focus, -.btn:active.focus, -.btn.active.focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus, -.btn.focus { - color: #333333; - text-decoration: none; -} -.btn:active, -.btn.active { - outline: 0; - background-image: none; - -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; - pointer-events: none; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-default { - color: #333333; - background-color: #ffffff; - border-color: #cccccc; -} -.btn-default:hover, -.btn-default:focus, -.btn-default.focus, -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #333333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled.focus, -.btn-default[disabled].focus, -fieldset[disabled] .btn-default.focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #ffffff; - border-color: #cccccc; -} -.btn-default .badge { - color: #ffffff; - background-color: #333333; -} -.btn-primary { - color: #ffffff; - background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary:hover, -.btn-primary:focus, -.btn-primary.focus, -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #ffffff; - background-color: #286090; - border-color: #204d74; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled.focus, -.btn-primary[disabled].focus, -fieldset[disabled] .btn-primary.focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary .badge { - color: #337ab7; - background-color: #ffffff; -} -.btn-success { - color: #ffffff; - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:hover, -.btn-success:focus, -.btn-success.focus, -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - color: #ffffff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled.focus, -.btn-success[disabled].focus, -fieldset[disabled] .btn-success.focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success .badge { - color: #5cb85c; - background-color: #ffffff; -} -.btn-info { - color: #ffffff; - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:hover, -.btn-info:focus, -.btn-info.focus, -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - color: #ffffff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled.focus, -.btn-info[disabled].focus, -fieldset[disabled] .btn-info.focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info .badge { - color: #5bc0de; - background-color: #ffffff; -} -.btn-warning { - color: #ffffff; - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:hover, -.btn-warning:focus, -.btn-warning.focus, -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - color: #ffffff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled.focus, -.btn-warning[disabled].focus, -fieldset[disabled] .btn-warning.focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #ffffff; -} -.btn-danger { - color: #ffffff; - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:hover, -.btn-danger:focus, -.btn-danger.focus, -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #ffffff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled.focus, -.btn-danger[disabled].focus, -fieldset[disabled] .btn-danger.focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger .badge { - color: #d9534f; - background-color: #ffffff; -} -.btn-link { - color: #337ab7; - font-weight: normal; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link.active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #23527c; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #777777; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -.btn-sm, -.btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-xs, -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; - visibility: hidden; -} -.collapse.in { - display: block; - visibility: visible; -} -tr.collapse.in { - display: table-row; -} -tbody.collapse.in { - display: table-row-group; -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-property: height, visibility; - transition-property: height, visibility; - -webkit-transition-duration: 0.35s; - transition-duration: 0.35s; - -webkit-transition-timing-function: ease; - transition-timing-function: ease; -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; -} -.dropdown { - position: relative; -} -.dropdown-toggle:focus { - outline: 0; -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - list-style: none; - font-size: 14px; - text-align: left; - background-color: #ffffff; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - background-clip: padding-box; -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - text-decoration: none; - color: #262626; - background-color: #f5f5f5; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #ffffff; - text-decoration: none; - outline: 0; - background-color: #337ab7; -} -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #777777; -} -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - cursor: not-allowed; -} -.open > .dropdown-menu { - display: block; -} -.open > a { - outline: 0; -} -.dropdown-menu-right { - left: auto; - right: 0; -} -.dropdown-menu-left { - left: 0; - right: auto; -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777777; - white-space: nowrap; -} -.dropdown-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: 990; -} -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border-top: 0; - border-bottom: 4px solid; - content: ""; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; -} -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - left: auto; - right: 0; - } - .navbar-right .dropdown-menu-left { - left: 0; - right: auto; - } -} -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; -} -.btn-toolbar { - margin-left: -5px; -} -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left; -} -.btn-toolbar > .btn, -.btn-toolbar > .btn-group, -.btn-toolbar > .input-group { - margin-left: 5px; -} -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} -.btn-group > .btn:first-child { - margin-left: 0; -} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child > .btn:last-child, -.btn-group > .btn-group:first-child > .dropdown-toggle { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.btn-group > .btn-group:last-child > .btn:first-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} -.btn-group > .btn + .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-left: 12px; - padding-right: 12px; -} -.btn-group.open .dropdown-toggle { - -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; -} -.btn .caret { - margin-left: 0; -} -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; -} -.btn-group-vertical > .btn-group > .btn { - float: none; -} -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-bottom-left-radius: 4px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; -} -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - float: none; - display: table-cell; - width: 1%; -} -.btn-group-justified > .btn-group .btn { - width: 100%; -} -.btn-group-justified > .btn-group .dropdown-menu { - left: auto; -} -[data-toggle="buttons"] > .btn input[type="radio"], -[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], -[data-toggle="buttons"] > .btn input[type="checkbox"], -[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} -.input-group { - position: relative; - display: table; - border-collapse: separate; -} -.input-group[class*="col-"] { - float: none; - padding-left: 0; - padding-right: 0; -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; -} -.input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-group-lg > .form-control, -select.input-group-lg > .input-group-addon, -select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px; -} -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn, -select[multiple].input-group-lg > .form-control, -select[multiple].input-group-lg > .input-group-addon, -select[multiple].input-group-lg > .input-group-btn > .btn { - height: auto; -} -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-group-sm > .form-control, -select.input-group-sm > .input-group-addon, -select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px; -} -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn, -select[multiple].input-group-sm > .form-control, -select[multiple].input-group-sm > .input-group-addon, -select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; -} -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; -} -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; -} -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555555; - text-align: center; - background-color: #eeeeee; - border: 1px solid #cccccc; - border-radius: 4px; -} -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; -} -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; -} -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.input-group-addon:first-child { - border-right: 0; -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.input-group-addon:last-child { - border-left: 0; -} -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} -.input-group-btn > .btn { - position: relative; -} -.input-group-btn > .btn + .btn { - margin-left: -1px; -} -.input-group-btn > .btn:hover, -.input-group-btn > .btn:focus, -.input-group-btn > .btn:active { - z-index: 2; -} -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { - margin-left: -1px; -} -.nav { - margin-bottom: 0; - padding-left: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #777777; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #777777; - text-decoration: none; - background-color: transparent; - cursor: not-allowed; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #337ab7; -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} -.nav-tabs { - border-bottom: 1px solid #dddddd; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #dddddd; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #dddddd; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} -.nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #ffffff; - background-color: #337ab7; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs-justified { - border-bottom: 0; -} -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} -.tab-content > .tab-pane { - display: none; - visibility: hidden; -} -.tab-content > .active { - display: block; - visibility: visible; -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar { - position: relative; - min-height: 70px; - margin-bottom: 20px; - border: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); - -webkit-overflow-scrolling: touch; -} -.navbar-collapse.in { - overflow-y: auto; -} -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - visibility: visible !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-left: 0; - padding-right: 0; - } -} -.navbar-fixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-device-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; - } -} -.container > .navbar-header, -.container-fluid > .navbar-header, -.container > .navbar-collapse, -.container-fluid > .navbar-collapse { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; -} -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } -} -.navbar-fixed-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; - padding: 25px 15px; - font-size: 18px; - line-height: 20px; - height: 70px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } -} -.navbar-toggle { - position: relative; - float: right; - margin-right: 15px; - padding: 9px 10px; - margin-top: 18px; - margin-bottom: 18px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; -} -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; -} -@media (min-width: 768px) { - .navbar-toggle { - display: none; - } -} -.navbar-nav { - margin: 12.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 25px; - padding-bottom: 25px; - } -} -.navbar-form { - margin-left: -15px; - margin-right: -15px; - padding: 10px 15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -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: 18px; - margin-bottom: 18px; -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .navbar-form .form-control-static { - display: inline-block; - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle; - } - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn, - .navbar-form .input-group .form-control { - width: auto; - } - .navbar-form .input-group > .form-control { - width: 100%; - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio label, - .navbar-form .checkbox label { - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .navbar-form .has-feedback .form-control-feedback { - top: 0; - } -} -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } - .navbar-form .form-group:last-child { - margin-bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-form { - width: auto; - border: 0; - margin-left: 0; - margin-right: 0; - padding-top: 0; - padding-bottom: 0; - -webkit-box-shadow: none; - box-shadow: none; - } -} -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.navbar-btn { - margin-top: 18px; - margin-bottom: 18px; -} -.navbar-btn.btn-sm { - margin-top: 20px; - margin-bottom: 20px; -} -.navbar-btn.btn-xs { - margin-top: 24px; - margin-bottom: 24px; -} -.navbar-text { - margin-top: 25px; - margin-bottom: 25px; -} -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-left: 15px; - margin-right: 15px; - } -} -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - margin-right: -15px; - } - .navbar-right ~ .navbar-right { - margin-right: 0; - } -} -.navbar-default { - background-color: #f8f8f8; - border-color: #e7e7e7; -} -.navbar-default .navbar-brand { - color: #777777; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #5e5e5e; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #777777; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #333333; - background-color: transparent; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #555555; - background-color: #e7e7e7; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #dddddd; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.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 { - background-color: #e7e7e7; - color: #555555; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777777; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333333; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #555555; - background-color: #e7e7e7; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #777777; -} -.navbar-default .navbar-link:hover { - color: #333333; -} -.navbar-default .btn-link { - color: #777777; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #333333; -} -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:hover, -.navbar-default .btn-link[disabled]:focus, -fieldset[disabled] .navbar-default .btn-link:focus { - color: #cccccc; -} -.navbar-inverse { - background-color: #222222; - border-color: #080808; -} -.navbar-inverse .navbar-brand { - color: #9d9d9d; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #ffffff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #ffffff; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #080808; -} -.navbar-inverse .navbar-nav > .disabled > a, -.navbar-inverse .navbar-nav > .disabled > a:hover, -.navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444444; - background-color: transparent; -} -.navbar-inverse .navbar-toggle { - border-color: #333333; -} -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - background-color: #333333; -} -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #ffffff; -} -.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 { - background-color: #080808; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #9d9d9d; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #ffffff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #ffffff; - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444444; - background-color: transparent; - } -} -.navbar-inverse .navbar-link { - color: #9d9d9d; -} -.navbar-inverse .navbar-link:hover { - color: #ffffff; -} -.navbar-inverse .btn-link { - color: #9d9d9d; -} -.navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link:focus { - color: #ffffff; -} -.navbar-inverse .btn-link[disabled]:hover, -fieldset[disabled] .navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link[disabled]:focus, -fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #444444; -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - content: "/\00a0"; - padding: 0 5px; - color: #cccccc; -} -.breadcrumb > .active { - color: #777777; -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #337ab7; - background-color: #ffffff; - border: 1px solid #dddddd; - margin-left: -1px; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #23527c; - background-color: #eeeeee; - border-color: #dddddd; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 2; - color: #ffffff; - background-color: #337ab7; - border-color: #337ab7; - cursor: default; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #777777; - background-color: #ffffff; - border-color: #dddddd; - cursor: not-allowed; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; -} -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-bottom-left-radius: 6px; - border-top-left-radius: 6px; -} -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-bottom-right-radius: 6px; - border-top-right-radius: 6px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; -} -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; -} -.pager { - padding-left: 0; - margin: 20px 0; - list-style: none; - text-align: center; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 15px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.pager .next > a, -.pager .next > span { - float: right; -} -.pager .previous > a, -.pager .previous > span { - float: left; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #777777; - background-color: #ffffff; - cursor: not-allowed; -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #ffffff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} -a.label:hover, -a.label:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} -.label-default { - background-color: #777777; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #5e5e5e; -} -.label-primary { - background-color: #337ab7; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #286090; -} -.label-success { - background-color: #5cb85c; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #449d44; -} -.label-info { - background-color: #5bc0de; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #31b0d5; -} -.label-warning { - background-color: #f0ad4e; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #ec971f; -} -.label-danger { - background-color: #d9534f; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - color: #ffffff; - line-height: 1; - vertical-align: baseline; - white-space: nowrap; - text-align: center; - background-color: #777777; - border-radius: 10px; -} -.badge:empty { - display: none; -} -.btn .badge { - position: relative; - top: -1px; -} -.btn-xs .badge { - top: 0; - padding: 1px 5px; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #337ab7; - background-color: #ffffff; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.jumbotron { - padding: 30px 15px; - margin-bottom: 30px; - color: inherit; - background-color: #eeeeee; -} -.jumbotron h1, -.jumbotron .h1 { - color: inherit; -} -.jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron, -.container-fluid .jumbotron { - border-radius: 6px; -} -.jumbotron .container { - max-width: 100%; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding: 48px 0; - } - .container .jumbotron, - .container-fluid .jumbotron { - padding-left: 60px; - padding-right: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } -} -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -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 { - margin-left: auto; - margin-right: auto; -} -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #337ab7; -} -.thumbnail .caption { - padding: 9px; - color: #333333; -} -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - background-color: #dff0d8; - border-color: #d6e9c6; - color: #3c763d; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #2b542c; -} -.alert-info { - background-color: #d9edf7; - border-color: #bce8f1; - color: #31708f; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #245269; -} -.alert-warning { - background-color: #fcf8e3; - border-color: #faebcc; - color: #8a6d3b; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #66512c; -} -.alert-danger { - background-color: #f2dede; - border-color: #ebccd1; - color: #a94442; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #843534; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 4px; - -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%; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #ffffff; - text-align: center; - background-color: #337ab7; - -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, 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); - 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; -} -.progress-bar-success { - background-color: #5cb85c; -} -.progress-striped .progress-bar-success { - 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, 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, 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, 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; -} -.media:first-child { - margin-top: 0; -} -.media-right, -.media > .pull-right { - padding-left: 10px; -} -.media-left, -.media > .pull-left { - padding-right: 10px; -} -.media-left, -.media-right, -.media-body { - display: table-cell; - vertical-align: top; -} -.media-middle { - vertical-align: middle; -} -.media-bottom { - vertical-align: bottom; -} -.media-heading { - margin-top: 0; - margin-bottom: 5px; -} -.media-list { - padding-left: 0; - list-style: none; -} -.list-group { - margin-bottom: 20px; - padding-left: 0; -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.list-group-item:first-child { - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -a.list-group-item { - color: #555555; -} -a.list-group-item .list-group-item-heading { - color: #333333; -} -a.list-group-item:hover, -a.list-group-item:focus { - text-decoration: none; - color: #555555; - background-color: #f5f5f5; -} -.list-group-item.disabled, -.list-group-item.disabled:hover, -.list-group-item.disabled:focus { - background-color: #eeeeee; - color: #777777; - cursor: not-allowed; -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} -.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: #777777; -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - z-index: 2; - color: #ffffff; - background-color: #337ab7; - border-color: #337ab7; -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #c7ddef; -} -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8; -} -a.list-group-item-success { - color: #3c763d; -} -a.list-group-item-success .list-group-item-heading { - color: inherit; -} -a.list-group-item-success:hover, -a.list-group-item-success:focus { - color: #3c763d; - background-color: #d0e9c6; -} -a.list-group-item-success.active, -a.list-group-item-success.active:hover, -a.list-group-item-success.active:focus { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} -a.list-group-item-info { - color: #31708f; -} -a.list-group-item-info .list-group-item-heading { - color: inherit; -} -a.list-group-item-info:hover, -a.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; -} -a.list-group-item-info.active, -a.list-group-item-info.active:hover, -a.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; -} -a.list-group-item-warning { - color: #8a6d3b; -} -a.list-group-item-warning .list-group-item-heading { - color: inherit; -} -a.list-group-item-warning:hover, -a.list-group-item-warning:focus { - color: #8a6d3b; - background-color: #faf2cc; -} -a.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} -.list-group-item-danger { - color: #a94442; - background-color: #f2dede; -} -a.list-group-item-danger { - color: #a94442; -} -a.list-group-item-danger .list-group-item-heading { - color: inherit; -} -a.list-group-item-danger:hover, -a.list-group-item-danger:focus { - color: #a94442; - background-color: #ebcccc; -} -a.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 4px; - -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; -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; -} -.panel-title > a { - color: inherit; -} -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #dddddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .list-group, -.panel > .panel-collapse > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item, -.panel > .panel-collapse > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; -} -.panel > .list-group:first-child .list-group-item:first-child, -.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .list-group:last-child .list-group-item:last-child, -.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} -.list-group + .panel-footer { - border-top-width: 0; -} -.panel > .table, -.panel > .table-responsive > .table, -.panel > .panel-collapse > .table { - margin-bottom: 0; -} -.panel > .table caption, -.panel > .table-responsive > .table caption, -.panel > .panel-collapse > .table caption { - padding-left: 15px; - padding-right: 15px; -} -.panel > .table:first-child, -.panel > .table-responsive:first-child > .table:first-child { - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px; -} -.panel > .table:last-child, -.panel > .table-responsive:last-child > .table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px; -} -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive, -.panel > .table + .panel-body, -.panel > .table-responsive + .panel-body { - border-top: 1px solid #dddddd; -} -.panel > .table > tbody:first-child > tr:first-child th, -.panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; -} -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; -} -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.panel > .table-bordered > thead > tr:first-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, -.panel > .table-bordered > tbody > tr:first-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, -.panel > .table-bordered > thead > tr:first-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, -.panel > .table-bordered > tbody > tr:first-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; -} -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; -} -.panel > .table-responsive { - border: 0; - margin-bottom: 0; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group .panel-heading { - border-bottom: 0; -} -.panel-group .panel-heading + .panel-collapse > .panel-body, -.panel-group .panel-heading + .panel-collapse > .list-group { - border-top: 1px solid #dddddd; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #dddddd; -} -.panel-default { - border-color: #dddddd; -} -.panel-default > .panel-heading { - color: #333333; - background-color: #f5f5f5; - border-color: #dddddd; -} -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #dddddd; -} -.panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333333; -} -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #dddddd; -} -.panel-primary { - border-color: #337ab7; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #337ab7; - border-color: #337ab7; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #337ab7; -} -.panel-primary > .panel-heading .badge { - color: #337ab7; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #337ab7; -} -.panel-success { - border-color: #d6e9c6; -} -.panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #d6e9c6; -} -.panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #3c763d; -} -.panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #d6e9c6; -} -.panel-info { - border-color: #bce8f1; -} -.panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1; -} -.panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f; -} -.panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1; -} -.panel-warning { - border-color: #faebcc; -} -.panel-warning > .panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} -.panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #faebcc; -} -.panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #8a6d3b; -} -.panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc; -} -.panel-danger { - border-color: #ebccd1; -} -.panel-danger > .panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ebccd1; -} -.panel-danger > .panel-heading .badge { - color: #f2dede; - background-color: #a94442; -} -.panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ebccd1; -} -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; -} -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - left: 0; - bottom: 0; - height: 100%; - width: 100%; - border: 0; -} -.embed-responsive.embed-responsive-16by9 { - padding-bottom: 56.25%; -} -.embed-responsive.embed-responsive-4by3 { - padding-bottom: 75%; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 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, 0.15); -} -.well-lg { - padding: 24px; - border-radius: 6px; -} -.well-sm { - padding: 9px; - border-radius: 3px; -} -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000000; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.2; - filter: alpha(opacity=20); -} -.close:hover, -.close:focus { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); -} -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} -.modal-open { - overflow: hidden; -} -.modal { - display: none; - overflow: hidden; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - -webkit-overflow-scrolling: touch; - outline: 0; -} -.modal.fade .modal-dialog { - -webkit-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; - -moz-transition: -moz-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: 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); -} -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} -.modal-dialog { - position: relative; - width: auto; - margin: 10px; -} -.modal-content { - position: relative; - background-color: #ffffff; - border: 1px solid #999999; - 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); - background-clip: padding-box; - outline: 0; -} -.modal-backdrop { - position: absolute; - top: 0; - right: 0; - left: 0; - background-color: #000000; -} -.modal-backdrop.fade { - opacity: 0; - filter: alpha(opacity=0); -} -.modal-backdrop.in { - opacity: 0.5; - filter: alpha(opacity=50); -} -.modal-header { - padding: 15px; - border-bottom: 1px solid #e5e5e5; - min-height: 16.42857143px; -} -.modal-header .close { - margin-top: -2px; -} -.modal-title { - margin: 0; - line-height: 1.42857143; -} -.modal-body { - position: relative; - padding: 15px; -} -.modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #e5e5e5; -} -.modal-footer .btn + .btn { - margin-left: 5px; - margin-bottom: 0; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - } - .modal-sm { - width: 300px; - } -} -@media (min-width: 992px) { - .modal-lg { - width: 900px; - } -} -.tooltip { - position: absolute; - z-index: 1070; - display: block; - visibility: visible; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 12px; - font-weight: normal; - line-height: 1.4; - opacity: 0; - filter: alpha(opacity=0); -} -.tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); -} -.tooltip.top { - margin-top: -3px; - padding: 5px 0; -} -.tooltip.right { - margin-left: 3px; - padding: 0 5px; -} -.tooltip.bottom { - margin-top: 3px; - padding: 5px 0; -} -.tooltip.left { - margin-left: -3px; - padding: 0 5px; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #ffffff; - text-align: center; - text-decoration: none; - background-color: #000000; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-left .tooltip-arrow { - bottom: 0; - right: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-right .tooltip-arrow { - bottom: 0; - left: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - right: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - left: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - font-weight: normal; - line-height: 1.42857143; - text-align: left; - background-color: #ffffff; - background-clip: padding-box; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - white-space: normal; -} -.popover.top { - margin-top: -10px; -} -.popover.right { - margin-left: 10px; -} -.popover.bottom { - margin-top: 10px; -} -.popover.left { - margin-left: -10px; -} -.popover-title { - margin: 0; - padding: 8px 14px; - font-size: 14px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; -} -.popover-content { - padding: 9px 14px; -} -.popover > .arrow, -.popover > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.popover > .arrow { - border-width: 11px; -} -.popover > .arrow:after { - border-width: 10px; - content: ""; -} -.popover.top > .arrow { - left: 50%; - margin-left: -11px; - border-bottom-width: 0; - border-top-color: #999999; - border-top-color: rgba(0, 0, 0, 0.25); - bottom: -11px; -} -.popover.top > .arrow:after { - content: " "; - bottom: 1px; - margin-left: -10px; - border-bottom-width: 0; - border-top-color: #ffffff; -} -.popover.right > .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-left-width: 0; - border-right-color: #999999; - border-right-color: rgba(0, 0, 0, 0.25); -} -.popover.right > .arrow:after { - content: " "; - left: 1px; - bottom: -10px; - border-left-width: 0; - border-right-color: #ffffff; -} -.popover.bottom > .arrow { - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999999; - border-bottom-color: rgba(0, 0, 0, 0.25); - top: -11px; -} -.popover.bottom > .arrow:after { - content: " "; - top: 1px; - margin-left: -10px; - border-top-width: 0; - border-bottom-color: #ffffff; -} -.popover.left > .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999999; - border-left-color: rgba(0, 0, 0, 0.25); -} -.popover.left > .arrow:after { - content: " "; - right: 1px; - border-right-width: 0; - border-left-color: #ffffff; - bottom: -10px; -} -.carousel { - position: relative; -} -.carousel-inner { - position: relative; - overflow: hidden; - width: 100%; -} -.carousel-inner > .item { - display: none; - position: relative; - -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 { - line-height: 1; -} -@media all and (transform-3d), (-webkit-transform-3d) { - .carousel-inner > .item { - transition: transform 0.6s ease-in-out; - backface-visibility: hidden; - perspective: 1000; - } - .carousel-inner > .item.next, - .carousel-inner > .item.active.right { - transform: translate3d(100%, 0, 0); - left: 0; - } - .carousel-inner > .item.prev, - .carousel-inner > .item.active.left { - transform: translate3d(-100%, 0, 0); - left: 0; - } - .carousel-inner > .item.next.left, - .carousel-inner > .item.prev.right, - .carousel-inner > .item.active { - transform: translate3d(0, 0, 0); - left: 0; - } -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: 15%; - opacity: 0.5; - filter: alpha(opacity=50); - font-size: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-control.left { - 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: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); -} -.carousel-control.right { - left: auto; - right: 0; - 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: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); -} -.carousel-control:hover, -.carousel-control:focus { - outline: 0; - color: #ffffff; - text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; -} -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - margin-left: -30%; - padding-left: 0; - list-style: none; - text-align: center; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid #ffffff; - border-radius: 10px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); -} -.carousel-indicators .active { - margin: 0; - width: 12px; - height: 12px; - background-color: #ffffff; -} -.carousel-caption { - position: absolute; - left: 15%; - right: 15%; - bottom: 20px; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-caption .btn { - text-shadow: none; -} -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px; - } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -15px; - } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -15px; - } - .carousel-caption { - left: 20%; - right: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after, -.dl-horizontal dd:before, -.dl-horizontal dd:after, -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.row:before, -.row:after, -.form-horizontal .form-group:before, -.form-horizontal .form-group:after, -.btn-toolbar:before, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after, -.navbar-collapse:before, -.navbar-collapse:after, -.pager:before, -.pager:after, -.panel-body:before, -.panel-body:after, -.modal-footer:before, -.modal-footer:after { - content: " "; - display: table; -} -.clearfix:after, -.dl-horizontal dd:after, -.container:after, -.container-fluid:after, -.row:after, -.form-horizontal .form-group:after, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:after, -.nav:after, -.navbar:after, -.navbar-header:after, -.navbar-collapse:after, -.pager:after, -.panel-body:after, -.modal-footer:after { - clear: both; -} -.center-block { - display: block; - margin-left: auto; - margin-right: auto; -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.hidden { - display: none !important; - visibility: hidden !important; -} -.affix { - position: fixed; -} -@-ms-viewport { - width: device-width; -} -.visible-xs, -.visible-sm, -.visible-md, -.visible-lg { - display: none !important; -} -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block { - display: none !important; -} -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} -@media (max-width: 767px) { - .visible-xs-block { - display: block !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; - } -} -@media (max-width: 767px) { - .hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-lg { - display: none !important; - } -} -.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } -} -.visible-print-block { - display: none !important; -} -@media print { - .visible-print-block { - display: block !important; - } -} -.visible-print-inline { - display: none !important; -} -@media print { - .visible-print-inline { - display: inline !important; - } -} -.visible-print-inline-block { - display: none !important; -} -@media print { - .visible-print-inline-block { - display: inline-block !important; - } -} -@media print { - .hidden-print { - display: none !important; - } -} -#wrap { - padding-top: 70px; -} -.navbar-nav.navbar-right:last-child { - margin-right: 0; -} diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.hbs b/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.hbs deleted file mode 100644 index b4575ac8..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.hbs +++ /dev/null @@ -1,141 +0,0 @@ -{{#zone "main"}} - -
-
- - -
-
-
-
Register

-
- -
-
-
- First Name -
-
- -
-
-
-
- Last Name -
-
- -
-
-
-
- Username -
-
- -
-
-
-
- Email -
-
- -
-
-
-
- Password -
-
- -
-
-
-
- Confirm Password -
-
- -
-
-
- - I Agree by Clicking register, you agree to the Terms and Conditions set out by this site -
- -
- - -
-
-
- -
- -
-
- -{{/zone}} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.js b/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.js deleted file mode 100644 index be564964..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.js +++ /dev/null @@ -1,19 +0,0 @@ -function onRequest(context){ - var dcProps = require('/config/dc-props.js').config(); - if (dcProps.ssoConfiguration.enabled) { - response.sendRedirect(dcProps.appContext + "sso/login"); - exit(); - }else{ - context.loginPath = "api/user/login"; - } - - var constants = require("/modules/constants.js"); - var localLogoutURL = dcProps.appContext + "api/user/logout"; - var ssoLogoutURL = dcProps.appContext + "sso/logout"; - context.logoutURL = dcProps.ssoConfiguration.enabled? ssoLogoutURL : localLogoutURL; - context.user = session.get(constants.USER_SESSION_KEY); - - context.viewonly = !context.user; - - return context; -} diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.json b/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.json deleted file mode 100644 index 6240cff5..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/appbar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "predicate": "false" -} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/public/images/logo.png b/modules/distribution/src/repository/jaggeryapps/sensebot/units/appbar/public/images/logo.png deleted file mode 100644 index 91cc5d3f68ccd0e272ef8f0a05539373dbd34bfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5174 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/bootstrap.min.css b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/bootstrap.min.css deleted file mode 100644 index d29dc3b4..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/bootstrap.min.css +++ /dev/null @@ -1,6671 +0,0 @@ -/*! - * Bootstrap v3.3.4 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -html { - font-family: sans-serif; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100% -} -body { - margin: 0 -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block -} -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline -} -audio:not([controls]) { - display: none; - height: 0 -} -[hidden], -template { - display: none -} -a { - background-color: transparent -} -a:active, -a:hover { - outline: 0 -} -abbr[title] { - border-bottom: 1px dotted -} -b, -strong { - font-weight: 700 -} -dfn { - font-style: italic -} -h1 { - margin: .67em 0; - font-size: 2em -} -mark { - color: #000; - background: #ff0 -} -small { - font-size: 80% -} -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline -} -sup { - top: -.5em -} -sub { - bottom: -.25em -} -img { - border: 0 -} -svg:not(:root) { - overflow: hidden -} -figure { - margin: 1em 40px -} -hr { - height: 0; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box -} -pre { - overflow: auto -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em -} -button, -input, -optgroup, -select, -textarea { - margin: 0; - font: inherit; - color: inherit -} -button { - overflow: visible -} -button, -select { - text-transform: none -} -button, -html input[type=button], -input[type=reset], -input[type=submit] { - -webkit-appearance: button; - cursor: pointer -} -button[disabled], -html input[disabled] { - cursor: default -} -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0 -} -input { - line-height: normal -} -input[type=checkbox], -input[type=radio] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0 -} -input[type=number]::-webkit-inner-spin-button, -input[type=number]::-webkit-outer-spin-button { - height: auto -} -input[type=search] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield -} -input[type=search]::-webkit-search-cancel-button, -input[type=search]::-webkit-search-decoration { - -webkit-appearance: none -} -fieldset { - padding: .35em .625em .75em; - margin: 0 2px; - border: 1px solid silver -} -legend { - padding: 0; - border: 0 -} -textarea { - overflow: auto -} -optgroup { - font-weight: 700 -} -table { - border-spacing: 0; - border-collapse: collapse -} -td, -th { - padding: 0 -} -/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ - -@media print { - *, - :after, - :before { - color: #000!important; - text-shadow: none!important; - background: 0 0!important; - -webkit-box-shadow: none!important; - box-shadow: none!important - } - a, - a:visited { - text-decoration: underline - } - a[href]:after { - content: " (" attr(href) ")" - } - abbr[title]:after { - content: " (" attr(title) ")" - } - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: "" - } - blockquote, - pre { - border: 1px solid #999; - page-break-inside: avoid - } - thead { - display: table-header-group - } - img, - tr { - page-break-inside: avoid - } - img { - max-width: 100%!important - } - h2, - h3, - p { - orphans: 3; - widows: 3 - } - h2, - h3 { - page-break-after: avoid - } - select { - background: #fff!important - } - .navbar { - display: none - } - .btn>.caret, - .dropup>.btn>.caret { - border-top-color: #000!important - } - .label { - border: 1px solid #000 - } - .table { - border-collapse: collapse!important - } - .table td, - .table th { - background-color: #fff!important - } - .table-bordered td, - .table-bordered th { - border: 1px solid #ddd!important - } -} -@font-face { - font-family: 'Glyphicons Halflings'; - src: url(../fonts/glyphicons-halflings-regular.eot); - src: url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'), url(../fonts/glyphicons-halflings-regular.woff) format('woff'), url(../fonts/glyphicons-halflings-regular.woff) format('woff'), url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'), url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg') -} -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: 400; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale -} -.glyphicon-asterisk:before { - content: "\2a" -} -.glyphicon-plus:before { - content: "\2b" -} -.glyphicon-eur:before, -.glyphicon-euro:before { - content: "\20ac" -} -.glyphicon-minus:before { - content: "\2212" -} -.glyphicon-cloud:before { - content: "\2601" -} -.glyphicon-envelope:before { - content: "\2709" -} -.glyphicon-pencil:before { - content: "\270f" -} -.glyphicon-glass:before { - content: "\e001" -} -.glyphicon-music:before { - content: "\e002" -} -.glyphicon-search:before { - content: "\e003" -} -.glyphicon-heart:before { - content: "\e005" -} -.glyphicon-star:before { - content: "\e006" -} -.glyphicon-star-empty:before { - content: "\e007" -} -.glyphicon-user:before { - content: "\e008" -} -.glyphicon-film:before { - content: "\e009" -} -.glyphicon-th-large:before { - content: "\e010" -} -.glyphicon-th:before { - content: "\e011" -} -.glyphicon-th-list:before { - content: "\e012" -} -.glyphicon-ok:before { - content: "\e013" -} -.glyphicon-remove:before { - content: "\e014" -} -.glyphicon-zoom-in:before { - content: "\e015" -} -.glyphicon-zoom-out:before { - content: "\e016" -} -.glyphicon-off:before { - content: "\e017" -} -.glyphicon-signal:before { - content: "\e018" -} -.glyphicon-cog:before { - content: "\e019" -} -.glyphicon-trash:before { - content: "\e020" -} -.glyphicon-home:before { - content: "\e021" -} -.glyphicon-file:before { - content: "\e022" -} -.glyphicon-time:before { - content: "\e023" -} -.glyphicon-road:before { - content: "\e024" -} -.glyphicon-download-alt:before { - content: "\e025" -} -.glyphicon-download:before { - content: "\e026" -} -.glyphicon-upload:before { - content: "\e027" -} -.glyphicon-inbox:before { - content: "\e028" -} -.glyphicon-play-circle:before { - content: "\e029" -} -.glyphicon-repeat:before { - content: "\e030" -} -.glyphicon-refresh:before { - content: "\e031" -} -.glyphicon-list-alt:before { - content: "\e032" -} -.glyphicon-lock:before { - content: "\e033" -} -.glyphicon-flag:before { - content: "\e034" -} -.glyphicon-headphones:before { - content: "\e035" -} -.glyphicon-volume-off:before { - content: "\e036" -} -.glyphicon-volume-down:before { - content: "\e037" -} -.glyphicon-volume-up:before { - content: "\e038" -} -.glyphicon-qrcode:before { - content: "\e039" -} -.glyphicon-barcode:before { - content: "\e040" -} -.glyphicon-tag:before { - content: "\e041" -} -.glyphicon-tags:before { - content: "\e042" -} -.glyphicon-book:before { - content: "\e043" -} -.glyphicon-bookmark:before { - content: "\e044" -} -.glyphicon-print:before { - content: "\e045" -} -.glyphicon-camera:before { - content: "\e046" -} -.glyphicon-font:before { - content: "\e047" -} -.glyphicon-bold:before { - content: "\e048" -} -.glyphicon-italic:before { - content: "\e049" -} -.glyphicon-text-height:before { - content: "\e050" -} -.glyphicon-text-width:before { - content: "\e051" -} -.glyphicon-align-left:before { - content: "\e052" -} -.glyphicon-align-center:before { - content: "\e053" -} -.glyphicon-align-right:before { - content: "\e054" -} -.glyphicon-align-justify:before { - content: "\e055" -} -.glyphicon-list:before { - content: "\e056" -} -.glyphicon-indent-left:before { - content: "\e057" -} -.glyphicon-indent-right:before { - content: "\e058" -} -.glyphicon-facetime-video:before { - content: "\e059" -} -.glyphicon-picture:before { - content: "\e060" -} -.glyphicon-map-marker:before { - content: "\e062" -} -.glyphicon-adjust:before { - content: "\e063" -} -.glyphicon-tint:before { - content: "\e064" -} -.glyphicon-edit:before { - content: "\e065" -} -.glyphicon-share:before { - content: "\e066" -} -.glyphicon-check:before { - content: "\e067" -} -.glyphicon-move:before { - content: "\e068" -} -.glyphicon-step-backward:before { - content: "\e069" -} -.glyphicon-fast-backward:before { - content: "\e070" -} -.glyphicon-backward:before { - content: "\e071" -} -.glyphicon-play:before { - content: "\e072" -} -.glyphicon-pause:before { - content: "\e073" -} -.glyphicon-stop:before { - content: "\e074" -} -.glyphicon-forward:before { - content: "\e075" -} -.glyphicon-fast-forward:before { - content: "\e076" -} -.glyphicon-step-forward:before { - content: "\e077" -} -.glyphicon-eject:before { - content: "\e078" -} -.glyphicon-chevron-left:before { - content: "\e079" -} -.glyphicon-chevron-right:before { - content: "\e080" -} -.glyphicon-plus-sign:before { - content: "\e081" -} -.glyphicon-minus-sign:before { - content: "\e082" -} -.glyphicon-remove-sign:before { - content: "\e083" -} -.glyphicon-ok-sign:before { - content: "\e084" -} -.glyphicon-question-sign:before { - content: "\e085" -} -.glyphicon-info-sign:before { - content: "\e086" -} -.glyphicon-screenshot:before { - content: "\e087" -} -.glyphicon-remove-circle:before { - content: "\e088" -} -.glyphicon-ok-circle:before { - content: "\e089" -} -.glyphicon-ban-circle:before { - content: "\e090" -} -.glyphicon-arrow-left:before { - content: "\e091" -} -.glyphicon-arrow-right:before { - content: "\e092" -} -.glyphicon-arrow-up:before { - content: "\e093" -} -.glyphicon-arrow-down:before { - content: "\e094" -} -.glyphicon-share-alt:before { - content: "\e095" -} -.glyphicon-resize-full:before { - content: "\e096" -} -.glyphicon-resize-small:before { - content: "\e097" -} -.glyphicon-exclamation-sign:before { - content: "\e101" -} -.glyphicon-gift:before { - content: "\e102" -} -.glyphicon-leaf:before { - content: "\e103" -} -.glyphicon-fire:before { - content: "\e104" -} -.glyphicon-eye-open:before { - content: "\e105" -} -.glyphicon-eye-close:before { - content: "\e106" -} -.glyphicon-warning-sign:before { - content: "\e107" -} -.glyphicon-plane:before { - content: "\e108" -} -.glyphicon-calendar:before { - content: "\e109" -} -.glyphicon-random:before { - content: "\e110" -} -.glyphicon-comment:before { - content: "\e111" -} -.glyphicon-magnet:before { - content: "\e112" -} -.glyphicon-chevron-up:before { - content: "\e113" -} -.glyphicon-chevron-down:before { - content: "\e114" -} -.glyphicon-retweet:before { - content: "\e115" -} -.glyphicon-shopping-cart:before { - content: "\e116" -} -.glyphicon-folder-close:before { - content: "\e117" -} -.glyphicon-folder-open:before { - content: "\e118" -} -.glyphicon-resize-vertical:before { - content: "\e119" -} -.glyphicon-resize-horizontal:before { - content: "\e120" -} -.glyphicon-hdd:before { - content: "\e121" -} -.glyphicon-bullhorn:before { - content: "\e122" -} -.glyphicon-bell:before { - content: "\e123" -} -.glyphicon-certificate:before { - content: "\e124" -} -.glyphicon-thumbs-up:before { - content: "\e125" -} -.glyphicon-thumbs-down:before { - content: "\e126" -} -.glyphicon-hand-right:before { - content: "\e127" -} -.glyphicon-hand-left:before { - content: "\e128" -} -.glyphicon-hand-up:before { - content: "\e129" -} -.glyphicon-hand-down:before { - content: "\e130" -} -.glyphicon-circle-arrow-right:before { - content: "\e131" -} -.glyphicon-circle-arrow-left:before { - content: "\e132" -} -.glyphicon-circle-arrow-up:before { - content: "\e133" -} -.glyphicon-circle-arrow-down:before { - content: "\e134" -} -.glyphicon-globe:before { - content: "\e135" -} -.glyphicon-wrench:before { - content: "\e136" -} -.glyphicon-tasks:before { - content: "\e137" -} -.glyphicon-filter:before { - content: "\e138" -} -.glyphicon-briefcase:before { - content: "\e139" -} -.glyphicon-fullscreen:before { - content: "\e140" -} -.glyphicon-dashboard:before { - content: "\e141" -} -.glyphicon-paperclip:before { - content: "\e142" -} -.glyphicon-heart-empty:before { - content: "\e143" -} -.glyphicon-link:before { - content: "\e144" -} -.glyphicon-phone:before { - content: "\e145" -} -.glyphicon-pushpin:before { - content: "\e146" -} -.glyphicon-usd:before { - content: "\e148" -} -.glyphicon-gbp:before { - content: "\e149" -} -.glyphicon-sort:before { - content: "\e150" -} -.glyphicon-sort-by-alphabet:before { - content: "\e151" -} -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152" -} -.glyphicon-sort-by-order:before { - content: "\e153" -} -.glyphicon-sort-by-order-alt:before { - content: "\e154" -} -.glyphicon-sort-by-attributes:before { - content: "\e155" -} -.glyphicon-sort-by-attributes-alt:before { - content: "\e156" -} -.glyphicon-unchecked:before { - content: "\e157" -} -.glyphicon-expand:before { - content: "\e158" -} -.glyphicon-collapse-down:before { - content: "\e159" -} -.glyphicon-collapse-up:before { - content: "\e160" -} -.glyphicon-log-in:before { - content: "\e161" -} -.glyphicon-flash:before { - content: "\e162" -} -.glyphicon-log-out:before { - content: "\e163" -} -.glyphicon-new-window:before { - content: "\e164" -} -.glyphicon-record:before { - content: "\e165" -} -.glyphicon-save:before { - content: "\e166" -} -.glyphicon-open:before { - content: "\e167" -} -.glyphicon-saved:before { - content: "\e168" -} -.glyphicon-import:before { - content: "\e169" -} -.glyphicon-export:before { - content: "\e170" -} -.glyphicon-send:before { - content: "\e171" -} -.glyphicon-floppy-disk:before { - content: "\e172" -} -.glyphicon-floppy-saved:before { - content: "\e173" -} -.glyphicon-floppy-remove:before { - content: "\e174" -} -.glyphicon-floppy-save:before { - content: "\e175" -} -.glyphicon-floppy-open:before { - content: "\e176" -} -.glyphicon-credit-card:before { - content: "\e177" -} -.glyphicon-transfer:before { - content: "\e178" -} -.glyphicon-cutlery:before { - content: "\e179" -} -.glyphicon-header:before { - content: "\e180" -} -.glyphicon-compressed:before { - content: "\e181" -} -.glyphicon-earphone:before { - content: "\e182" -} -.glyphicon-phone-alt:before { - content: "\e183" -} -.glyphicon-tower:before { - content: "\e184" -} -.glyphicon-stats:before { - content: "\e185" -} -.glyphicon-sd-video:before { - content: "\e186" -} -.glyphicon-hd-video:before { - content: "\e187" -} -.glyphicon-subtitles:before { - content: "\e188" -} -.glyphicon-sound-stereo:before { - content: "\e189" -} -.glyphicon-sound-dolby:before { - content: "\e190" -} -.glyphicon-sound-5-1:before { - content: "\e191" -} -.glyphicon-sound-6-1:before { - content: "\e192" -} -.glyphicon-sound-7-1:before { - content: "\e193" -} -.glyphicon-copyright-mark:before { - content: "\e194" -} -.glyphicon-registration-mark:before { - content: "\e195" -} -.glyphicon-cloud-download:before { - content: "\e197" -} -.glyphicon-cloud-upload:before { - content: "\e198" -} -.glyphicon-tree-conifer:before { - content: "\e199" -} -.glyphicon-tree-deciduous:before { - content: "\e200" -} -.glyphicon-cd:before { - content: "\e201" -} -.glyphicon-save-file:before { - content: "\e202" -} -.glyphicon-open-file:before { - content: "\e203" -} -.glyphicon-level-up:before { - content: "\e204" -} -.glyphicon-copy:before { - content: "\e205" -} -.glyphicon-paste:before { - content: "\e206" -} -.glyphicon-alert:before { - content: "\e209" -} -.glyphicon-equalizer:before { - content: "\e210" -} -.glyphicon-king:before { - content: "\e211" -} -.glyphicon-queen:before { - content: "\e212" -} -.glyphicon-pawn:before { - content: "\e213" -} -.glyphicon-bishop:before { - content: "\e214" -} -.glyphicon-knight:before { - content: "\e215" -} -.glyphicon-baby-formula:before { - content: "\e216" -} -.glyphicon-tent:before { - content: "\26fa" -} -.glyphicon-blackboard:before { - content: "\e218" -} -.glyphicon-bed:before { - content: "\e219" -} -.glyphicon-apple:before { - content: "\f8ff" -} -.glyphicon-erase:before { - content: "\e221" -} -.glyphicon-hourglass:before { - content: "\231b" -} -.glyphicon-lamp:before { - content: "\e223" -} -.glyphicon-duplicate:before { - content: "\e224" -} -.glyphicon-piggy-bank:before { - content: "\e225" -} -.glyphicon-scissors:before { - content: "\e226" -} -.glyphicon-bitcoin:before { - content: "\e227" -} -.glyphicon-btc:before { - content: "\e227" -} -.glyphicon-xbt:before { - content: "\e227" -} -.glyphicon-yen:before { - content: "\00a5" -} -.glyphicon-jpy:before { - content: "\00a5" -} -.glyphicon-ruble:before { - content: "\20bd" -} -.glyphicon-rub:before { - content: "\20bd" -} -.glyphicon-scale:before { - content: "\e230" -} -.glyphicon-ice-lolly:before { - content: "\e231" -} -.glyphicon-ice-lolly-tasted:before { - content: "\e232" -} -.glyphicon-education:before { - content: "\e233" -} -.glyphicon-option-horizontal:before { - content: "\e234" -} -.glyphicon-option-vertical:before { - content: "\e235" -} -.glyphicon-menu-hamburger:before { - content: "\e236" -} -.glyphicon-modal-window:before { - content: "\e237" -} -.glyphicon-oil:before { - content: "\e238" -} -.glyphicon-grain:before { - content: "\e239" -} -.glyphicon-sunglasses:before { - content: "\e240" -} -.glyphicon-text-size:before { - content: "\e241" -} -.glyphicon-text-color:before { - content: "\e242" -} -.glyphicon-text-background:before { - content: "\e243" -} -.glyphicon-object-align-top:before { - content: "\e244" -} -.glyphicon-object-align-bottom:before { - content: "\e245" -} -.glyphicon-object-align-horizontal:before { - content: "\e246" -} -.glyphicon-object-align-left:before { - content: "\e247" -} -.glyphicon-object-align-vertical:before { - content: "\e248" -} -.glyphicon-object-align-right:before { - content: "\e249" -} -.glyphicon-triangle-right:before { - content: "\e250" -} -.glyphicon-triangle-left:before { - content: "\e251" -} -.glyphicon-triangle-bottom:before { - content: "\e252" -} -.glyphicon-triangle-top:before { - content: "\e253" -} -.glyphicon-console:before { - content: "\e254" -} -.glyphicon-superscript:before { - content: "\e255" -} -.glyphicon-subscript:before { - content: "\e256" -} -.glyphicon-menu-left:before { - content: "\e257" -} -.glyphicon-menu-right:before { - content: "\e258" -} -.glyphicon-menu-down:before { - content: "\e259" -} -.glyphicon-menu-up:before { - content: "\e260" -} -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box -} -:after, -:before { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box -} -html { - font-size: 10px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0) -} -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333; - background-color: #fff -} -button, -input, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit -} -a { - color: #337ab7; - text-decoration: none -} -a:focus, -a:hover { - color: #23527c; - text-decoration: underline -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px -} -figure { - margin: 0 -} -img { - vertical-align: middle -} -.carousel-inner>.item>a>img, -.carousel-inner>.item>img, -.img-responsive, -.thumbnail a>img, -.thumbnail>img { - display: block; - max-width: 100%; - height: auto -} -.img-rounded { - border-radius: 6px -} -.img-thumbnail { - display: inline-block; - max-width: 100%; - height: auto; - padding: 4px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out -} -.img-circle { - border-radius: 50% -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eee -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0 -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto -} -[role=button] { - cursor: pointer -} -.h1, -.h2, -.h3, -.h4, -.h5, -.h6, -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit -} -.h1 .small, -.h1 small, -.h2 .small, -.h2 small, -.h3 .small, -.h3 small, -.h4 .small, -.h4 small, -.h5 .small, -.h5 small, -.h6 .small, -.h6 small, -h1 .small, -h1 small, -h2 .small, -h2 small, -h3 .small, -h3 small, -h4 .small, -h4 small, -h5 .small, -h5 small, -h6 .small, -h6 small { - font-weight: 400; - line-height: 1; - color: #777 -} -.h1, -.h2, -.h3, -h1, -h2, -h3 { - margin-top: 20px; - margin-bottom: 10px -} -.h1 .small, -.h1 small, -.h2 .small, -.h2 small, -.h3 .small, -.h3 small, -h1 .small, -h1 small, -h2 .small, -h2 small, -h3 .small, -h3 small { - font-size: 65% -} -.h4, -.h5, -.h6, -h4, -h5, -h6 { - margin-top: 10px; - margin-bottom: 10px -} -.h4 .small, -.h4 small, -.h5 .small, -.h5 small, -.h6 .small, -.h6 small, -h4 .small, -h4 small, -h5 .small, -h5 small, -h6 .small, -h6 small { - font-size: 75% -} -.h1, -h1 { - font-size: 36px -} -.h2, -h2 { - font-size: 30px -} -.h3, -h3 { - font-size: 24px -} -.h4, -h4 { - font-size: 18px -} -.h5, -h5 { - font-size: 14px -} -.h6, -h6 { - font-size: 12px -} -p { - margin: 0 0 10px -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4 -} -@media (min-width: 768px) { - .lead { - font-size: 21px - } -} -.small, -small { - font-size: 85% -} -.mark, -mark { - padding: .2em; - background-color: #fcf8e3 -} -.text-left { - text-align: left -} -.text-right { - text-align: right -} -.text-center { - text-align: center -} -.text-justify { - text-align: justify -} -.text-nowrap { - white-space: nowrap -} -.text-lowercase { - text-transform: lowercase -} -.text-uppercase { - text-transform: uppercase -} -.text-capitalize { - text-transform: capitalize -} -.text-muted { - color: #777 -} -.text-primary { - color: #337ab7 -} -a.text-primary:hover { - color: #286090 -} -.text-success { - color: #3c763d -} -a.text-success:hover { - color: #2b542c -} -.text-info { - color: #31708f -} -a.text-info:hover { - color: #245269 -} -.text-warning { - color: #8a6d3b -} -a.text-warning:hover { - color: #66512c -} -.text-danger { - color: #a94442 -} -a.text-danger:hover { - color: #843534 -} -.bg-primary { - color: #fff; - background-color: #337ab7 -} -a.bg-primary:hover { - background-color: #286090 -} -.bg-success { - background-color: #dff0d8 -} -a.bg-success:hover { - background-color: #c1e2b3 -} -.bg-info { - background-color: #d9edf7 -} -a.bg-info:hover { - background-color: #afd9ee -} -.bg-warning { - background-color: #fcf8e3 -} -a.bg-warning:hover { - background-color: #f7ecb5 -} -.bg-danger { - background-color: #f2dede -} -a.bg-danger:hover { - background-color: #e4b9b9 -} -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eee -} -ol, -ul { - margin-top: 0; - margin-bottom: 10px -} -ol ol, -ol ul, -ul ol, -ul ul { - margin-bottom: 0 -} -.list-unstyled { - padding-left: 0; - list-style: none -} -.list-inline { - padding-left: 0; - margin-left: -5px; - list-style: none -} -.list-inline>li { - display: inline-block; - padding-right: 5px; - padding-left: 5px -} -dl { - margin-top: 0; - margin-bottom: 20px -} -dd, -dt { - line-height: 1.42857143 -} -dt { - font-weight: 700 -} -dd { - margin-left: 0 -} -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - overflow: hidden; - clear: left; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap - } - .dl-horizontal dd { - margin-left: 180px - } -} -abbr[data-original-title], -abbr[title] { - cursor: help; - border-bottom: 1px dotted #777 -} -.initialism { - font-size: 90%; - text-transform: uppercase -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eee -} -blockquote ol:last-child, -blockquote p:last-child, -blockquote ul:last-child { - margin-bottom: 0 -} -blockquote .small, -blockquote footer, -blockquote small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777 -} -blockquote .small:before, -blockquote footer:before, -blockquote small:before { - content: '\2014 \00A0' -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - text-align: right; - border-right: 5px solid #eee; - border-left: 0 -} -.blockquote-reverse .small:before, -.blockquote-reverse footer:before, -.blockquote-reverse small:before, -blockquote.pull-right .small:before, -blockquote.pull-right footer:before, -blockquote.pull-right small:before { - content: '' -} -.blockquote-reverse .small:after, -.blockquote-reverse footer:after, -.blockquote-reverse small:after, -blockquote.pull-right .small:after, -blockquote.pull-right footer:after, -blockquote.pull-right small:after { - content: '\00A0 \2014' -} -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143 -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 3px; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25) -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; - -webkit-box-shadow: none; - box-shadow: none -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - color: #333; - word-break: break-all; - word-wrap: break-word; - background-color: #f5f5f5; - border: 1px solid #ccc; - border-radius: 4px -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0 -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll -} -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto -} -@media (min-width: 768px) { - .container { - width: 750px - } -} -@media (min-width: 992px) { - .container { - width: 970px - } -} -@media (min-width: 1200px) { - .container { - width: 1230px - } -} -.container-fluid { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto -} -.row { - margin-right: -15px; - margin-left: -15px -} -.col-lg-1, -.col-lg-10, -.col-lg-11, -.col-lg-12, -.col-lg-2, -.col-lg-3, -.col-lg-4, -.col-lg-5, -.col-lg-6, -.col-lg-7, -.col-lg-8, -.col-lg-9, -.col-md-1, -.col-md-10, -.col-md-11, -.col-md-12, -.col-md-2, -.col-md-3, -.col-md-4, -.col-md-5, -.col-md-6, -.col-md-7, -.col-md-8, -.col-md-9, -.col-sm-1, -.col-sm-10, -.col-sm-11, -.col-sm-12, -.col-sm-2, -.col-sm-3, -.col-sm-4, -.col-sm-5, -.col-sm-6, -.col-sm-7, -.col-sm-8, -.col-sm-9, -.col-xs-1, -.col-xs-10, -.col-xs-11, -.col-xs-12, -.col-xs-2, -.col-xs-3, -.col-xs-4, -.col-xs-5, -.col-xs-6, -.col-xs-7, -.col-xs-8, -.col-xs-9 { - position: relative; - min-height: 1px; - padding-right: 15px; - padding-left: 15px -} -.col-xs-1, -.col-xs-10, -.col-xs-11, -.col-xs-12, -.col-xs-2, -.col-xs-3, -.col-xs-4, -.col-xs-5, -.col-xs-6, -.col-xs-7, -.col-xs-8, -.col-xs-9 { - float: left -} -.col-xs-12 { - width: 100% -} -.col-xs-11 { - width: 91.66666667% -} -.col-xs-10 { - width: 83.33333333% -} -.col-xs-9 { - width: 75% -} -.col-xs-8 { - width: 66.66666667% -} -.col-xs-7 { - width: 58.33333333% -} -.col-xs-6 { - width: 50% -} -.col-xs-5 { - width: 41.66666667% -} -.col-xs-4 { - width: 33.33333333% -} -.col-xs-3 { - width: 25% -} -.col-xs-2 { - width: 16.66666667% -} -.col-xs-1 { - width: 8.33333333% -} -.col-xs-pull-12 { - right: 100% -} -.col-xs-pull-11 { - right: 91.66666667% -} -.col-xs-pull-10 { - right: 83.33333333% -} -.col-xs-pull-9 { - right: 75% -} -.col-xs-pull-8 { - right: 66.66666667% -} -.col-xs-pull-7 { - right: 58.33333333% -} -.col-xs-pull-6 { - right: 50% -} -.col-xs-pull-5 { - right: 41.66666667% -} -.col-xs-pull-4 { - right: 33.33333333% -} -.col-xs-pull-3 { - right: 25% -} -.col-xs-pull-2 { - right: 16.66666667% -} -.col-xs-pull-1 { - right: 8.33333333% -} -.col-xs-pull-0 { - right: auto -} -.col-xs-push-12 { - left: 100% -} -.col-xs-push-11 { - left: 91.66666667% -} -.col-xs-push-10 { - left: 83.33333333% -} -.col-xs-push-9 { - left: 75% -} -.col-xs-push-8 { - left: 66.66666667% -} -.col-xs-push-7 { - left: 58.33333333% -} -.col-xs-push-6 { - left: 50% -} -.col-xs-push-5 { - left: 41.66666667% -} -.col-xs-push-4 { - left: 33.33333333% -} -.col-xs-push-3 { - left: 25% -} -.col-xs-push-2 { - left: 16.66666667% -} -.col-xs-push-1 { - left: 8.33333333% -} -.col-xs-push-0 { - left: auto -} -.col-xs-offset-12 { - margin-left: 100% -} -.col-xs-offset-11 { - margin-left: 91.66666667% -} -.col-xs-offset-10 { - margin-left: 83.33333333% -} -.col-xs-offset-9 { - margin-left: 75% -} -.col-xs-offset-8 { - margin-left: 66.66666667% -} -.col-xs-offset-7 { - margin-left: 58.33333333% -} -.col-xs-offset-6 { - margin-left: 50% -} -.col-xs-offset-5 { - margin-left: 41.66666667% -} -.col-xs-offset-4 { - margin-left: 33.33333333% -} -.col-xs-offset-3 { - margin-left: 25% -} -.col-xs-offset-2 { - margin-left: 16.66666667% -} -.col-xs-offset-1 { - margin-left: 8.33333333% -} -.col-xs-offset-0 { - margin-left: 0 -} -@media (min-width: 768px) { - .col-sm-1, - .col-sm-10, - .col-sm-11, - .col-sm-12, - .col-sm-2, - .col-sm-3, - .col-sm-4, - .col-sm-5, - .col-sm-6, - .col-sm-7, - .col-sm-8, - .col-sm-9 { - float: left - } - .col-sm-12 { - width: 100% - } - .col-sm-11 { - width: 91.66666667% - } - .col-sm-10 { - width: 83.33333333% - } - .col-sm-9 { - width: 75% - } - .col-sm-8 { - width: 66.66666667% - } - .col-sm-7 { - width: 58.33333333% - } - .col-sm-6 { - width: 50% - } - .col-sm-5 { - width: 41.66666667% - } - .col-sm-4 { - width: 33.33333333% - } - .col-sm-3 { - width: 25% - } - .col-sm-2 { - width: 16.66666667% - } - .col-sm-1 { - width: 8.33333333% - } - .col-sm-pull-12 { - right: 100% - } - .col-sm-pull-11 { - right: 91.66666667% - } - .col-sm-pull-10 { - right: 83.33333333% - } - .col-sm-pull-9 { - right: 75% - } - .col-sm-pull-8 { - right: 66.66666667% - } - .col-sm-pull-7 { - right: 58.33333333% - } - .col-sm-pull-6 { - right: 50% - } - .col-sm-pull-5 { - right: 41.66666667% - } - .col-sm-pull-4 { - right: 33.33333333% - } - .col-sm-pull-3 { - right: 25% - } - .col-sm-pull-2 { - right: 16.66666667% - } - .col-sm-pull-1 { - right: 8.33333333% - } - .col-sm-pull-0 { - right: auto - } - .col-sm-push-12 { - left: 100% - } - .col-sm-push-11 { - left: 91.66666667% - } - .col-sm-push-10 { - left: 83.33333333% - } - .col-sm-push-9 { - left: 75% - } - .col-sm-push-8 { - left: 66.66666667% - } - .col-sm-push-7 { - left: 58.33333333% - } - .col-sm-push-6 { - left: 50% - } - .col-sm-push-5 { - left: 41.66666667% - } - .col-sm-push-4 { - left: 33.33333333% - } - .col-sm-push-3 { - left: 25% - } - .col-sm-push-2 { - left: 16.66666667% - } - .col-sm-push-1 { - left: 8.33333333% - } - .col-sm-push-0 { - left: auto - } - .col-sm-offset-12 { - margin-left: 100% - } - .col-sm-offset-11 { - margin-left: 91.66666667% - } - .col-sm-offset-10 { - margin-left: 83.33333333% - } - .col-sm-offset-9 { - margin-left: 75% - } - .col-sm-offset-8 { - margin-left: 66.66666667% - } - .col-sm-offset-7 { - margin-left: 58.33333333% - } - .col-sm-offset-6 { - margin-left: 50% - } - .col-sm-offset-5 { - margin-left: 41.66666667% - } - .col-sm-offset-4 { - margin-left: 33.33333333% - } - .col-sm-offset-3 { - margin-left: 25% - } - .col-sm-offset-2 { - margin-left: 16.66666667% - } - .col-sm-offset-1 { - margin-left: 8.33333333% - } - .col-sm-offset-0 { - margin-left: 0 - } -} -@media (min-width: 992px) { - .col-md-1, - .col-md-10, - .col-md-11, - .col-md-12, - .col-md-2, - .col-md-3, - .col-md-4, - .col-md-5, - .col-md-6, - .col-md-7, - .col-md-8, - .col-md-9 { - float: left - } - .col-md-12 { - width: 100% - } - .col-md-11 { - width: 91.66666667% - } - .col-md-10 { - width: 83.33333333% - } - .col-md-9 { - width: 75% - } - .col-md-8 { - width: 66.66666667% - } - .col-md-7 { - width: 58.33333333% - } - .col-md-6 { - width: 50% - } - .col-md-5 { - width: 41.66666667% - } - .col-md-4 { - width: 33.33333333% - } - .col-md-3 { - width: 25% - } - .col-md-2 { - width: 16.66666667% - } - .col-md-1 { - width: 8.33333333% - } - .col-md-pull-12 { - right: 100% - } - .col-md-pull-11 { - right: 91.66666667% - } - .col-md-pull-10 { - right: 83.33333333% - } - .col-md-pull-9 { - right: 75% - } - .col-md-pull-8 { - right: 66.66666667% - } - .col-md-pull-7 { - right: 58.33333333% - } - .col-md-pull-6 { - right: 50% - } - .col-md-pull-5 { - right: 41.66666667% - } - .col-md-pull-4 { - right: 33.33333333% - } - .col-md-pull-3 { - right: 25% - } - .col-md-pull-2 { - right: 16.66666667% - } - .col-md-pull-1 { - right: 8.33333333% - } - .col-md-pull-0 { - right: auto - } - .col-md-push-12 { - left: 100% - } - .col-md-push-11 { - left: 91.66666667% - } - .col-md-push-10 { - left: 83.33333333% - } - .col-md-push-9 { - left: 75% - } - .col-md-push-8 { - left: 66.66666667% - } - .col-md-push-7 { - left: 58.33333333% - } - .col-md-push-6 { - left: 50% - } - .col-md-push-5 { - left: 41.66666667% - } - .col-md-push-4 { - left: 33.33333333% - } - .col-md-push-3 { - left: 25% - } - .col-md-push-2 { - left: 16.66666667% - } - .col-md-push-1 { - left: 8.33333333% - } - .col-md-push-0 { - left: auto - } - .col-md-offset-12 { - margin-left: 100% - } - .col-md-offset-11 { - margin-left: 91.66666667% - } - .col-md-offset-10 { - margin-left: 83.33333333% - } - .col-md-offset-9 { - margin-left: 75% - } - .col-md-offset-8 { - margin-left: 66.66666667% - } - .col-md-offset-7 { - margin-left: 58.33333333% - } - .col-md-offset-6 { - margin-left: 50% - } - .col-md-offset-5 { - margin-left: 41.66666667% - } - .col-md-offset-4 { - margin-left: 33.33333333% - } - .col-md-offset-3 { - margin-left: 25% - } - .col-md-offset-2 { - margin-left: 16.66666667% - } - .col-md-offset-1 { - margin-left: 8.33333333% - } - .col-md-offset-0 { - margin-left: 0 - } -} -@media (min-width: 1200px) { - .col-lg-1, - .col-lg-10, - .col-lg-11, - .col-lg-12, - .col-lg-2, - .col-lg-3, - .col-lg-4, - .col-lg-5, - .col-lg-6, - .col-lg-7, - .col-lg-8, - .col-lg-9 { - float: left - } - .col-lg-12 { - width: 100% - } - .col-lg-11 { - width: 91.66666667% - } - .col-lg-10 { - width: 83.33333333% - } - .col-lg-9 { - width: 75% - } - .col-lg-8 { - width: 66.66666667% - } - .col-lg-7 { - width: 58.33333333% - } - .col-lg-6 { - width: 50% - } - .col-lg-5 { - width: 41.66666667% - } - .col-lg-4 { - width: 33.33333333% - } - .col-lg-3 { - width: 25% - } - .col-lg-2 { - width: 16.66666667% - } - .col-lg-1 { - width: 8.33333333% - } - .col-lg-pull-12 { - right: 100% - } - .col-lg-pull-11 { - right: 91.66666667% - } - .col-lg-pull-10 { - right: 83.33333333% - } - .col-lg-pull-9 { - right: 75% - } - .col-lg-pull-8 { - right: 66.66666667% - } - .col-lg-pull-7 { - right: 58.33333333% - } - .col-lg-pull-6 { - right: 50% - } - .col-lg-pull-5 { - right: 41.66666667% - } - .col-lg-pull-4 { - right: 33.33333333% - } - .col-lg-pull-3 { - right: 25% - } - .col-lg-pull-2 { - right: 16.66666667% - } - .col-lg-pull-1 { - right: 8.33333333% - } - .col-lg-pull-0 { - right: auto - } - .col-lg-push-12 { - left: 100% - } - .col-lg-push-11 { - left: 91.66666667% - } - .col-lg-push-10 { - left: 83.33333333% - } - .col-lg-push-9 { - left: 75% - } - .col-lg-push-8 { - left: 66.66666667% - } - .col-lg-push-7 { - left: 58.33333333% - } - .col-lg-push-6 { - left: 50% - } - .col-lg-push-5 { - left: 41.66666667% - } - .col-lg-push-4 { - left: 33.33333333% - } - .col-lg-push-3 { - left: 25% - } - .col-lg-push-2 { - left: 16.66666667% - } - .col-lg-push-1 { - left: 8.33333333% - } - .col-lg-push-0 { - left: auto - } - .col-lg-offset-12 { - margin-left: 100% - } - .col-lg-offset-11 { - margin-left: 91.66666667% - } - .col-lg-offset-10 { - margin-left: 83.33333333% - } - .col-lg-offset-9 { - margin-left: 75% - } - .col-lg-offset-8 { - margin-left: 66.66666667% - } - .col-lg-offset-7 { - margin-left: 58.33333333% - } - .col-lg-offset-6 { - margin-left: 50% - } - .col-lg-offset-5 { - margin-left: 41.66666667% - } - .col-lg-offset-4 { - margin-left: 33.33333333% - } - .col-lg-offset-3 { - margin-left: 25% - } - .col-lg-offset-2 { - margin-left: 16.66666667% - } - .col-lg-offset-1 { - margin-left: 8.33333333% - } - .col-lg-offset-0 { - margin-left: 0 - } -} -table { - background-color: transparent -} -caption { - padding-top: 8px; - padding-bottom: 8px; - color: #777; - text-align: left -} -th { - text-align: left -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px -} -.table>tbody>tr>td, -.table>tbody>tr>th, -.table>tfoot>tr>td, -.table>tfoot>tr>th, -.table>thead>tr>td, -.table>thead>tr>th { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #ddd -} -.table>thead>tr>th { - vertical-align: bottom; - border-bottom: 2px solid #ddd -} -.table>caption+thead>tr:first-child>td, -.table>caption+thead>tr:first-child>th, -.table>colgroup+thead>tr:first-child>td, -.table>colgroup+thead>tr:first-child>th, -.table>thead:first-child>tr:first-child>td, -.table>thead:first-child>tr:first-child>th { - border-top: 0 -} -.table>tbody+tbody { - border-top: 2px solid #ddd -} -.table .table { - background-color: #fff -} -.table-condensed>tbody>tr>td, -.table-condensed>tbody>tr>th, -.table-condensed>tfoot>tr>td, -.table-condensed>tfoot>tr>th, -.table-condensed>thead>tr>td, -.table-condensed>thead>tr>th { - padding: 5px -} -.table-bordered { - border: 1px solid #ddd -} -.table-bordered>tbody>tr>td, -.table-bordered>tbody>tr>th, -.table-bordered>tfoot>tr>td, -.table-bordered>tfoot>tr>th, -.table-bordered>thead>tr>td, -.table-bordered>thead>tr>th { - border: 1px solid #ddd -} -.table-bordered>thead>tr>td, -.table-bordered>thead>tr>th { - border-bottom-width: 2px -} -.table-striped>tbody>tr:nth-of-type(odd) { - background-color: #f9f9f9 -} -.table-hover>tbody>tr:hover { - background-color: #f5f5f5 -} -table col[class*=col-] { - position: static; - display: table-column; - float: none -} -table td[class*=col-], -table th[class*=col-] { - position: static; - display: table-cell; - float: none -} -.table>tbody>tr.active>td, -.table>tbody>tr.active>th, -.table>tbody>tr>td.active, -.table>tbody>tr>th.active, -.table>tfoot>tr.active>td, -.table>tfoot>tr.active>th, -.table>tfoot>tr>td.active, -.table>tfoot>tr>th.active, -.table>thead>tr.active>td, -.table>thead>tr.active>th, -.table>thead>tr>td.active, -.table>thead>tr>th.active { - background-color: #f5f5f5 -} -.table-hover>tbody>tr.active:hover>td, -.table-hover>tbody>tr.active:hover>th, -.table-hover>tbody>tr:hover>.active, -.table-hover>tbody>tr>td.active:hover, -.table-hover>tbody>tr>th.active:hover { - background-color: #e8e8e8 -} -.table>tbody>tr.success>td, -.table>tbody>tr.success>th, -.table>tbody>tr>td.success, -.table>tbody>tr>th.success, -.table>tfoot>tr.success>td, -.table>tfoot>tr.success>th, -.table>tfoot>tr>td.success, -.table>tfoot>tr>th.success, -.table>thead>tr.success>td, -.table>thead>tr.success>th, -.table>thead>tr>td.success, -.table>thead>tr>th.success { - background-color: #dff0d8 -} -.table-hover>tbody>tr.success:hover>td, -.table-hover>tbody>tr.success:hover>th, -.table-hover>tbody>tr:hover>.success, -.table-hover>tbody>tr>td.success:hover, -.table-hover>tbody>tr>th.success:hover { - background-color: #d0e9c6 -} -.table>tbody>tr.info>td, -.table>tbody>tr.info>th, -.table>tbody>tr>td.info, -.table>tbody>tr>th.info, -.table>tfoot>tr.info>td, -.table>tfoot>tr.info>th, -.table>tfoot>tr>td.info, -.table>tfoot>tr>th.info, -.table>thead>tr.info>td, -.table>thead>tr.info>th, -.table>thead>tr>td.info, -.table>thead>tr>th.info { - background-color: #d9edf7 -} -.table-hover>tbody>tr.info:hover>td, -.table-hover>tbody>tr.info:hover>th, -.table-hover>tbody>tr:hover>.info, -.table-hover>tbody>tr>td.info:hover, -.table-hover>tbody>tr>th.info:hover { - background-color: #c4e3f3 -} -.table>tbody>tr.warning>td, -.table>tbody>tr.warning>th, -.table>tbody>tr>td.warning, -.table>tbody>tr>th.warning, -.table>tfoot>tr.warning>td, -.table>tfoot>tr.warning>th, -.table>tfoot>tr>td.warning, -.table>tfoot>tr>th.warning, -.table>thead>tr.warning>td, -.table>thead>tr.warning>th, -.table>thead>tr>td.warning, -.table>thead>tr>th.warning { - background-color: #fcf8e3 -} -.table-hover>tbody>tr.warning:hover>td, -.table-hover>tbody>tr.warning:hover>th, -.table-hover>tbody>tr:hover>.warning, -.table-hover>tbody>tr>td.warning:hover, -.table-hover>tbody>tr>th.warning:hover { - background-color: #faf2cc -} -.table>tbody>tr.danger>td, -.table>tbody>tr.danger>th, -.table>tbody>tr>td.danger, -.table>tbody>tr>th.danger, -.table>tfoot>tr.danger>td, -.table>tfoot>tr.danger>th, -.table>tfoot>tr>td.danger, -.table>tfoot>tr>th.danger, -.table>thead>tr.danger>td, -.table>thead>tr.danger>th, -.table>thead>tr>td.danger, -.table>thead>tr>th.danger { - background-color: #f2dede -} -.table-hover>tbody>tr.danger:hover>td, -.table-hover>tbody>tr.danger:hover>th, -.table-hover>tbody>tr:hover>.danger, -.table-hover>tbody>tr>td.danger:hover, -.table-hover>tbody>tr>th.danger:hover { - background-color: #ebcccc -} -.table-responsive { - min-height: .01%; - overflow-x: auto -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #ddd - } - .table-responsive>.table { - margin-bottom: 0 - } - .table-responsive>.table>tbody>tr>td, - .table-responsive>.table>tbody>tr>th, - .table-responsive>.table>tfoot>tr>td, - .table-responsive>.table>tfoot>tr>th, - .table-responsive>.table>thead>tr>td, - .table-responsive>.table>thead>tr>th { - white-space: nowrap - } - .table-responsive>.table-bordered { - border: 0 - } - .table-responsive>.table-bordered>tbody>tr>td:first-child, - .table-responsive>.table-bordered>tbody>tr>th:first-child, - .table-responsive>.table-bordered>tfoot>tr>td:first-child, - .table-responsive>.table-bordered>tfoot>tr>th:first-child, - .table-responsive>.table-bordered>thead>tr>td:first-child, - .table-responsive>.table-bordered>thead>tr>th:first-child { - border-left: 0 - } - .table-responsive>.table-bordered>tbody>tr>td:last-child, - .table-responsive>.table-bordered>tbody>tr>th:last-child, - .table-responsive>.table-bordered>tfoot>tr>td:last-child, - .table-responsive>.table-bordered>tfoot>tr>th:last-child, - .table-responsive>.table-bordered>thead>tr>td:last-child, - .table-responsive>.table-bordered>thead>tr>th:last-child { - border-right: 0 - } - .table-responsive>.table-bordered>tbody>tr:last-child>td, - .table-responsive>.table-bordered>tbody>tr:last-child>th, - .table-responsive>.table-bordered>tfoot>tr:last-child>td, - .table-responsive>.table-bordered>tfoot>tr:last-child>th { - border-bottom: 0 - } -} -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0 -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333; - border: 0; - border-bottom: 1px solid #e5e5e5 -} -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: 700 -} -input[type=search] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box -} -input[type=checkbox], -input[type=radio] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal -} -input[type=file] { - display: block -} -input[type=range] { - display: block; - width: 100% -} -select[multiple], -select[size] { - height: auto -} -input[type=file]:focus, -input[type=checkbox]:focus, -input[type=radio]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px -} -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555 -} -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s -} -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6) -} -.form-control::-moz-placeholder { - color: #999; - opacity: 1 -} -.form-control:-ms-input-placeholder { - color: #999 -} -.form-control::-webkit-input-placeholder { - color: #999 -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - background-color: #eee; - opacity: 1 -} -.form-control[disabled], -fieldset[disabled] .form-control { - cursor: not-allowed -} -textarea.form-control { - height: auto -} -input[type=search] { - -webkit-appearance: none -} -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type=date], - input[type=time], - input[type=datetime-local], - input[type=month] { - line-height: 34px - } - .input-group-sm input[type=date], - .input-group-sm input[type=time], - .input-group-sm input[type=datetime-local], - .input-group-sm input[type=month], - input[type=date].input-sm, - input[type=time].input-sm, - input[type=datetime-local].input-sm, - input[type=month].input-sm { - line-height: 30px - } - .input-group-lg input[type=date], - .input-group-lg input[type=time], - .input-group-lg input[type=datetime-local], - .input-group-lg input[type=month], - input[type=date].input-lg, - input[type=time].input-lg, - input[type=datetime-local].input-lg, - input[type=month].input-lg { - line-height: 46px - } -} -.form-group { - margin-bottom: 15px -} -.checkbox, -.radio { - position: relative; - display: block; - margin-top: 10px; - margin-bottom: 10px -} -.checkbox label, -.radio label { - min-height: 20px; - padding-left: 20px; - margin-bottom: 0; - font-weight: 400; - cursor: pointer -} -.checkbox input[type=checkbox], -.checkbox-inline input[type=checkbox], -.radio input[type=radio], -.radio-inline input[type=radio] { - position: absolute; - margin-top: 4px \9; - margin-left: -20px -} -.checkbox+.checkbox, -.radio+.radio { - margin-top: -5px -} -.checkbox-inline, -.radio-inline { - position: relative; - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - font-weight: 400; - vertical-align: middle; - cursor: pointer -} -.checkbox-inline+.checkbox-inline, -.radio-inline+.radio-inline { - margin-top: 0; - margin-left: 10px -} -fieldset[disabled] input[type=checkbox], -fieldset[disabled] input[type=radio], -input[type=checkbox].disabled, -input[type=checkbox][disabled], -input[type=radio].disabled, -input[type=radio][disabled] { - cursor: not-allowed -} -.checkbox-inline.disabled, -.radio-inline.disabled, -fieldset[disabled] .checkbox-inline, -fieldset[disabled] .radio-inline { - cursor: not-allowed -} -.checkbox.disabled label, -.radio.disabled label, -fieldset[disabled] .checkbox label, -fieldset[disabled] .radio label { - cursor: not-allowed -} -.form-control-static { - min-height: 34px; - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0 -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-right: 0; - padding-left: 0 -} -.input-sm { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} -select.input-sm { - height: 30px; - line-height: 30px -} -select[multiple].input-sm, -textarea.input-sm { - height: auto -} -.form-group-sm .form-control { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} -select.form-group-sm .form-control { - height: 30px; - line-height: 30px -} -select[multiple].form-group-sm .form-control, -textarea.form-group-sm .form-control { - height: auto -} -.form-group-sm .form-control-static { - height: 30px; - min-height: 32px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5 -} -.input-lg { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px -} -select.input-lg { - height: 46px; - line-height: 46px -} -select[multiple].input-lg, -textarea.input-lg { - height: auto -} -.form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px -} -select.form-group-lg .form-control { - height: 46px; - line-height: 46px -} -select[multiple].form-group-lg .form-control, -textarea.form-group-lg .form-control { - height: auto -} -.form-group-lg .form-control-static { - height: 46px; - min-height: 38px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333 -} -.has-feedback { - position: relative -} -.has-feedback .form-control { - padding-right: 42.5px -} -.form-control-feedback { - position: absolute; - top: 0; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; - pointer-events: none -} -.input-lg+.form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px -} -.input-sm+.form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px -} -.has-success .checkbox, -.has-success .checkbox-inline, -.has-success .control-label, -.has-success .help-block, -.has-success .radio, -.has-success .radio-inline, -.has-success.checkbox label, -.has-success.checkbox-inline label, -.has-success.radio label, -.has-success.radio-inline label { - color: #3c763d -} -.has-success .form-control { - border-color: #3c763d; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) -} -.has-success .form-control:focus { - border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168 -} -.has-success .input-group-addon { - color: #3c763d; - background-color: #dff0d8; - border-color: #3c763d -} -.has-success .form-control-feedback { - color: #3c763d -} -.has-warning .checkbox, -.has-warning .checkbox-inline, -.has-warning .control-label, -.has-warning .help-block, -.has-warning .radio, -.has-warning .radio-inline, -.has-warning.checkbox label, -.has-warning.checkbox-inline label, -.has-warning.radio label, -.has-warning.radio-inline label { - color: #8a6d3b -} -.has-warning .form-control { - border-color: #8a6d3b; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) -} -.has-warning .form-control:focus { - border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b -} -.has-warning .input-group-addon { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #8a6d3b -} -.has-warning .form-control-feedback { - color: #8a6d3b -} -.has-error .checkbox, -.has-error .checkbox-inline, -.has-error .control-label, -.has-error .help-block, -.has-error .radio, -.has-error .radio-inline, -.has-error.checkbox label, -.has-error.checkbox-inline label, -.has-error.radio label, -.has-error.radio-inline label { - color: #a94442 -} -.has-error .form-control { - border-color: #a94442; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) -} -.has-error .form-control:focus { - border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483 -} -.has-error .input-group-addon { - color: #a94442; - background-color: #f2dede; - border-color: #a94442 -} -.has-error .form-control-feedback { - color: #a94442 -} -.has-feedback label~.form-control-feedback { - top: 25px -} -.has-feedback label.sr-only~.form-control-feedback { - top: 0 -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373 -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle - } - .form-inline .form-control-static { - display: inline-block - } - .form-inline .input-group { - display: inline-table; - vertical-align: middle - } - .form-inline .input-group .form-control, - .form-inline .input-group .input-group-addon, - .form-inline .input-group .input-group-btn { - width: auto - } - .form-inline .input-group>.form-control { - width: 100% - } - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle - } - .form-inline .checkbox, - .form-inline .radio { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle - } - .form-inline .checkbox label, - .form-inline .radio label { - padding-left: 0 - } - .form-inline .checkbox input[type=checkbox], - .form-inline .radio input[type=radio] { - position: relative; - margin-left: 0 - } - .form-inline .has-feedback .form-control-feedback { - top: 0 - } -} -.form-horizontal .checkbox, -.form-horizontal .checkbox-inline, -.form-horizontal .radio, -.form-horizontal .radio-inline { - padding-top: 7px; - margin-top: 0; - margin-bottom: 0 -} -.form-horizontal .checkbox, -.form-horizontal .radio { - min-height: 27px -} -.form-horizontal .form-group { - margin-right: -15px; - margin-left: -15px -} -@media (min-width: 768px) { - .form-horizontal .control-label { - padding-top: 7px; - margin-bottom: 0; - text-align: right - } -} -.form-horizontal .has-feedback .form-control-feedback { - right: 15px -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 14.33px - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px - } -} -.btn { - display: inline-block; - padding: 6px 12px; - margin-bottom: 0; - font-size: 14px; - font-weight: 400; - line-height: 1.42857143; - text-align: center; - white-space: nowrap; - vertical-align: middle; - -ms-touch-action: manipulation; - touch-action: manipulation; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: none; - border: 1px solid transparent; - border-radius: 4px -} -.btn.active.focus, -.btn.active:focus, -.btn.focus, -.btn:active.focus, -.btn:active:focus, -.btn:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px -} -.btn.focus, -.btn:focus, -.btn:hover { - color: #333; - text-decoration: none -} -.btn.active, -.btn:active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - pointer-events: none; - cursor: not-allowed; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; - opacity: .65 -} -.btn-default { - color: #333; - background-color: #fff; - border-color: #ccc -} -.btn-default.active, -.btn-default.focus, -.btn-default:active, -.btn-default:focus, -.btn-default:hover, -.open>.dropdown-toggle.btn-default { - color: #333; - background-color: #e6e6e6; - border-color: #adadad -} -.btn-default.active, -.btn-default:active, -.open>.dropdown-toggle.btn-default { - background-image: none -} -.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: #fff; - border-color: #ccc -} -.btn-default .badge { - color: #fff; - background-color: #333 -} -.btn-primary { - color: #fff; - background-color: #337ab7; - border-color: #2e6da4 -} -.btn-primary.active, -.btn-primary.focus, -.btn-primary:active, -.btn-primary:focus, -.btn-primary:hover, -.open>.dropdown-toggle.btn-primary { - color: #fff; - background-color: #286090; - border-color: #204d74 -} -.btn-primary.active, -.btn-primary:active, -.open>.dropdown-toggle.btn-primary { - background-image: none -} -.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: #337ab7; - border-color: #2e6da4 -} -.btn-primary .badge { - color: #337ab7; - background-color: #fff -} -.btn-success { - color: #fff; - background-color: #5cb85c; - border-color: #4cae4c -} -.btn-success.active, -.btn-success.focus, -.btn-success:active, -.btn-success:focus, -.btn-success:hover, -.open>.dropdown-toggle.btn-success { - color: #fff; - background-color: #449d44; - border-color: #398439 -} -.btn-success.active, -.btn-success:active, -.open>.dropdown-toggle.btn-success { - background-image: none -} -.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: #5cb85c; - border-color: #4cae4c -} -.btn-success .badge { - color: #5cb85c; - background-color: #fff -} -.btn-info { - color: #fff; - background-color: #5bc0de; - border-color: #46b8da -} -.btn-info.active, -.btn-info.focus, -.btn-info:active, -.btn-info:focus, -.btn-info:hover, -.open>.dropdown-toggle.btn-info { - color: #fff; - background-color: #31b0d5; - border-color: #269abc -} -.btn-info.active, -.btn-info:active, -.open>.dropdown-toggle.btn-info { - background-image: none -} -.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: #5bc0de; - border-color: #46b8da -} -.btn-info .badge { - color: #5bc0de; - background-color: #fff -} -.btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #eea236 -} -.btn-warning.active, -.btn-warning.focus, -.btn-warning:active, -.btn-warning:focus, -.btn-warning:hover, -.open>.dropdown-toggle.btn-warning { - color: #fff; - background-color: #ec971f; - border-color: #d58512 -} -.btn-warning.active, -.btn-warning:active, -.open>.dropdown-toggle.btn-warning { - background-image: none -} -.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: #f0ad4e; - border-color: #eea236 -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #fff -} -.btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d43f3a -} -.btn-danger.active, -.btn-danger.focus, -.btn-danger:active, -.btn-danger:focus, -.btn-danger:hover, -.open>.dropdown-toggle.btn-danger { - color: #fff; - background-color: #c9302c; - border-color: #ac2925 -} -.btn-danger.active, -.btn-danger:active, -.open>.dropdown-toggle.btn-danger { - background-image: none -} -.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: #d9534f; - border-color: #d43f3a -} -.btn-danger .badge { - color: #d9534f; - background-color: #fff -} -.btn-link { - font-weight: 400; - color: #337ab7; - border-radius: 0 -} -.btn-link, -.btn-link.active, -.btn-link:active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-link, -.btn-link:active, -.btn-link:focus, -.btn-link:hover { - border-color: transparent -} -.btn-link:focus, -.btn-link:hover { - color: #23527c; - text-decoration: underline; - background-color: transparent -} -.btn-link[disabled]:focus, -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:focus, -fieldset[disabled] .btn-link:hover { - color: #777; - text-decoration: none -} -.btn-group-lg>.btn, -.btn-lg { - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px -} -.btn-group-sm>.btn, -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} -.btn-group-xs>.btn, -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} -.btn-block { - display: block; - width: 100% -} -.btn-block+.btn-block { - margin-top: 5px -} -input[type=button].btn-block, -input[type=reset].btn-block, -input[type=submit].btn-block { - width: 100% -} -.fade { - opacity: 0; - -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear -} -.fade.in { - opacity: 1 -} -.collapse { - display: none -} -.collapse.in { - display: block -} -tr.collapse.in { - display: table-row -} -tbody.collapse.in { - display: table-row-group -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-timing-function: ease; - -o-transition-timing-function: ease; - transition-timing-function: ease; - -webkit-transition-duration: .35s; - -o-transition-duration: .35s; - transition-duration: .35s; - -webkit-transition-property: height, visibility; - -o-transition-property: height, visibility; - transition-property: height, visibility -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px dashed; - border-right: 4px solid transparent; - border-left: 4px solid transparent -} -.dropdown, -.dropup { - position: relative -} -.dropdown-toggle:focus { - outline: 0 -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - font-size: 14px; - text-align: left; - list-style: none; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); - box-shadow: 0 6px 12px rgba(0, 0, 0, .175) -} -.dropdown-menu.pull-right { - right: 0; - left: auto -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5 -} -.dropdown-menu>li>a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: 400; - line-height: 1.42857143; - color: #333; - white-space: nowrap -} -.dropdown-menu>li>a:focus, -.dropdown-menu>li>a:hover { - color: #262626; - text-decoration: none; - background-color: #f5f5f5 -} -.dropdown-menu>.active>a, -.dropdown-menu>.active>a:focus, -.dropdown-menu>.active>a:hover { - color: #fff; - text-decoration: none; - background-color: #337ab7; - outline: 0 -} -.dropdown-menu>.disabled>a, -.dropdown-menu>.disabled>a:focus, -.dropdown-menu>.disabled>a:hover { - color: #777 -} -.dropdown-menu>.disabled>a:focus, -.dropdown-menu>.disabled>a:hover { - text-decoration: none; - cursor: not-allowed; - background-color: transparent; - background-image: none; - filter: progid: DXImageTransform.Microsoft.gradient(enabled=false) -} -.open>.dropdown-menu { - display: block -} -.open>a { - outline: 0 -} -.dropdown-menu-right { - right: 0; - left: auto -} -.dropdown-menu-left { - right: auto; - left: 0 -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777; - white-space: nowrap -} -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990 -} -.pull-right>.dropdown-menu { - right: 0; - left: auto -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - content: ""; - border-top: 0; - border-bottom: 4px solid -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px -} -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto - } - .navbar-right .dropdown-menu-left { - right: auto; - left: 0 - } -} -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle -} -.btn-group-vertical>.btn, -.btn-group>.btn { - position: relative; - float: left -} -.btn-group-vertical>.btn.active, -.btn-group-vertical>.btn:active, -.btn-group-vertical>.btn:focus, -.btn-group-vertical>.btn:hover, -.btn-group>.btn.active, -.btn-group>.btn:active, -.btn-group>.btn:focus, -.btn-group>.btn:hover { - z-index: 2 -} -.btn-group .btn+.btn, -.btn-group .btn+.btn-group, -.btn-group .btn-group+.btn, -.btn-group .btn-group+.btn-group { - margin-left: -1px -} -.btn-toolbar { - margin-left: -5px -} -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left -} -.btn-toolbar>.btn, -.btn-toolbar>.btn-group, -.btn-toolbar>.input-group { - margin-left: 5px -} -.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0 -} -.btn-group>.btn:first-child { - margin-left: 0 -} -.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} -.btn-group>.btn:last-child:not(:first-child), -.btn-group>.dropdown-toggle:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} -.btn-group>.btn-group { - float: left -} -.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn { - border-radius: 0 -} -.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child, -.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} -.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0 -} -.btn-group>.btn+.dropdown-toggle { - padding-right: 8px; - padding-left: 8px -} -.btn-group>.btn-lg+.dropdown-toggle { - padding-right: 12px; - padding-left: 12px -} -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) -} -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none -} -.btn .caret { - margin-left: 0 -} -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0 -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px -} -.btn-group-vertical>.btn, -.btn-group-vertical>.btn-group, -.btn-group-vertical>.btn-group>.btn { - display: block; - float: none; - width: 100%; - max-width: 100% -} -.btn-group-vertical>.btn-group>.btn { - float: none -} -.btn-group-vertical>.btn+.btn, -.btn-group-vertical>.btn+.btn-group, -.btn-group-vertical>.btn-group+.btn, -.btn-group-vertical>.btn-group+.btn-group { - margin-top: -1px; - margin-left: 0 -} -.btn-group-vertical>.btn:not(:first-child):not(:last-child) { - border-radius: 0 -} -.btn-group-vertical>.btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} -.btn-group-vertical>.btn:last-child:not(:first-child) { - border-top-left-radius: 0; - border-top-right-radius: 0; - border-bottom-left-radius: 4px -} -.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn { - border-radius: 0 -} -.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child, -.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} -.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0 -} -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate -} -.btn-group-justified>.btn, -.btn-group-justified>.btn-group { - display: table-cell; - float: none; - width: 1% -} -.btn-group-justified>.btn-group .btn { - width: 100% -} -.btn-group-justified>.btn-group .dropdown-menu { - left: auto -} -[data-toggle=buttons]>.btn input[type=checkbox], -[data-toggle=buttons]>.btn input[type=radio], -[data-toggle=buttons]>.btn-group>.btn input[type=checkbox], -[data-toggle=buttons]>.btn-group>.btn input[type=radio] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none -} -.input-group { - position: relative; - display: table; - border-collapse: separate -} -.input-group[class*=col-] { - float: none; - padding-right: 0; - padding-left: 0 -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0 -} -.input-group-lg>.form-control, -.input-group-lg>.input-group-addon, -.input-group-lg>.input-group-btn>.btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px -} -select.input-group-lg>.form-control, -select.input-group-lg>.input-group-addon, -select.input-group-lg>.input-group-btn>.btn { - height: 46px; - line-height: 46px -} -select[multiple].input-group-lg>.form-control, -select[multiple].input-group-lg>.input-group-addon, -select[multiple].input-group-lg>.input-group-btn>.btn, -textarea.input-group-lg>.form-control, -textarea.input-group-lg>.input-group-addon, -textarea.input-group-lg>.input-group-btn>.btn { - height: auto -} -.input-group-sm>.form-control, -.input-group-sm>.input-group-addon, -.input-group-sm>.input-group-btn>.btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px -} -select.input-group-sm>.form-control, -select.input-group-sm>.input-group-addon, -select.input-group-sm>.input-group-btn>.btn { - height: 30px; - line-height: 30px -} -select[multiple].input-group-sm>.form-control, -select[multiple].input-group-sm>.input-group-addon, -select[multiple].input-group-sm>.input-group-btn>.btn, -textarea.input-group-sm>.form-control, -textarea.input-group-sm>.input-group-addon, -textarea.input-group-sm>.input-group-btn>.btn { - height: auto -} -.input-group .form-control, -.input-group-addon, -.input-group-btn { - display: table-cell -} -.input-group .form-control:not(:first-child):not(:last-child), -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child) { - border-radius: 0 -} -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle -} -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: 400; - line-height: 1; - color: #555; - text-align: center; - background-color: #eee; - border: 1px solid #ccc; - border-radius: 4px -} -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px -} -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px -} -.input-group-addon input[type=checkbox], -.input-group-addon input[type=radio] { - margin-top: 0 -} -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child>.btn, -.input-group-btn:first-child>.btn-group>.btn, -.input-group-btn:first-child>.dropdown-toggle, -.input-group-btn:last-child>.btn-group:not(:last-child)>.btn, -.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} -.input-group-addon:first-child { - border-right: 0 -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:first-child>.btn-group:not(:first-child)>.btn, -.input-group-btn:first-child>.btn:not(:first-child), -.input-group-btn:last-child>.btn, -.input-group-btn:last-child>.btn-group>.btn, -.input-group-btn:last-child>.dropdown-toggle { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} -.input-group-addon:last-child { - border-left: 0 -} -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap -} -.input-group-btn>.btn { - position: relative -} -.input-group-btn>.btn+.btn { - margin-left: -1px -} -.input-group-btn>.btn:active, -.input-group-btn>.btn:focus, -.input-group-btn>.btn:hover { - z-index: 2 -} -.input-group-btn:first-child>.btn, -.input-group-btn:first-child>.btn-group { - margin-right: -1px -} -.input-group-btn:last-child>.btn, -.input-group-btn:last-child>.btn-group { - margin-left: -1px -} -.nav { - padding-left: 0; - margin-bottom: 0; - list-style: none -} -.nav>li { - position: relative; - display: block -} -.nav>li>a { - position: relative; - display: block; - padding: 10px 15px -} -.nav>li>a:focus, -.nav>li>a:hover { - text-decoration: none; - background-color: #eee -} -.nav>li.disabled>a { - color: #777 -} -.nav>li.disabled>a:focus, -.nav>li.disabled>a:hover { - color: #777; - text-decoration: none; - cursor: not-allowed; - background-color: transparent -} -.nav .open>a, -.nav .open>a:focus, -.nav .open>a:hover { - background-color: #eee; - border-color: #337ab7 -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5 -} -.nav>li>a>img { - max-width: none -} -.nav-tabs { - border-bottom: 1px solid #ddd -} -.nav-tabs>li { - float: left; - margin-bottom: -1px -} -.nav-tabs>li>a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0 -} -.nav-tabs>li>a:hover { - border-color: #eee #eee #ddd -} -.nav-tabs>li.active>a, -.nav-tabs>li.active>a:focus, -.nav-tabs>li.active>a:hover { - color: #555; - cursor: default; - background-color: #fff; - border: 1px solid #ddd; - border-bottom-color: transparent -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0 -} -.nav-tabs.nav-justified>li { - float: none -} -.nav-tabs.nav-justified>li>a { - margin-bottom: 5px; - text-align: center -} -.nav-tabs.nav-justified>.dropdown .dropdown-menu { - top: auto; - left: auto -} -@media (min-width: 768px) { - .nav-tabs.nav-justified>li { - display: table-cell; - width: 1% - } - .nav-tabs.nav-justified>li>a { - margin-bottom: 0 - } -} -.nav-tabs.nav-justified>li>a { - margin-right: 0; - border-radius: 4px -} -.nav-tabs.nav-justified>.active>a, -.nav-tabs.nav-justified>.active>a:focus, -.nav-tabs.nav-justified>.active>a:hover { - border: 1px solid #ddd -} -@media (min-width: 768px) { - .nav-tabs.nav-justified>li>a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0 - } - .nav-tabs.nav-justified>.active>a, - .nav-tabs.nav-justified>.active>a:focus, - .nav-tabs.nav-justified>.active>a:hover { - border-bottom-color: #fff - } -} -.nav-pills>li { - float: left -} -.nav-pills>li>a { - border-radius: 4px -} -.nav-pills>li+li { - margin-left: 2px -} -.nav-pills>li.active>a, -.nav-pills>li.active>a:focus, -.nav-pills>li.active>a:hover { - color: #fff; - background-color: #337ab7 -} -.nav-stacked>li { - float: none -} -.nav-stacked>li+li { - margin-top: 2px; - margin-left: 0 -} -.nav-justified { - width: 100% -} -.nav-justified>li { - float: none -} -.nav-justified>li>a { - margin-bottom: 5px; - text-align: center -} -.nav-justified>.dropdown .dropdown-menu { - top: auto; - left: auto -} -@media (min-width: 768px) { - .nav-justified>li { - display: table-cell; - width: 1% - } - .nav-justified>li>a { - margin-bottom: 0 - } -} -.nav-tabs-justified { - border-bottom: 0 -} -.nav-tabs-justified>li>a { - margin-right: 0; - border-radius: 4px -} -.nav-tabs-justified>.active>a, -.nav-tabs-justified>.active>a:focus, -.nav-tabs-justified>.active>a:hover { - border: 1px solid #ddd -} -@media (min-width: 768px) { - .nav-tabs-justified>li>a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0 - } - .nav-tabs-justified>.active>a, - .nav-tabs-justified>.active>a:focus, - .nav-tabs-justified>.active>a:hover { - border-bottom-color: #fff - } -} -.tab-content>.tab-pane { - display: none -} -.tab-content>.active { - display: block -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0 -} -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px - } -} -@media (min-width: 768px) { - .navbar-header { - float: left - } -} -.navbar-collapse { - padding-right: 15px; - padding-left: 15px; - overflow-x: visible; - -webkit-overflow-scrolling: touch; - border-top: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1) -} -.navbar-collapse.in { - overflow-y: auto -} -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - -webkit-box-shadow: none; - box-shadow: none - } - .navbar-collapse.collapse { - display: block!important; - height: auto!important; - padding-bottom: 0; - overflow: visible!important - } - .navbar-collapse.in { - overflow-y: visible - } - .navbar-fixed-bottom .navbar-collapse, - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse { - padding-right: 0; - padding-left: 0 - } -} -.navbar-fixed-bottom .navbar-collapse, -.navbar-fixed-top .navbar-collapse { - max-height: 340px -} -@media (max-device-width: 480px)and (orientation: landscape) { - .navbar-fixed-bottom .navbar-collapse, - .navbar-fixed-top .navbar-collapse { - max-height: 200px - } -} -.container-fluid>.navbar-collapse, -.container-fluid>.navbar-header, -.container>.navbar-collapse, -.container>.navbar-header { - margin-right: -15px; - margin-left: -15px -} -@media (min-width: 768px) { - .container-fluid>.navbar-collapse, - .container-fluid>.navbar-header, - .container>.navbar-collapse, - .container>.navbar-header { - margin-right: 0; - margin-left: 0 - } -} -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px -} -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0 - } -} -.navbar-fixed-bottom, -.navbar-fixed-top { - position: fixed; - right: 0; - left: 0; - z-index: 1030 -} -@media (min-width: 768px) { - .navbar-fixed-bottom, - .navbar-fixed-top { - border-radius: 0 - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0 -} -.navbar-brand { - float: left; - height: 50px; - padding: 15px 15px; - font-size: 18px; - line-height: 20px -} -.navbar-brand:focus, -.navbar-brand:hover { - text-decoration: none -} -.navbar-brand>img { - display: block -} -@media (min-width: 768px) { - .navbar>.container .navbar-brand, - .navbar>.container-fluid .navbar-brand { - margin-left: -15px - } -} -.navbar-toggle { - position: relative; - float: right; - padding: 9px 10px; - margin-top: 8px; - margin-right: 15px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px -} -.navbar-toggle:focus { - outline: 0 -} -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px -} -.navbar-toggle .icon-bar+.icon-bar { - margin-top: 4px -} -@media (min-width: 768px) { - .navbar-toggle { - display: none - } -} -.navbar-nav { - margin: 7.5px -15px -} -.navbar-nav>li>a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px -} -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - -webkit-box-shadow: none; - box-shadow: none - } - .navbar-nav .open .dropdown-menu .dropdown-header, - .navbar-nav .open .dropdown-menu>li>a { - padding: 5px 15px 5px 25px - } - .navbar-nav .open .dropdown-menu>li>a { - line-height: 20px - } - .navbar-nav .open .dropdown-menu>li>a:focus, - .navbar-nav .open .dropdown-menu>li>a:hover { - background-image: none - } -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0 - } - .navbar-nav>li { - float: left - } - .navbar-nav>li>a { - padding-top: 15px; - padding-bottom: 15px - } -} -.navbar-form { - padding: 10px 15px; - margin-top: 8px; - margin-right: -15px; - margin-bottom: 8px; - margin-left: -15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1) -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle - } - .navbar-form .form-control-static { - display: inline-block - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle - } - .navbar-form .input-group .form-control, - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn { - width: auto - } - .navbar-form .input-group>.form-control { - width: 100% - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle - } - .navbar-form .checkbox, - .navbar-form .radio { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle - } - .navbar-form .checkbox label, - .navbar-form .radio label { - padding-left: 0 - } - .navbar-form .checkbox input[type=checkbox], - .navbar-form .radio input[type=radio] { - position: relative; - margin-left: 0 - } - .navbar-form .has-feedback .form-control-feedback { - top: 0 - } -} -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px - } - .navbar-form .form-group:last-child { - margin-bottom: 0 - } -} -@media (min-width: 768px) { - .navbar-form { - width: auto; - padding-top: 0; - padding-bottom: 0; - margin-right: 0; - margin-left: 0; - border: 0; - -webkit-box-shadow: none; - box-shadow: none - } -} -.navbar-nav>li>.dropdown-menu { - margin-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0 -} -.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu { - margin-bottom: 0; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px -} -.navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px -} -.navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px -} -.navbar-text { - margin-top: 15px; - margin-bottom: 15px -} -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-right: 15px; - margin-left: 15px - } -} -@media (min-width: 768px) { - .navbar-left { - float: left!important - } - .navbar-right { - float: right!important; - margin-right: -15px - } - .navbar-right~.navbar-right { - margin-right: 0 - } -} -.navbar-default { - background-color: #f8f8f8; - border-color: #e7e7e7 -} -.navbar-default .navbar-brand { - color: #777 -} -.navbar-default .navbar-brand:focus, -.navbar-default .navbar-brand:hover { - color: #5e5e5e; - background-color: transparent -} -.navbar-default .navbar-text { - color: #777 -} -.navbar-default .navbar-nav>li>a { - color: #777 -} -.navbar-default .navbar-nav>li>a:focus, -.navbar-default .navbar-nav>li>a:hover { - color: #333; - background-color: transparent -} -.navbar-default .navbar-nav>.active>a, -.navbar-default .navbar-nav>.active>a:focus, -.navbar-default .navbar-nav>.active>a:hover { - color: #555; - background-color: #e7e7e7 -} -.navbar-default .navbar-nav>.disabled>a, -.navbar-default .navbar-nav>.disabled>a:focus, -.navbar-default .navbar-nav>.disabled>a:hover { - color: #ccc; - background-color: transparent -} -.navbar-default .navbar-toggle { - border-color: #ddd -} -.navbar-default .navbar-toggle:focus, -.navbar-default .navbar-toggle:hover { - background-color: #ddd -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888 -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #e7e7e7 -} -.navbar-default .navbar-nav>.open>a, -.navbar-default .navbar-nav>.open>a:focus, -.navbar-default .navbar-nav>.open>a:hover { - color: #555; - background-color: #e7e7e7 -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu>li>a { - color: #777 - } - .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus, - .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover { - color: #333; - background-color: transparent - } - .navbar-default .navbar-nav .open .dropdown-menu>.active>a, - .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus, - .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover { - color: #555; - background-color: #e7e7e7 - } - .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a, - .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus, - .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover { - color: #ccc; - background-color: transparent - } -} -.navbar-default .navbar-link { - color: #777 -} -.navbar-default .navbar-link:hover { - color: #333 -} -.navbar-default .btn-link { - color: #777 -} -.navbar-default .btn-link:focus, -.navbar-default .btn-link:hover { - color: #333 -} -.navbar-default .btn-link[disabled]:focus, -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:focus, -fieldset[disabled] .navbar-default .btn-link:hover { - color: #ccc -} -.navbar-inverse { - background-color: #222; - border-color: #080808 -} -.navbar-inverse .navbar-brand { - color: #9d9d9d -} -.navbar-inverse .navbar-brand:focus, -.navbar-inverse .navbar-brand:hover { - color: #fff; - background-color: transparent -} -.navbar-inverse .navbar-text { - color: #9d9d9d -} -.navbar-inverse .navbar-nav>li>a { - color: #9d9d9d -} -.navbar-inverse .navbar-nav>li>a:focus, -.navbar-inverse .navbar-nav>li>a:hover { - color: #fff; - background-color: transparent -} -.navbar-inverse .navbar-nav>.active>a, -.navbar-inverse .navbar-nav>.active>a:focus, -.navbar-inverse .navbar-nav>.active>a:hover { - color: #fff; - background-color: #080808 -} -.navbar-inverse .navbar-nav>.disabled>a, -.navbar-inverse .navbar-nav>.disabled>a:focus, -.navbar-inverse .navbar-nav>.disabled>a:hover { - color: #444; - background-color: transparent -} -.navbar-inverse .navbar-toggle { - border-color: #333 -} -.navbar-inverse .navbar-toggle:focus, -.navbar-inverse .navbar-toggle:hover { - background-color: #333 -} -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #fff -} -.navbar-inverse .navbar-collapse, -.navbar-inverse .navbar-form { - border-color: #101010 -} -.navbar-inverse .navbar-nav>.open>a, -.navbar-inverse .navbar-nav>.open>a:focus, -.navbar-inverse .navbar-nav>.open>a:hover { - color: #fff; - background-color: #080808 -} -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header { - border-color: #080808 - } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #080808 - } - .navbar-inverse .navbar-nav .open .dropdown-menu>li>a { - color: #9d9d9d - } - .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus, - .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover { - color: #fff; - background-color: transparent - } - .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a, - .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus, - .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover { - color: #fff; - background-color: #080808 - } - .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a, - .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus, - .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover { - color: #444; - background-color: transparent - } -} -.navbar-inverse .navbar-link { - color: #9d9d9d -} -.navbar-inverse .navbar-link:hover { - color: #fff -} -.navbar-inverse .btn-link { - color: #9d9d9d -} -.navbar-inverse .btn-link:focus, -.navbar-inverse .btn-link:hover { - color: #fff -} -.navbar-inverse .btn-link[disabled]:focus, -.navbar-inverse .btn-link[disabled]:hover, -fieldset[disabled] .navbar-inverse .btn-link:focus, -fieldset[disabled] .navbar-inverse .btn-link:hover { - color: #444 -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px -} -.breadcrumb>li { - display: inline-block -} -.breadcrumb>li+li:before { - padding: 0 5px; - color: #ccc; - content: "/\00a0" -} -.breadcrumb>.active { - color: #777 -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px -} -.pagination>li { - display: inline -} -.pagination>li>a, -.pagination>li>span { - position: relative; - float: left; - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #337ab7; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd -} -.pagination>li:first-child>a, -.pagination>li:first-child>span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px -} -.pagination>li:last-child>a, -.pagination>li:last-child>span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px -} -.pagination>li>a:focus, -.pagination>li>a:hover, -.pagination>li>span:focus, -.pagination>li>span:hover { - color: #23527c; - background-color: #eee; - border-color: #ddd -} -.pagination>.active>a, -.pagination>.active>a:focus, -.pagination>.active>a:hover, -.pagination>.active>span, -.pagination>.active>span:focus, -.pagination>.active>span:hover { - z-index: 2; - color: #fff; - cursor: default; - background-color: #337ab7; - border-color: #337ab7 -} -.pagination>.disabled>a, -.pagination>.disabled>a:focus, -.pagination>.disabled>a:hover, -.pagination>.disabled>span, -.pagination>.disabled>span:focus, -.pagination>.disabled>span:hover { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd -} -.pagination-lg>li>a, -.pagination-lg>li>span { - padding: 10px 16px; - font-size: 18px -} -.pagination-lg>li:first-child>a, -.pagination-lg>li:first-child>span { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px -} -.pagination-lg>li:last-child>a, -.pagination-lg>li:last-child>span { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px -} -.pagination-sm>li>a, -.pagination-sm>li>span { - padding: 5px 10px; - font-size: 12px -} -.pagination-sm>li:first-child>a, -.pagination-sm>li:first-child>span { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px -} -.pagination-sm>li:last-child>a, -.pagination-sm>li:last-child>span { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px -} -.pager { - padding-left: 0; - margin: 20px 0; - text-align: center; - list-style: none -} -.pager li { - display: inline -} -.pager li>a, -.pager li>span { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px -} -.pager li>a:focus, -.pager li>a:hover { - text-decoration: none; - background-color: #eee -} -.pager .next>a, -.pager .next>span { - float: right -} -.pager .previous>a, -.pager .previous>span { - float: left -} -.pager .disabled>a, -.pager .disabled>a:focus, -.pager .disabled>a:hover, -.pager .disabled>span { - color: #777; - cursor: not-allowed; - background-color: #fff -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: 700; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em -} -a.label:focus, -a.label:hover { - color: #fff; - text-decoration: none; - cursor: pointer -} -.label:empty { - display: none -} -.btn .label { - position: relative; - top: -1px -} -.label-default { - background-color: #777 -} -.label-default[href]:focus, -.label-default[href]:hover { - background-color: #5e5e5e -} -.label-primary { - background-color: #337ab7 -} -.label-primary[href]:focus, -.label-primary[href]:hover { - background-color: #286090 -} -.label-success { - background-color: #5cb85c -} -.label-success[href]:focus, -.label-success[href]:hover { - background-color: #449d44 -} -.label-info { - background-color: #5bc0de -} -.label-info[href]:focus, -.label-info[href]:hover { - background-color: #31b0d5 -} -.label-warning { - background-color: #f0ad4e -} -.label-warning[href]:focus, -.label-warning[href]:hover { - background-color: #ec971f -} -.label-danger { - background-color: #d9534f -} -.label-danger[href]:focus, -.label-danger[href]:hover { - background-color: #c9302c -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: 700; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #777; - border-radius: 10px -} -.badge:empty { - display: none -} -.btn .badge { - position: relative; - top: -1px -} -.btn-group-xs>.btn .badge, -.btn-xs .badge { - top: 0; - padding: 1px 5px -} -a.badge:focus, -a.badge:hover { - color: #fff; - text-decoration: none; - cursor: pointer -} -.list-group-item.active>.badge, -.nav-pills>.active>a>.badge { - color: #337ab7; - background-color: #fff -} -.list-group-item>.badge { - float: right -} -.list-group-item>.badge+.badge { - margin-right: 5px -} -.nav-pills>li>a>.badge { - margin-left: 3px -} -.jumbotron { - padding: 30px 15px; - margin-bottom: 30px; - color: inherit; - background-color: #eee -} -.jumbotron .h1, -.jumbotron h1 { - color: inherit -} -.jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200 -} -.jumbotron>hr { - border-top-color: #d5d5d5 -} -.container .jumbotron, -.container-fluid .jumbotron { - border-radius: 6px -} -.jumbotron .container { - max-width: 100% -} -@media screen and (min-width: 768px) { - .jumbotron { - padding: 48px 0 - } - .container .jumbotron, - .container-fluid .jumbotron { - padding-right: 60px; - padding-left: 60px - } - .jumbotron .h1, - .jumbotron h1 { - font-size: 63px - } -} -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: border .2s ease-in-out; - -o-transition: border .2s ease-in-out; - transition: border .2s ease-in-out -} -.thumbnail a>img, -.thumbnail>img { - margin-right: auto; - margin-left: auto -} -a.thumbnail.active, -a.thumbnail:focus, -a.thumbnail:hover { - border-color: #337ab7 -} -.thumbnail .caption { - padding: 9px; - color: #333 -} -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px -} -.alert h4 { - margin-top: 0; - color: inherit -} -.alert .alert-link { - font-weight: 700 -} -.alert>p, -.alert>ul { - margin-bottom: 0 -} -.alert>p+p { - margin-top: 5px -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit -} -.alert-success { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6 -} -.alert-success hr { - border-top-color: #c9e2b3 -} -.alert-success .alert-link { - color: #2b542c -} -.alert-info { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1 -} -.alert-info hr { - border-top-color: #a6e1ec -} -.alert-info .alert-link { - color: #245269 -} -.alert-warning { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc -} -.alert-warning hr { - border-top-color: #f7e1b5 -} -.alert-warning .alert-link { - color: #66512c -} -.alert-danger { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1 -} -.alert-danger hr { - border-top-color: #e4b9c0 -} -.alert-danger .alert-link { - color: #843534 -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0 - } - to { - background-position: 0 0 - } -} -@-o-keyframes progress-bar-stripes { - from { - background-position: 40px 0 - } - to { - background-position: 0 0 - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0 - } - to { - background-position: 0 0 - } -} -.progress { - height: 20px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1) -} -.progress-bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #fff; - text-align: center; - background-color: #337ab7; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - -webkit-transition: width .6s ease; - -o-transition: width .6s ease; - transition: width .6s ease -} -.progress-bar-striped, -.progress-striped .progress-bar { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - background-size: 40px 40px -} -.progress-bar.active, -.progress.active .progress-bar { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite -} -.progress-bar-success { - background-color: #5cb85c -} -.progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent) -} -.progress-bar-info { - background-color: #5bc0de -} -.progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent) -} -.progress-bar-warning { - background-color: #f0ad4e -} -.progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent) -} -.progress-bar-danger { - background-color: #d9534f -} -.progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent) -} -.media { - margin-top: 15px -} -.media:first-child { - margin-top: 0 -} -.media, -.media-body { - overflow: hidden; - zoom: 1 -} -.media-body { - width: 10000px -} -.media-object { - display: block -} -.media-right, -.media>.pull-right { - padding-left: 10px -} -.media-left, -.media>.pull-left { - padding-right: 10px -} -.media-body, -.media-left, -.media-right { - display: table-cell; - vertical-align: top -} -.media-middle { - vertical-align: middle -} -.media-bottom { - vertical-align: bottom -} -.media-heading { - margin-top: 0; - margin-bottom: 5px -} -.media-list { - padding-left: 0; - list-style: none -} -.list-group { - padding-left: 0; - margin-bottom: 20px -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid #ddd -} -.list-group-item:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px -} -a.list-group-item { - color: #555 -} -a.list-group-item .list-group-item-heading { - color: #333 -} -a.list-group-item:focus, -a.list-group-item:hover { - color: #555; - text-decoration: none; - background-color: #f5f5f5 -} -.list-group-item.disabled, -.list-group-item.disabled:focus, -.list-group-item.disabled:hover { - color: #777; - cursor: not-allowed; - background-color: #eee -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading { - color: inherit -} -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text { - color: #777 -} -.list-group-item.active, -.list-group-item.active:focus, -.list-group-item.active:hover { - z-index: 2; - color: #fff; - background-color: #337ab7; - border-color: #337ab7 -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active .list-group-item-heading>.small, -.list-group-item.active .list-group-item-heading>small, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading>.small, -.list-group-item.active:focus .list-group-item-heading>small, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading>.small, -.list-group-item.active:hover .list-group-item-heading>small { - color: inherit -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:focus .list-group-item-text, -.list-group-item.active:hover .list-group-item-text { - color: #c7ddef -} -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8 -} -a.list-group-item-success { - color: #3c763d -} -a.list-group-item-success .list-group-item-heading { - color: inherit -} -a.list-group-item-success:focus, -a.list-group-item-success:hover { - color: #3c763d; - background-color: #d0e9c6 -} -a.list-group-item-success.active, -a.list-group-item-success.active:focus, -a.list-group-item-success.active:hover { - color: #fff; - background-color: #3c763d; - border-color: #3c763d -} -.list-group-item-info { - color: #31708f; - background-color: #d9edf7 -} -a.list-group-item-info { - color: #31708f -} -a.list-group-item-info .list-group-item-heading { - color: inherit -} -a.list-group-item-info:focus, -a.list-group-item-info:hover { - color: #31708f; - background-color: #c4e3f3 -} -a.list-group-item-info.active, -a.list-group-item-info.active:focus, -a.list-group-item-info.active:hover { - color: #fff; - background-color: #31708f; - border-color: #31708f -} -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3 -} -a.list-group-item-warning { - color: #8a6d3b -} -a.list-group-item-warning .list-group-item-heading { - color: inherit -} -a.list-group-item-warning:focus, -a.list-group-item-warning:hover { - color: #8a6d3b; - background-color: #faf2cc -} -a.list-group-item-warning.active, -a.list-group-item-warning.active:focus, -a.list-group-item-warning.active:hover { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b -} -.list-group-item-danger { - color: #a94442; - background-color: #f2dede -} -a.list-group-item-danger { - color: #a94442 -} -a.list-group-item-danger .list-group-item-heading { - color: inherit -} -a.list-group-item-danger:focus, -a.list-group-item-danger:hover { - color: #a94442; - background-color: #ebcccc -} -a.list-group-item-danger.active, -a.list-group-item-danger.active:focus, -a.list-group-item-danger.active:hover { - color: #fff; - background-color: #a94442; - border-color: #a94442 -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3 -} -.panel { - margin-bottom: 20px; - background-color: #fff; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: 0 1px 1px rgba(0, 0, 0, .05) -} -.panel-body { - padding: 15px -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-left-radius: 3px; - border-top-right-radius: 3px -} -.panel-heading>.dropdown .dropdown-toggle { - color: inherit -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit -} -.panel-title>.small, -.panel-title>.small>a, -.panel-title>a, -.panel-title>small, -.panel-title>small>a { - color: inherit -} -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px -} -.panel>.list-group, -.panel>.panel-collapse>.list-group { - margin-bottom: 0 -} -.panel>.list-group .list-group-item, -.panel>.panel-collapse>.list-group .list-group-item { - border-width: 1px 0; - border-radius: 0 -} -.panel>.list-group:first-child .list-group-item:first-child, -.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-left-radius: 3px; - border-top-right-radius: 3px -} -.panel>.list-group:last-child .list-group-item:last-child, -.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px -} -.panel-heading+.list-group .list-group-item:first-child { - border-top-width: 0 -} -.list-group+.panel-footer { - border-top-width: 0 -} -.panel>.panel-collapse>.table, -.panel>.table, -.panel>.table-responsive>.table { - margin-bottom: 0 -} -.panel>.panel-collapse>.table caption, -.panel>.table caption, -.panel>.table-responsive>.table caption { - padding-right: 15px; - padding-left: 15px -} -.panel>.table-responsive:first-child>.table:first-child, -.panel>.table:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px -} -.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child, -.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child, -.panel>.table:first-child>tbody:first-child>tr:first-child, -.panel>.table:first-child>thead:first-child>tr:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px -} -.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child, -.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child, -.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child, -.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child, -.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child, -.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child, -.panel>.table:first-child>thead:first-child>tr:first-child td:first-child, -.panel>.table:first-child>thead:first-child>tr:first-child th:first-child { - border-top-left-radius: 3px -} -.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child, -.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child, -.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child, -.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child, -.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child, -.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child, -.panel>.table:first-child>thead:first-child>tr:first-child td:last-child, -.panel>.table:first-child>thead:first-child>tr:first-child th:last-child { - border-top-right-radius: 3px -} -.panel>.table-responsive:last-child>.table:last-child, -.panel>.table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px -} -.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child, -.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child, -.panel>.table:last-child>tbody:last-child>tr:last-child, -.panel>.table:last-child>tfoot:last-child>tr:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px -} -.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child, -.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child, -.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child, -.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child, -.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child, -.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child, -.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child, -.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child { - border-bottom-left-radius: 3px -} -.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child, -.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child, -.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child, -.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child, -.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child, -.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child, -.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child, -.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child { - border-bottom-right-radius: 3px -} -.panel>.panel-body+.table, -.panel>.panel-body+.table-responsive, -.panel>.table+.panel-body, -.panel>.table-responsive+.panel-body { - border-top: 1px solid #ddd -} -.panel>.table>tbody:first-child>tr:first-child td, -.panel>.table>tbody:first-child>tr:first-child th { - border-top: 0 -} -.panel>.table-bordered, -.panel>.table-responsive>.table-bordered { - border: 0 -} -.panel>.table-bordered>tbody>tr>td:first-child, -.panel>.table-bordered>tbody>tr>th:first-child, -.panel>.table-bordered>tfoot>tr>td:first-child, -.panel>.table-bordered>tfoot>tr>th:first-child, -.panel>.table-bordered>thead>tr>td:first-child, -.panel>.table-bordered>thead>tr>th:first-child, -.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child, -.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child, -.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child, -.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child, -.panel>.table-responsive>.table-bordered>thead>tr>td:first-child, -.panel>.table-responsive>.table-bordered>thead>tr>th:first-child { - border-left: 0 -} -.panel>.table-bordered>tbody>tr>td:last-child, -.panel>.table-bordered>tbody>tr>th:last-child, -.panel>.table-bordered>tfoot>tr>td:last-child, -.panel>.table-bordered>tfoot>tr>th:last-child, -.panel>.table-bordered>thead>tr>td:last-child, -.panel>.table-bordered>thead>tr>th:last-child, -.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child, -.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child, -.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child, -.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child, -.panel>.table-responsive>.table-bordered>thead>tr>td:last-child, -.panel>.table-responsive>.table-bordered>thead>tr>th:last-child { - border-right: 0 -} -.panel>.table-bordered>tbody>tr:first-child>td, -.panel>.table-bordered>tbody>tr:first-child>th, -.panel>.table-bordered>thead>tr:first-child>td, -.panel>.table-bordered>thead>tr:first-child>th, -.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td, -.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th, -.panel>.table-responsive>.table-bordered>thead>tr:first-child>td, -.panel>.table-responsive>.table-bordered>thead>tr:first-child>th { - border-bottom: 0 -} -.panel>.table-bordered>tbody>tr:last-child>td, -.panel>.table-bordered>tbody>tr:last-child>th, -.panel>.table-bordered>tfoot>tr:last-child>td, -.panel>.table-bordered>tfoot>tr:last-child>th, -.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td, -.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th, -.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td, -.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th { - border-bottom: 0 -} -.panel>.table-responsive { - margin-bottom: 0; - border: 0 -} -.panel-group { - margin-bottom: 20px -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px -} -.panel-group .panel+.panel { - margin-top: 5px -} -.panel-group .panel-heading { - border-bottom: 0 -} -.panel-group .panel-heading+.panel-collapse>.list-group, -.panel-group .panel-heading+.panel-collapse>.panel-body { - border-top: 1px solid #ddd -} -.panel-group .panel-footer { - border-top: 0 -} -.panel-group .panel-footer+.panel-collapse .panel-body { - border-bottom: 1px solid #ddd -} -.panel-default { - border-color: #ddd -} -.panel-default>.panel-heading { - color: #333; - background-color: #f5f5f5; - border-color: #ddd -} -.panel-default>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #ddd -} -.panel-default>.panel-heading .badge { - color: #f5f5f5; - background-color: #333 -} -.panel-default>.panel-footer+.panel-collapse>.panel-body { - border-bottom-color: #ddd -} -.panel-primary { - border-color: #337ab7 -} -.panel-primary>.panel-heading { - color: #fff; - background-color: #337ab7; - border-color: #337ab7 -} -.panel-primary>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #337ab7 -} -.panel-primary>.panel-heading .badge { - color: #337ab7; - background-color: #fff -} -.panel-primary>.panel-footer+.panel-collapse>.panel-body { - border-bottom-color: #337ab7 -} -.panel-success { - border-color: #d6e9c6 -} -.panel-success>.panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6 -} -.panel-success>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #d6e9c6 -} -.panel-success>.panel-heading .badge { - color: #dff0d8; - background-color: #3c763d -} -.panel-success>.panel-footer+.panel-collapse>.panel-body { - border-bottom-color: #d6e9c6 -} -.panel-info { - border-color: #bce8f1 -} -.panel-info>.panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1 -} -.panel-info>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #bce8f1 -} -.panel-info>.panel-heading .badge { - color: #d9edf7; - background-color: #31708f -} -.panel-info>.panel-footer+.panel-collapse>.panel-body { - border-bottom-color: #bce8f1 -} -.panel-warning { - border-color: #faebcc -} -.panel-warning>.panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc -} -.panel-warning>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #faebcc -} -.panel-warning>.panel-heading .badge { - color: #fcf8e3; - background-color: #8a6d3b -} -.panel-warning>.panel-footer+.panel-collapse>.panel-body { - border-bottom-color: #faebcc -} -.panel-danger { - border-color: #ebccd1 -} -.panel-danger>.panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1 -} -.panel-danger>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #ebccd1 -} -.panel-danger>.panel-heading .badge { - color: #f2dede; - background-color: #a94442 -} -.panel-danger>.panel-footer+.panel-collapse>.panel-body { - border-bottom-color: #ebccd1 -} -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden -} -.embed-responsive .embed-responsive-item, -.embed-responsive embed, -.embed-responsive iframe, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0 -} -.embed-responsive-16by9 { - padding-bottom: 56.25% -} -.embed-responsive-4by3 { - padding-bottom: 75% -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05) -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, .15) -} -.well-lg { - padding: 24px; - border-radius: 6px -} -.well-sm { - padding: 9px; - border-radius: 3px -} -.close { - float: right; - font-size: 21px; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - filter: alpha(opacity=20); - opacity: .2 -} -.close:focus, -.close:hover { - color: #000; - text-decoration: none; - cursor: pointer; - filter: alpha(opacity=50); - opacity: .5 -} -button.close { - -webkit-appearance: none; - padding: 0; - cursor: pointer; - background: 0 0; - border: 0 -} -.modal-open { - overflow: hidden -} -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - -webkit-overflow-scrolling: touch; - outline: 0 -} -.modal.fade .modal-dialog { - -webkit-transition: -webkit-transform .3s ease-out; - -o-transition: -o-transform .3s ease-out; - transition: transform .3s ease-out; - -webkit-transform: translate(0, -25%); - -ms-transform: translate(0, -25%); - -o-transform: translate(0, -25%); - transform: translate(0, -25%) -} -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - -o-transform: translate(0, 0); - transform: translate(0, 0) -} -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto -} -.modal-dialog { - position: relative; - width: auto; - margin: 10px -} -.modal-content { - position: relative; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - outline: 0; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); - box-shadow: 0 3px 9px rgba(0, 0, 0, .5) -} -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000 -} -.modal-backdrop.fade { - filter: alpha(opacity=0); - opacity: 0 -} -.modal-backdrop.in { - filter: alpha(opacity=50); - opacity: .5 -} -.modal-header { - min-height: 16.43px; - padding: 15px; - border-bottom: 1px solid #e5e5e5 -} -.modal-header .close { - margin-top: -2px -} -.modal-title { - margin: 0; - line-height: 1.42857143 -} -.modal-body { - position: relative; - padding: 15px -} -.modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #e5e5e5 -} -.modal-footer .btn+.btn { - margin-bottom: 0; - margin-left: 5px -} -.modal-footer .btn-group .btn+.btn { - margin-left: -1px -} -.modal-footer .btn-block+.btn-block { - margin-left: 0 -} -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll -} -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - box-shadow: 0 5px 15px rgba(0, 0, 0, .5) - } - .modal-sm { - width: 300px - } -} -@media (min-width: 992px) { - .modal-lg { - width: 900px - } -} -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 12px; - font-weight: 400; - line-height: 1.4; - filter: alpha(opacity=0); - opacity: 0 -} -.tooltip.in { - filter: alpha(opacity=90); - opacity: .9 -} -.tooltip.top { - padding: 5px 0; - margin-top: -3px -} -.tooltip.right { - padding: 0 5px; - margin-left: 3px -} -.tooltip.bottom { - padding: 5px 0; - margin-top: 3px -} -.tooltip.left { - padding: 0 5px; - margin-left: -3px -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - text-decoration: none; - background-color: #000; - border-radius: 4px -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000 -} -.tooltip.top-left .tooltip-arrow { - right: 5px; - bottom: 0; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000 -} -.tooltip.top-right .tooltip-arrow { - bottom: 0; - left: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000 -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000 -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000 -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000 -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - right: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000 -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - left: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000 -} -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - font-weight: 400; - line-height: 1.42857143; - text-align: left; - white-space: normal; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - box-shadow: 0 5px 10px rgba(0, 0, 0, .2) -} -.popover.top { - margin-top: -10px -} -.popover.right { - margin-left: 10px -} -.popover.bottom { - margin-top: 10px -} -.popover.left { - margin-left: -10px -} -.popover-title { - padding: 8px 14px; - margin: 0; - font-size: 14px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0 -} -.popover-content { - padding: 9px 14px -} -.popover>.arrow, -.popover>.arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid -} -.popover>.arrow { - border-width: 11px -} -.popover>.arrow:after { - content: ""; - border-width: 10px -} -.popover.top>.arrow { - bottom: -11px; - left: 50%; - margin-left: -11px; - border-top-color: #999; - border-top-color: rgba(0, 0, 0, .25); - border-bottom-width: 0 -} -.popover.top>.arrow:after { - bottom: 1px; - margin-left: -10px; - content: " "; - border-top-color: #fff; - border-bottom-width: 0 -} -.popover.right>.arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-right-color: #999; - border-right-color: rgba(0, 0, 0, .25); - border-left-width: 0 -} -.popover.right>.arrow:after { - bottom: -10px; - left: 1px; - content: " "; - border-right-color: #fff; - border-left-width: 0 -} -.popover.bottom>.arrow { - top: -11px; - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999; - border-bottom-color: rgba(0, 0, 0, .25) -} -.popover.bottom>.arrow:after { - top: 1px; - margin-left: -10px; - content: " "; - border-top-width: 0; - border-bottom-color: #fff -} -.popover.left>.arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999; - border-left-color: rgba(0, 0, 0, .25) -} -.popover.left>.arrow:after { - right: 1px; - bottom: -10px; - content: " "; - border-right-width: 0; - border-left-color: #fff -} -.carousel { - position: relative -} -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden -} -.carousel-inner>.item { - position: relative; - display: none; - -webkit-transition: .6s ease-in-out left; - -o-transition: .6s ease-in-out left; - transition: .6s ease-in-out left -} -.carousel-inner>.item>a>img, -.carousel-inner>.item>img { - line-height: 1 -} -@media all and (transform-3d), -(-webkit-transform-3d) { - .carousel-inner>.item { - -webkit-transition: -webkit-transform .6s ease-in-out; - -o-transition: -o-transform .6s ease-in-out; - transition: transform .6s ease-in-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000; - perspective: 1000 - } - .carousel-inner>.item.active.right, - .carousel-inner>.item.next { - left: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) - } - .carousel-inner>.item.active.left, - .carousel-inner>.item.prev { - left: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) - } - .carousel-inner>.item.active, - .carousel-inner>.item.next.left, - .carousel-inner>.item.prev.right { - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) - } -} -.carousel-inner>.active, -.carousel-inner>.next, -.carousel-inner>.prev { - display: block -} -.carousel-inner>.active { - left: 0 -} -.carousel-inner>.next, -.carousel-inner>.prev { - position: absolute; - top: 0; - width: 100% -} -.carousel-inner>.next { - left: 100% -} -.carousel-inner>.prev { - left: -100% -} -.carousel-inner>.next.left, -.carousel-inner>.prev.right { - left: 0 -} -.carousel-inner>.active.left { - left: -100% -} -.carousel-inner>.active.right { - left: 100% -} -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - font-size: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); - filter: alpha(opacity=50); - opacity: .5 -} -.carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001) 100%); - filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); - background-repeat: repeat-x -} -.carousel-control.right { - right: 0; - left: auto; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5) 100%); - filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); - background-repeat: repeat-x -} -.carousel-control:focus, -.carousel-control:hover { - color: #fff; - text-decoration: none; - filter: alpha(opacity=90); - outline: 0; - opacity: .9 -} -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right, -.carousel-control .icon-next, -.carousel-control .icon-prev { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block -} -.carousel-control .glyphicon-chevron-left, -.carousel-control .icon-prev { - left: 50%; - margin-left: -10px -} -.carousel-control .glyphicon-chevron-right, -.carousel-control .icon-next { - right: 50%; - margin-right: -10px -} -.carousel-control .icon-next, -.carousel-control .icon-prev { - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; - line-height: 1 -} -.carousel-control .icon-prev:before { - content: '\2039' -} -.carousel-control .icon-next:before { - content: '\203a' -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); - border: 1px solid #fff; - border-radius: 10px -} -.carousel-indicators .active { - width: 12px; - height: 12px; - margin: 0; - background-color: #fff -} -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6) -} -.carousel-caption .btn { - text-shadow: none -} -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next, - .carousel-control .icon-prev { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px - } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -15px - } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -15px - } - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px - } - .carousel-indicators { - bottom: 20px - } -} -.btn-group-vertical>.btn-group:after, -.btn-group-vertical>.btn-group:before, -.btn-toolbar:after, -.btn-toolbar:before, -.clearfix:after, -.clearfix:before, -.container-fluid:after, -.container-fluid:before, -.container:after, -.container:before, -.dl-horizontal dd:after, -.dl-horizontal dd:before, -.form-horizontal .form-group:after, -.form-horizontal .form-group:before, -.modal-footer:after, -.modal-footer:before, -.nav:after, -.nav:before, -.navbar-collapse:after, -.navbar-collapse:before, -.navbar-header:after, -.navbar-header:before, -.navbar:after, -.navbar:before, -.pager:after, -.pager:before, -.panel-body:after, -.panel-body:before, -.row:after, -.row:before { - display: table; - content: " " -} -.btn-group-vertical>.btn-group:after, -.btn-toolbar:after, -.clearfix:after, -.container-fluid:after, -.container:after, -.dl-horizontal dd:after, -.form-horizontal .form-group:after, -.modal-footer:after, -.nav:after, -.navbar-collapse:after, -.navbar-header:after, -.navbar:after, -.pager:after, -.panel-body:after, -.row:after { - clear: both -} -.center-block { - display: block; - margin-right: auto; - margin-left: auto -} -.pull-right { - float: right!important -} -.pull-left { - float: left!important -} -.hide { - display: none!important -} -.show { - display: block!important -} -.invisible { - visibility: hidden -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0 -} -.hidden { - display: none!important -} -.affix { - position: fixed -} -@-ms-viewport { - width: device-width -} -.visible-lg, -.visible-md, -.visible-sm, -.visible-xs { - display: none!important -} -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block { - display: none!important -} -@media (max-width: 767px) { - .visible-xs { - display: block!important - } - table.visible-xs { - display: table - } - tr.visible-xs { - display: table-row!important - } - td.visible-xs, - th.visible-xs { - display: table-cell!important - } -} -@media (max-width: 767px) { - .visible-xs-block { - display: block!important - } -} -@media (max-width: 767px) { - .visible-xs-inline { - display: inline!important - } -} -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block!important - } -} -@media (min-width: 768px)and (max-width: 991px) { - .visible-sm { - display: block!important - } - table.visible-sm { - display: table - } - tr.visible-sm { - display: table-row!important - } - td.visible-sm, - th.visible-sm { - display: table-cell!important - } -} -@media (min-width: 768px)and (max-width: 991px) { - .visible-sm-block { - display: block!important - } -} -@media (min-width: 768px)and (max-width: 991px) { - .visible-sm-inline { - display: inline!important - } -} -@media (min-width: 768px)and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block!important - } -} -@media (min-width: 992px)and (max-width: 1199px) { - .visible-md { - display: block!important - } - table.visible-md { - display: table - } - tr.visible-md { - display: table-row!important - } - td.visible-md, - th.visible-md { - display: table-cell!important - } -} -@media (min-width: 992px)and (max-width: 1199px) { - .visible-md-block { - display: block!important - } -} -@media (min-width: 992px)and (max-width: 1199px) { - .visible-md-inline { - display: inline!important - } -} -@media (min-width: 992px)and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block!important - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block!important - } - table.visible-lg { - display: table - } - tr.visible-lg { - display: table-row!important - } - td.visible-lg, - th.visible-lg { - display: table-cell!important - } -} -@media (min-width: 1200px) { - .visible-lg-block { - display: block!important - } -} -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline!important - } -} -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block!important - } -} -@media (max-width: 767px) { - .hidden-xs { - display: none!important - } -} -@media (min-width: 768px)and (max-width: 991px) { - .hidden-sm { - display: none!important - } -} -@media (min-width: 992px)and (max-width: 1199px) { - .hidden-md { - display: none!important - } -} -@media (min-width: 1200px) { - .hidden-lg { - display: none!important - } -} -.visible-print { - display: none!important -} -@media print { - .visible-print { - display: block!important - } - table.visible-print { - display: table - } - tr.visible-print { - display: table-row!important - } - td.visible-print, - th.visible-print { - display: table-cell!important - } -} -.visible-print-block { - display: none!important -} -@media print { - .visible-print-block { - display: block!important - } -} -.visible-print-inline { - display: none!important -} -@media print { - .visible-print-inline { - display: inline!important - } -} -.visible-print-inline-block { - display: none!important -} -@media print { - .visible-print-inline-block { - display: inline-block!important - } -} -@media print { - .hidden-print { - display: none!important - } -} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/custom-theme.css b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/custom-theme.css deleted file mode 100644 index a4256032..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/custom-theme.css +++ /dev/null @@ -1,74 +0,0 @@ -.navbar-default { - background-color: #2a2a2a; - border-color:#2a2a2a ; -} -.navbar-nav{color: #a5a5a5; font-weight:300; padding-top: 5px; padding-left:0px;} -.form-control {background-color: #121212; border: 0px;} -.btn-default {background-color: #121212; border: 1px solid #121212;} -.container { padding:0px;} -.container-fluid{padding-left:0px;} -.navbar-default .navbar-nav > li > a {color: #a5a5a5; font-size: 14px; font-weight: 500;} -.navbar-form .input-group > .form-control { height: 39px; margin-top: 0; } -.input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { height: 39px;} -.container-bg{background-image: url("../images/content-bg.png"); background-repeat: no-repeat; background-position: top left; min-height: 550px; overflow: hidden; padding: 0 15px;} -.navbar-default .navbar-nav > li > a :focus,.navbar-default .navbar-nav>li>a:hover{color:#ccc;background-color:transparent;} -.btn-default.active, -.btn-default.focus, -.btn-default:active, -.btn-default:focus, -.btn-default:hover, -.open>.dropdown-toggle.btn-default { - color: #ccc; - background-color: #121212; - border-color: #121212; -} -input { - background-color: #333; - border: 1px solid #2a2a2a; - border-radius: 3px; - height: 45px; - margin: 5px 0; - width: 100%; - padding-left: 10px; -} -input[type="checkbox"], input[type="radio"] { - line-height: normal; - margin-top: -3px; - width: 30px; -} -.navbar-default .navbar-nav>li>a:focus, -.navbar-default .navbar-nav>li>a:hover { - color: #747474; - outline: 0; -} -.navbar { - margin-bottom: 5px; -} -.navbar-brand { - padding: 15px 10px; -} -.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:focus, .navbar-default .navbar-nav > .open > a:hover { - color: #fff; - background-color:#202020 ; -} -.dropdown-menu { - background-clip: padding-box; - background-color: #202020; - border: 0px solid rgba(0, 0, 0, 0.15); - border-radius: 0; - box-shadow: none; - display: none; - float: left; - font-size: 14px; - left: 0; - color: #a5a5a5; -} -.dropdown-menu > li > a { - color: #a5a5a5; -} -.dropdown-menu>li>a:focus, -.dropdown-menu>li>a:hover { - color: #fff; - text-decoration: none; - background-color: #313131; -} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/fontwso2-extend.css b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/fontwso2-extend.css deleted file mode 100644 index 032768d9..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/fontwso2-extend.css +++ /dev/null @@ -1,177 +0,0 @@ -.fw, [class^="fw-"], [class*=" fw-"] { - display: inline-block; - font: normal normal normal 14px/1 fontwso2; - font-size: inherit; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - vertical-align: middle; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - text-rendering: auto; - transform: translate(0, 0); -} - -/* icon options */ -.fw-lg { - font-size: 1.33333333em; - line-height: 0.75em; - vertical-align: -15%; -} -.fw-1-5x { - font-size: 1.5em; -} -.fw-2x { - font-size: 2em; -} -.fw-3x { - font-size: 3em; -} -.fw-4x { - font-size: 4em; -} -.fw-5x { - font-size: 5em; -} -.fw-fixedwidth { - width: 1.28571429em; - text-align: center; -} -.fw-ul { - padding-left: 0; - margin-left: 2.14285714em; - list-style-type: none; -} -.fw-ul > li { - position: relative; -} -.fw-li { - position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: 0.14285714em; - text-align: center; -} -.fw-li.fw-lg { - left: -1.85714286em; -} -.fw-border { - padding: .2em .25em .15em; - border: solid 0.08em #eeeeee; - border-radius: .1em; -} -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.fw.pull-left { - margin-right: .3em; -} -.fw.pull-right { - margin-left: .3em; -} -.fw-spin { - -webkit-animation: wso2icon-spin 2s infinite linear; - animation: wso2icon-spin 2s infinite linear; -} -.fw-pulse { - -webkit-animation: wso2icon-spin 1s infinite steps(8); - animation: wso2icon-spin 1s infinite steps(8); -} -@-webkit-keyframes wso2icon-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes wso2icon-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fw-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.fw-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.fw-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.fw-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.fw-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -:root .fw-rotate-90, -:root .fw-rotate-180, -:root .fw-rotate-270, -:root .fw-flip-horizontal, -:root .fw-flip-vertical { - filter: none; -} -.fw-stack, .fw-stack-md { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 1.8em; - vertical-align: middle; - text-align: center; -} -.fw-stack-md { - width: 1em; -} -.fw-stack-1x, -.fw-stack-2x, -.fw-stack-1-5x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} -.fw-stack-1x { - line-height: inherit; - font-size: 0.9em; - } -.fw-stack-1-5x { - line-height: inherit; - font-size: 1.2em; -} -.fw-stack-2x { - font-size: 1.8em; -} -.fw-inverse { - color: #ffffff; -} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/fontwso2.css b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/fontwso2.css deleted file mode 100644 index 463b22ec..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/fontwso2.css +++ /dev/null @@ -1,481 +0,0 @@ -@font-face { - font-family: 'fontwso2'; - src:url('../fonts/fontwso2.eot?3uii6i'); - src:url('../fonts/fontwso2.eot?#iefix3uii6i') format('embedded-opentype'), - url('../fonts/fontwso2.woff?3uii6i') format('woff'), - url('../fonts/fontwso2.ttf?3uii6i') format('truetype'), - url('../fonts/fontwso2.svg?3uii6i#fontwso2') format('svg'); - font-weight: normal; - font-style: normal; -} - -.fw { - font-family: 'fontwso2'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.fw-lifecycle:before { - content: "\e617"; -} - -.fw-globe:before { - content: "\e666"; -} - -.fw-filter:before { - content: "\e65b"; -} - -.fw-store:before { - content: "\e61b"; -} - -.fw-apple:before { - content: "\e613"; -} - -.fw-android:before { - content: "\e653"; -} - -.fw-windows:before { - content: "\e654"; -} - -.fw-monitor:before { - content: "\e658"; -} - -.fw-laptop:before { - content: "\e659"; -} - -.fw-computer:before { - content: "\e655"; -} - -.fw-mobile:before { - content: "\e656"; -} - -.fw-dots:before { - content: "\e615"; -} - -.fw-tiles:before { - content: "\e60e"; -} - -.fw-menu:before { - content: "\e60f"; -} - -.fw-list:before { - content: "\e610"; -} - -.fw-grid:before { - content: "\e611"; -} - -.fw-list2:before { - content: "\e667"; -} - -.fw-user:before { - content: "\e601"; -} - -.fw-add-user:before { - content: "\e668"; -} - -.fw-key:before { - content: "\e665"; -} - -.fw-star:before { - content: "\e65c"; -} - -.fw-star-2:before { - content: "\e612"; -} - -.fw-view:before { - content: "\e652"; -} - -.fw-edit:before { - content: "\e65d"; -} - -.fw-register2:before { - content: "\e669"; -} - -.fw-register:before { - content: "\e65f"; -} - -.fw-search:before { - content: "\e657"; -} - -.fw-send:before { - content: "\e66a"; -} - -.fw-delete:before { - content: "\e614"; -} - -.fw-settings:before { - content: "\e65e"; -} - -.fw-share:before { - content: "\e65a"; -} - -.fw-message:before { - content: "\e616"; -} - -.fw-bell:before { - content: "\e66b"; -} - -.fw-lock:before { - content: "\e618"; -} - -.fw-battery:before { - content: "\e619"; -} - -.fw-camera:before { - content: "\e61a"; -} - -.fw-wifi:before { - content: "\e606"; -} - -.fw-usb-drive:before { - content: "\e602"; -} - -.fw-hdd:before { - content: "\e61c"; -} - -.fw-map-location:before { - content: "\e61d"; -} - -.fw-invitation:before { - content: "\e664"; -} - -.fw-dial-up:before { - content: "\e61f"; -} - -.fw-incoming-call:before { - content: "\e620"; -} - -.fw-clock:before { - content: "\e621"; -} - -.fw-clean:before { - content: "\e622"; -} - -.fw-sort:before { - content: "\e623"; -} - -.fw-list-sort:before { - content: "\e624"; -} - -.fw-sequence:before { - content: "\e625"; -} - -.fw-rules:before { - content: "\e626"; -} - -.fw-padlock:before { - content: "\e66c"; -} - -.fw-uri:before { - content: "\e603"; -} - -.fw-pdf:before { - content: "\e627"; -} - -.fw-ms-document:before { - content: "\e629"; -} - -.fw-swagger:before { - content: "\e62a"; -} - -.fw-jquery:before { - content: "\e62b"; -} - -.fw-java:before { - content: "\e62c"; -} - -.fw-javaee:before { - content: "\e62d"; -} - -.fw-javascript:before { - content: "\e62e"; -} - -.fw-jaggery:before { - content: "\e62f"; -} - -.fw-uncheck:before { - content: "\e630"; -} - -.fw-check:before { - content: "\e631"; -} - -.fw-up-arrow-2:before { - content: "\e660"; -} - -.fw-down-arrow-2:before { - content: "\e661"; -} - -.fw-left-arrow-2:before { - content: "\e662"; -} - -.fw-right-arrow-2:before { - content: "\e663"; -} - -.fw-up-arrow:before { - content: "\e632"; -} - -.fw-down-arrow:before { - content: "\e63e"; -} - -.fw-left-arrow:before { - content: "\e633"; -} - -.fw-right-arrow:before { - content: "\e634"; -} - -.fw-cancel:before { - content: "\e635"; -} - -.fw-add:before { - content: "\e636"; -} - -.fw-minus:before { - content: "\e628"; -} - -.fw-refresh:before { - content: "\e637"; -} - -.fw-ring:before { - content: "\e600"; -} - -.fw-circle:before { - content: "\e638"; -} - -.fw-ok:before { - content: "\e639"; -} - -.fw-error:before { - content: "\e63a"; -} - -.fw-block:before { - content: "\e63b"; -} - -.fw-warning:before { - content: "\e605"; -} - -.fw-deploy:before { - content: "\e66d"; -} - -.fw-devices:before { - content: "\e63c"; -} - -.fw-dss:before { - content: "\e63d"; -} - -.fw-database:before { - content: "\e66e"; -} - -.fw-computer2:before { - content: "\e66f"; -} - -.fw-endpoint:before { - content: "\e63f"; -} - -.fw-bpmn:before { - content: "\e640"; -} - -.fw-bpel:before { - content: "\e641"; -} - -.fw-gadget:before { - content: "\e642"; -} - -.fw-application:before { - content: "\e643"; -} - -.fw-cloud:before { - content: "\e644"; -} - -.fw-service:before { - content: "\e645"; -} - -.fw-rest-service:before { - content: "\e646"; -} - -.fw-rest-api:before { - content: "\e647"; -} - -.fw-api:before { - content: "\e648"; -} - -.fw-service-provider:before { - content: "\e649"; -} - -.fw-website:before { - content: "\e604"; -} - -.fw-proxy:before { - content: "\e64a"; -} - -.fw-policy:before { - content: "\e64b"; -} - -.fw-security-policy:before { - content: "\e64c"; -} - -.fw-throttling-policy:before { - content: "\e64d"; -} - -.fw-blank-document:before { - content: "\e64e"; -} - -.fw-ebook:before { - content: "\e670"; -} - -.fw-document:before { - content: "\e671"; -} - -.fw-text:before { - content: "\e64f"; -} - -.fw-html:before { - content: "\e650"; -} - -.fw-wadl:before { - content: "\e608"; -} - -.fw-wsdl:before { - content: "\e609"; -} - -.fw-xacml:before { - content: "\e60a"; -} - -.fw-xsd:before { - content: "\e60b"; -} - -.fw-xq:before { - content: "\e60c"; -} - -.fw-xslt:before { - content: "\e60d"; -} - -.fw-xml:before { - content: "\e61e"; -} - -.fw-soap:before { - content: "\e651"; -} - -.fw-wso2:before { - content: "\e607"; -} - diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/main.css b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/main.css deleted file mode 100644 index 44e668bc..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/css/main.css +++ /dev/null @@ -1,485 +0,0 @@ -/* _____________________________________________________________________________ - - FONT - _____________________________________________________________________________ */ -/* Regular */ -@font-face { - font-family: 'Open Sans'; - - src: url('../fonts/OpenSans-Regular-webfont.eot'); - src: url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Regular-webfont.woff') format('woff'), - url('../fonts/OpenSans-Regular-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-weight: 400; - font-style: normal; - -} - -/* Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/OpenSans-Italic-webfont.eot'); - src: url('../fonts/OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Italic-webfont.woff') format('woff'), - url('../fonts/OpenSans-Italic-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Italic-webfont.svg#OpenSansItalic') format('svg'); - font-weight: normal; - font-weight: 400; - font-style: italic; - -} - -/* Light */ -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/OpenSans-Light-webfont.eot'); - src: url('../fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Light-webfont.woff') format('woff'), - url('../fonts/OpenSans-Light-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Light-webfont.svg#OpenSansLight') format('svg'); - font-weight: 200; - font-style: normal; - -} - -/* Light Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/OpenSans-LightItalic-webfont.eot'); - src: url('../fonts/OpenSans-LightItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-LightItalic-webfont.woff') format('woff'), - url('../fonts/OpenSans-LightItalic-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-LightItalic-webfont.svg#OpenSansLightItalic') format('svg'); - font-weight: 200; - font-style: italic; - -} - -/* Semibold */ -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/OpenSans-Semibold-webfont.eot'); - src: url('../fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Semibold-webfont.woff') format('woff'), - url('../fonts/OpenSans-Semibold-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg'); - font-weight: 500; - font-style: normal; - -} - -/* Semibold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/OpenSans-SemiboldItalic-webfont.eot'); - src: url('../fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-SemiboldItalic-webfont.woff') format('woff'), - url('../fonts/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic') format('svg'); - font-weight: 500; - font-style: italic; - -} - -/* Bold */ -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/OpenSans-Bold-webfont.eot'); - src: url('../fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Bold-webfont.woff') format('woff'), - url('../fonts/OpenSans-Bold-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Bold-webfont.svg#OpenSansBold') format('svg'); - font-weight: bold; - font-weight: 700; - font-style: normal; - -} - -/* Bold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/OpenSans-BoldItalic-webfont.eot'); - src: url('../fonts/OpenSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-BoldItalic-webfont.woff') format('woff'), - url('../fonts/OpenSans-BoldItalic-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-BoldItalic-webfont.svg#OpenSansBoldItalic') format('svg'); - font-weight: bold; - font-weight: 700; - font-style: italic; - -} - -/* Extra Bold */ -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/OpenSans-ExtraBold-webfont.eot'); - src: url('../fonts/OpenSans-ExtraBold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-ExtraBold-webfont.woff') format('woff'), - url('../fonts/OpenSans-ExtraBold-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-ExtraBold-webfont.svg#OpenSansExtrabold') format('svg'); - font-weight: 900; - font-style: normal; - -} - -/* Extra Bold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/OpenSans-ExtraBoldItalic-webfont.eot'); - src: url('../fonts/OpenSans-ExtraBoldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-ExtraBoldItalic-webfont.woff') format('woff'), - url('../fonts/OpenSans-ExtraBoldItalic-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-ExtraBoldItalic-webfont.svg#OpenSansExtraboldItalic') format('svg'); - font-weight: 900; - font-style: italic; - -} -/* _____________________________________________________________________________ - - RESET - _____________________________________________________________________________ */ -html, body, div, span, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -abbr, address, cite, code, -del, dfn, em, img, ins, kbd, q, samp, -small, strong, sub, sup, var, -b, i, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, figcaption, figure, -footer, header, hgroup, menu, nav, section, summary, -time, mark, audio, video { - margin:0; - padding:0; - border:0; - outline:0; - font-size:100%; - vertical-align:baseline; - background:transparent; -} -body { - font-family: 'Open Sans'; - line-height:1; - color:#141414; - line-height:1; - background: url("../images/content-bg-1.png")repeat scroll 0 0 #f0f2f4; - margin: 15px; -} - - -article,aside,details,figcaption,figure, -footer,header,hgroup,menu,nav,section { - display:block; -} -nav ul { - list-style:none; -} -blockquote, q { - quotes:none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content:''; - content:none; -} -a { - margin:0; - padding:0; - font-size:100%; - vertical-align:baseline; - background:transparent; -} -/* change colours to suit your needs */ -ins { - background-color:#ff9; - color:#000; - text-decoration:none; -} -/* change colours to suit your needs */ -mark { - background-color:#ff9; - color:#000; - font-style:italic; - font-weight:bold; -} -del { - text-decoration: line-through; -} -abbr[title], dfn[title] { - border-bottom:1px dotted; - cursor:help; -} -table { - border-collapse:collapse; - border-spacing:0; -} -/* change border colour to suit your needs */ -hr { - display:block; - height:1px; - border:0; - border-top:1px solid #7f7f7f; - margin:1em 0; - padding:0; - opacity: 0.2; -} -input, select { - vertical-align:middle; -} - -/* _____________________________________________________________________________ - - TYPOGRAPHY - _____________________________________________________________________________ */ - - -p{font-size:17px; line-height:24px; color:#c7c7c7;} -h1{ font-size:39px;font-weight:100; line-height:Auto; font-style: normal;} -h2{font-size:24px; line-height:Auto; font-weight: 400; } -h3{font-size:15px; line-height:Auto; font-weight: 400; } -h4{font-size:20px; line-height:Auto; font-weight: 400; } -h5{ font-size:30px;font-weight:100; line-height:Auto; font-style: normal; color: #929292;} -.font-small{font-size:12px;} -.font-large{font-size:25px;} -.font-medium{font-size:16px;} -.medium-weight{font-weight: 100;} - -.uppercase{text-transform:uppercase;} -.capitalize{text-transform:capitalize;} -.lowercase{text-transform:lowercase;} - - -.light-blue{color:#3a9ecf;} -.black{color:#000;} -.grey{color:#333;} -.light-grey{color:#7c7c7c;} -.white{color:#FFF;} -.blue{color: #00979c;} .blue:hover{color: #03c5cb;} - -.bold{font-weight:bold;} -.no-underline{text-decoration:none;} -.italic{font-style: italic;} - -.center{text-align:center;} -.right{text-align:right;} -.left{text-align:left;} -.justify{text-align:justify;} - -.middle{vertical-align: middle;} - -.top{vertical-align: top;} -.middle{vertical-align: middle;} -.bottom{vertical-align: bottom;} -.rounded{-webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px;} -.opacity{opacity: 0.8;} - - -.circle { - background: none repeat scroll 0 0 #191919; - border-radius: 50px; - height: 50px; - padding: 10px; - width: 50px; - color: #fff; -} - - -/* _____________________________________________________________________________ - - BACKGROUND - _____________________________________________________________________________ */ -.grey-bg{ background-color:#f6f4f4;} -.light-grey-bg{ background-color:#f5f5f5 ; } -.white-bg{background-color:#fff;} -.off-white{background-color:#3a9ecf;} -.dark-grey{background-color: #2a2a2a;} -.blue-bg{background-color: #00979c;} - -/* _____________________________________________________________________________ - - Main - _____________________________________________________________________________ */ - -body { margin: 0; } -header{background-color: #2a2a2a;} - - -.product-wrapper{ float: left; width:100%; margin-top: -2px; min-height: 310px; -webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.14); - -moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.14); - box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.14);} -.icon-wrapper{min-height: 110px; padding-top: 12px; text-align: center; } -.text-wrapper{margin:15px; font-size:14px; border-top: 1px solid #404040; padding-top: 20px; color:#c6c5c5; line-height: 18px; text-align: center } -.sign-panel {background-color: #191919; width: 100%; height: auto; min-height: 150px; display: none; padding:15px; color: #a5a5a5; cursor:pointer;} -#flip-login{ font-weight: 500; font-size: 14px; padding: 20px; cursor:pointer; margin-top:-2px; } -.chart1,.chart2,.chart3 {width: 100%; height: 350px;} -/* ____________________________________________________________________________ - - COLUMNS - _____________________________________________________________________________ */ - -.col-row{width:100%; height: 100px;} -.col-x-large{width:100%; } -.col-large{width:75%; } -.col-medium{width:50%; } -.col-small{width:24%; } -.col-x-small{width:223px; } - -.opacity{opacity: 0.2;} -/* ____________________________________________________________________________ - - padding-margin - _____________________________________________________________________________ */ -.padding-left {padding-left:10px;} -.padding-right {padding-right:10px;} -.padding-top {padding-top:10px;} -.padding-bottom {padding-bottom:10px;} -.padding{padding:10px;} -.padding-none{ padding:0px;} -.padding-left-none{ padding-left:0px;} - - -.padding-left-double {padding-left:20px;} -.padding-right-double {padding-right:20px;} -.padding-top-double {padding-top:20px;} -.padding-bottom-double {padding-bottom:20px;} -.padding-double{padding:20px;} -.padding-top-large{padding-top:60px;} -.padding-bottom-large{padding-bottom:60px;} - -.margin-left {margin-left:10px;} -.margin-right {margin-right:10px;} -.margin-top {margin-top:10px;} -.margin-bottom {margin-bottom:10px;} -.margin{margin:10px;} -.margin-top-minus{margin-top:-123px;} - -.margin-left-double {margin-left:20px;} -.margin-right-double {margin-right:20px;} -.margin-top-double {margin-top:20px;} -.margin-bottom-double {margin-bottom:20px;} -.margin-double{margin:20px;} -.margin-left-none{margin-left: 0px;} -.margin-right-none{margin-right: 0px;} - -.float-left{float:left;} -.float-right{float:right;} -.clear{ clear:both;} - -.inline-block{display: inline-block;} -.relative{ position:relative;} -.border{border: 2px solid #dddddd;} -.border-bottom{border-bottom: 1px solid #efefef;} -.border-radius{border-radius: 5px;} -.border-top{border-top: 1px solid #ddd;} - -/* ____________________________________________________________________________ - - button - _____________________________________________________________________________ */ -.blue-btn { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0px; - color: #ffffff; - font-size: 15px; - font-weight: 500; - background: #00979c; - padding: 10px 20px 10px 20px; - text-decoration: none; - border: 0px; cursor:pointer; -} - -.blue-btn:hover { - background: #00787a; - text-decoration: none; -} -.blue-action-btn { - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; - color: #ffffff; - font-size: 15px; - font-weight: 500; - background: #00979c; - padding: 10px 30px; - height: 45px; - text-decoration: none; - border: 0px; cursor:pointer; -} - -.blue-action-btn:hover { - background: #00787a; - text-decoration: none; -} -.black-btn { - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; - color: #ccc; - font-size: 15px; - font-weight: 500; - background: #333333; - padding: 10px 30px; - height: 45px; - text-decoration: none; - border: 0px; cursor:pointer; -} - -.black-btn:hover { - background: #2a2a2a; - text-decoration: none; ; -} -.grey-btn { - background: none repeat scroll 0 0 #00979c; - border: 0 none; - border-top-left-radius: 0; - border-top-right-radius: 0; - color: #ffffff; - cursor: pointer; - font-size: 18px; - font-weight: 300; - padding: 10px 35px; - text-decoration: none; -} -.grey-btn:hover { - background: none repeat scroll 0 0 #006a6d; - border: 0 none; - border-top-left-radius: 0; - border-top-right-radius: 0; - color: #ffffff; - cursor: pointer; - font-size: 18px; - font-weight: 300; - padding: 10px 35px; - text-decoration: none; -} -.grey-btn a{color: #fff; text-decoration: none;} -.btn-black{color: #ffffff; margin-right: 5px; padding: 10px; text-decoration: none; overflow: hidden; background:#5c5c5c; text-align: center; float: left; cursor: pointer; } -.btn-black:hover{opacity: 0.8; } - -.menu-button-wrapper-temp{float: left; font-size: 13px; width: 125px;} -.menu-button-wrapper{float: left; font-size: 13px; width: 100px;} -.tick { opacity: 0 !important; } -.nv-discreteBarWithAxes>g>.nv-x>g>g>g{opacity: 1 !important;} -#date-range1{ - background: #fff none repeat scroll 0 0; - border: 1px solid #ccc; - width: 300px; -} - -#device_id{ - background: #fff none repeat scroll 0 0; - border: 1px solid #ccc; - width: 220px; -} - -.hour-range,.minute-range{background: #fff none repeat scroll 0 0; border: 1px solid #ccc;} - -.btn-black-action{color: #ffffff; padding: 5px 20px; text-decoration: none; overflow: hidden; background:#5c5c5c; text-align: center; margin: 0 10px; float: left; cursor: pointer; border: none; outline:none;} -.btn-black-action:hover{background-color: #0076a3; } -.date-picker-wrapper {box-shadow:none;} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.eot b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.eot deleted file mode 100644 index 5d4a1c47770fd38b715d6f8e119869fed1f4d8ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30858 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

Ceu_Z(Fs(Qh0@@*3OSQd0Q?oY2~#ME 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.svg b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.svg deleted file mode 100644 index 7cda1026..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Bold-webfont.ttf deleted file mode 100644 index 7ab5d85bfdd1886b621b98b46e5a9d3609f2429c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30680 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 I0Ex{hY^xD?4gdfE diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.eot b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.eot deleted file mode 100644 index ad6518076e32b52ad56d50ccb0e48d8a093b7efb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34166 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 - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.ttf deleted file mode 100644 index 6a30fa9dd37f5da9f303e421c1e9d52f45bd3433..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33960 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.woff b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-BoldItalic-webfont.woff deleted file mode 100644 index 46778a21796d14b21754178d21ded6431905dbee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21940 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�b|3(OkNIB1U?gr{-Bgaj?f>vWKZ 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 z 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.svg b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.svg deleted file mode 100644 index 009e1d7b..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 2011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.ttf deleted file mode 100644 index dacc5bbb58035bc5203e206454b92cd3250843fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30404 zcmc(Id3Y36*7v>D)mysL=`{=4y3<(*+0%p&5W*Tl*kZsKLPVCZ$|AA}h=>d#n}{MR zYDC6i7-g`kX;BdnK~Y?Waa0_192^;Sa2!QkMj@$uzjLb-qT_t;`#j$tA3W7nb!)r# z+;h)4_jk^@VVp7M#E;BaRn@pr*Ka@GgE4MLY09u6L#uc)GvK^C&i!M?7M1S$;NfR+ zUXAlfQ|C^;@tLMM58!+cwu@7jEb_;mb6&-m;bB}aoPOhsxp9%A-{SlY#-wR8CNI1Z z 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 E0HNKzPXGV_ diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.woff b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBold-webfont.woff deleted file mode 100644 index de4f8e77e890aa401db7bf258ec31b02ee184053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19972 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.eot b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.eot deleted file mode 100644 index e4f4ab0db8c0172efd8c0b6e49c9db1d916a19b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33758 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 PPAX@+o>LdMx{3Y+lZLfZ diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.svg b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.svg deleted file mode 100644 index a0612586..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.ttf deleted file mode 100644 index 7e636eb4c051bfed4971d912387eb4554ee47cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33532 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 z 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.woff b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-ExtraBoldItalic-webfont.woff deleted file mode 100644 index f81b21618a3a5665123072c94044839f6871023c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21824 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
shdk2P8wb?1{b!eg6-^b1nNU z!W?=CbLfFt#sB1R8UJ3?d7niuVHQ5Kx1IKd@Ba{OQ)As6dg6+iy)cU~GisRSWBL&fb8ko<9eHWu^l`*~1cDOp_=Or0IV9s<@QunEvYhkZ!v%Jq z_j3cu$amz(yvb?R9`ml#3t8mzAZCIX628~$B4u{<4ClXg{NBv!D)YY?z0P}+2i%d4 zdSV5V*U{fS2NmrAc-muNU@(HhEQV=}4NMkHUzppNmoQ&rVPnx^$zz$qvW4Xy%R5#l z)*jXyYyoWh*u~ge*jI6wam?d*!>Pt;#Tmz0#CeBn71tB)9PS-F0z64PYj|0BD|lD& ze&NgDo5yd%KZF0BK!Ct9K?T7M!6QO;LODXGg#HK{2qy@y5q=kGwoBbjy+?hU z`X3E7jS`I+8Y?t*Xq?it(e%&^(M-_H(X7yH(LAGhL-UE|2hBfP99kk;3R*f^7Fu0e z)3g?8t<&12bxiA$))(y@?F#J{?Frg*v{&e8>DV!Z009610PX-y00jU&00aO60096302TlM0RRDc00RI4c-n=K zJ8r^27=%CbQqrVIm2wXdtblTZBp@mZqVzVHhh*7_Llj8OQD|s61t-ZdqRg(>hyn>& zzcu@NW_CQl6;tX2jccILlsMp4rxMpNY&@=W!`9;lkL*2ea>uX7Egtyu_&^qfJhNb? zS!#Yrn8D1>{9W309RT`sok=x9iQ{w-&Y%*4NMyI)Jq<7Se_~1)Ug`Py-w!2fc?JWEU{@YSn zc-n2zM{HAJ48ZZf)3j;Ry?5Drz4wwdEjytJd+$x5O&dlFDPd2sr$9*DK&%TO_7w8~ zh`q!{f-_qj3Rig5`?z7r`pG_6mW>VmG@2PA#Q)-lnSzZN?8Fj>gLo2fl1LKCq>xG) z>12>e7TM&GOCI?YP)HHQl+cXkw4f!eXiXd1(vJ3Ypd+2=Oc%P+4GkRw7j8V1;-!po zy3>Q6^rAO?=!*|O{iq;7kp2u{AcGjp5QZ|0;f!D;qZrK?#xjoaOkg6Dn9LNWGL7lX zpi*ocW<49Y&R#yTk)3Q~A4fSNF>K{M>)0c9iDiexv6)+Z6bJh`#xENA%^^;3pSzr7 zCbQT@6%VQA9uIiRBOddF&*t@B@Qml2qK2RB<~1*QMJ-?X&K719W)Ab1OC1NOX94qx z&_I-hEMhTVSi&-vvYeHy;4%kU%_`QgmT%?(MWYwWkapiGJ=*KrPpl_ zL?iW0ML_Kn^jrIw8cLVa{TD|ipsxS`c-q^+_`h`nV=sgE29AJ;jf{+aksICEv?CNZ z2t;~s5D5Y@8X{#kuxZCcFl=B^aNWSH?XrPG!F3Z$7n3%a!w%$dq(C`rKn}Ytl*0<- zuxUX#oC>bH7+4s^86bSd4O~#ecz~+7{xNB9WOge9a=C$A9$7e-7o?4={yzg;gbyUb T%P0XCiQFKf4FJ+YH{}2T4(1!x diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Italic-webfont.eot b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Italic-webfont.eot deleted file mode 100644 index c31595212fcbd4ff65267f36b92bb733e85f64ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34798 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 - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Italic-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Italic-webfont.ttf deleted file mode 100644 index cb3fda65e9f6e05f49f7cd67ffa9c2850cfffc32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34612 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 gw%zmJ)NB{r; diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.eot b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.eot deleted file mode 100644 index f17617e0396d6395a3fd3db07604c1754d2e7b1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29794 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.svg b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.svg deleted file mode 100644 index deadc3ef..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.svg +++ /dev/null @@ -1,252 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.ttf deleted file mode 100644 index b83078a6075d5d7800466c2981158fc721fd9419..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29612 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

5FqS%E< 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 E2guaj@Bjb+ diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.woff b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Light-webfont.woff deleted file mode 100644 index ff882b6acaa0fb595bb7658ec36d663394de3fba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19396 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.eot b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.eot deleted file mode 100644 index 95c6c619d305e4aec571cad1d0af35ce677d0236..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34578 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 aEQu3y2~1#<>~m}~SW|k0tqYp4vHCyok7ken diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.svg b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.svg deleted file mode 100644 index 1ac169c0..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.svg +++ /dev/null @@ -1,252 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.ttf deleted file mode 100644 index 3162ff8eb1ecc63453f2c88a43e57fbbee5d5c6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34368 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.woff b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-LightItalic-webfont.woff deleted file mode 100644 index f6e97d5afd5fe6aaa8d357af39256b24ae6e5f88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22444 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 K{{n-nR8IimBgcmT diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Regular-webfont.eot b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Regular-webfont.eot deleted file mode 100644 index 545b7c15e54a1399b315ebc761936289283eeb90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29934 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 - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Regular-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Regular-webfont.ttf deleted file mode 100644 index a5b2378e5c2f3c0614d06c1d6696e8c6e31c84d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29744 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 E8i2eEj{pDw diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.eot b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.eot deleted file mode 100644 index acc32c425dd91d5d9012d14c634bcc3e6f00724f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30350 zcmb`w31Ade);4@^RrQv1l3ueXbf>cbfrO;97`Ctz77-#c0TEe4K-o7D5iuY;$RZ*l z;~-*02dg>}5D{4vQDhJm9NY#+MNwP^(HDVKzUSQPgy=Zm`~Khi6RNA~R&~|A=bn4c zxz9Q0_UhS;y*-OD&Ll?vq)3ZdwkndOa8@CT`Vag;V&`u6u`Vse9gO{%Ganr;Nx9kh zQn=jMx!5giDjUZpBW-E1t%;@J?CO~>^KD5LxHSPr&! zxR(A0Pod}i{u#KH)8p}>FxIQr;G6H<_zK#@?I=y|-J@qOp2TFFQ{{cP+?t!e&Ae_n z&dYE3!){lV;w- zhToct^SklP-FHtJGwSW&?qtR$r{n#fP8xO3RLRBv$=Fo1hWRFsnlvu+)2=V!oUXq$ zb;^vHZGEouj7|Fy^*KLv`nai&&Rm23oB4O#{}VQ%277balswuWH$T%Nyw4Cy3u7;zVwLhKQs?Qow0>fX;9 zcpkr%-y{e&6nxR^|kl)@ZIT~>3iOvc8*|j+@Ho;wEYTNc5Pe1eQb332^>kGS7 zt@g#b-Fx@!fBBUIZ2H)76aI0}U#8ym_3Vjk>1G*Y z7e9LBwGaOO@h4|Le2E=;{fn>u`S~~Bvbi69$`-AxUbTG9!)sSRvXO1r^2FnZj~<)G z*cj4*2FNOJh`lE^l`cSUpTZG5?^C3|><&(}N9 zYt%$vg>UR=;}LXU6ulX*_AU4IUfyd|V7YI3K)f!XvhoVG3+_bw=(TE>add+3M2k0d zIuq~rC;84S2O03CKB(Jm;ku!IxGknlz;`D6@_?_R->pf0l@G00jt2D!ED!jW_gNko zMKz)3&?nW$LEYd&H#n&Qbm01315nXGufV8@Bb&E`zUpp+Ml4@KWa~RNu-u~h23B-T zI*2QtHnpq^@6xRs@3+^%#xU_oH{XVu`<9ni1V*Fwfo@6I@jy3FzDs#U2r{7im~J8N z1oNWKmN*(c4BvDd>Waw#1p7K?<-KjLJjc&p4Yl`a~FV9`ppsyH+g&#sfjnP%hJtX*Ev>33%Mo&G~|pZXTk-1;S^-Br$*&#PCQw&%TAXX zUD7VExS%MQAM5p)18JFVzZ_URpsaWQn|t-X#m>FKUGw|iJg|4~TL+q|ubb(e@($@r zxLsY)E_$aDq<31;0CT=*k$k33a+ElxT5h*UIA4OrL6kqt=#S#X+p2HX=3>2VO^Ql-G{i9OBa{K0WkF_r!^N z@U3|9Ej%-+@j1zj&q<+sYEv8UY(eF67l$Mh1sqNy6$$^G-~Cg&BvLOF`rUqPK{-g9 z*Dw3A1>6B_#X)x!${W23{GstN*F1C0F^j8lGIk zcj&`ttI@xx(MRxYw4t2(Qf5;cmMK|aL?6pyZP_DCZIP=c2Q?+)g4!}a)IxMni&T)- zm8*Jk)r_DP6L|s58;bD|)nlS;;OLxO)pkbnJ1(exhnC8-LyA2ey;+wc223d0(-LQD zibHD+MoVy9&~j@lsai36sGbxXI2g` zEGQ~23_@#KGP9g3rO&omYxl>VeNT~J zDe0fVi|u`{A5XfkeZK(cWMYFGE}GYxjc2Wx>*80pX)U{{lIW^!l=I7>Iq(j8hWoTZ90 zK`=+8(-pEx-jb3M)#Oy;OSJR^P$;%UZRHFl`QuQ|G;5aARhy8S-ij#bO2UZ=FT)A= z$>DDlC&ixFV7}84NHe>6(8mAh!eCzd#IsNTWz#c9+IL&Ds9XE7a`xftr};_VW%F}8 z{=BK?NQZ9K)!jNM5`Xi%kI#Sg!^e-T<5@gw-L<<&5c0kJ&5NI$KmXl79@)TK@r;Lw z*G4v6G+h7w;E*eO4;SA(yCaoprV(e|ijBt=e5`fEY`2#Di>Zm*xeX znC6eet??ylJLikcZ1<+OHYf!C5?p4;T?;QN4oVj8&x+=Ov~)o<3^7jZ))~y03HptE z;F&vnp53FpwPY(FHmK-Qug$!ze(I6RuU4MduU=U(YtMuF!ifX#>fUkM?SCq}%7m8l#+K zJD((EdzvBH!(yF7uBuHkom5m-(kt_-+)qHY9_>T#XjgwO|;=7~gQX zii2j!>v6>eGNtmz*PU3gVZ*ZH>o-ez+{XX5Yro$1@@2i~rJek!QJ+qDW^v;)Nz;gD zMxN1>8_x{Jx||Nl5-4&N7D$~=tl#|jy5q~&Z!qnCLC@2F#b5iHm-(^FKl4+@Gy6&t z6_44&Fk^8So8+LJ5odB+B6*g(Z-C#^>Wfxg?V8e*M9_&!*^a z-o?xHU3c+fv~?u=T**_8K=0m$(FwZ>O2~FWHRVIildxhDP&Ay;A(u&R*>ly1Gpdwd zXEXGTk{_}~&}AE`qzD@wMlf5p7G)5s(C>uW_xhay=SaS~j<3+Q*sY(w=Ew#k6|>UylAd zZlC^<==U;yNa`ys1BKJ*SsIVJKpSsLS)cwlmzDLO-)F#}UcGNEH~Pwf!5l64kp+2>J0$-n z_2+2R!#1dBxTutvPT;+9tOpC(XmH2aF9_DtymnMRUa+4XgF8HYF}6wYX)Zeyf=#C3 z>5ajmnUx5s&B#pehiX zJc#}-D30cq&3xBu-&*6kzp9Moa%0w+dnRzI}A2a31nLmKnr12Y6;4Pkb^{; zjk+v3S2dr}+>Q$&x0%?=odgauyXnwO9F_tO(-Iiif|sZ^XUJ@Klbm>1mMe`W$^?Qf$xz9|>pEF_b6XO@$d;Y<G>755X zK7PpQx-p?w{_;!2Nm17!=%co%YbKk>LK)OUO5}x5Jk`}@zffn7%!r5PvPYuYSr|oU zv@~>942j_+*M(3_5>+}T5|wUAl~yuPX(;bVr^eGzWxGpDZGk;xt~Uw$cv4Y@5)bB+ zhR)`NL0@BIiVU4(@sc)I{Aok(cxU9!ntg99Sjb1*JLlHT6K1^0BR;vZZM~}MXY}uW z>ToJ2|Ncd@Cck=VL}hM|?Hdj}v*IP6HTH$I?|q53N$6FkOfv05|GEG=3H}p0xsFBJ zppRh_Ys?N^0#nmXRtroS%?ec_=Z7#gN5iaUbc{`ynl|bf57@zKgXWcD974lJhC4}e zsxic$h2W2%Hvk^NbfBO(V76pQTfTh#^)K~Oekj74+>w{QC?CCEc0@nKOONm=ug&i^ z0#${qn1z051zt>M_c22aDi|rz)DKSOLY>!^6pelmgC<4vLp;O>%quc#OZQ*R6Si!0 zPP7_z(4;v%zecOBgG`HZ<>c_%sAwnlIXN&TxfX8$J5%-1TQCWzx4>fD4wcxfXB_@C z)ZI-+Cb5{}^)P?htU>P%`|}Pxl)JoO!cEeZ`VahpaeY4FlKzo?>E{lobMjX&<7T(L zv-H*}eWTg&&0F8-zfwPpK-)@9Z$b*B6PJ02%aXul!alM@UZ{)qd&oYDCVihFL;_l; zM&zsU!i3bE7>b#oeQLbZRcDEmqCKR}olea}a}>>wc4!RNqZ;j0BT7_@OEpn%z?6ye zl46#F;c>z+eUgOkCguyIMe`BT%ai-}AN%da2z&0%8E<^5H+=fU*Ym%BY|h;3dGq=| z&{vuw4|Bd2dtLu#(9p}L&g(xv%Ka6q4sBU`|HECUq2Ky~$2wvDV}{inGNENcI4fv~ zC6~lI(>U>nEV#q(r0o zVxAyP9GO2f0Ml_0=OAf81X7(2)lS9PIL^)`n@G#YrR;R4>qVRFN%Tj9XiUpV#5wF7 zr@!SN*f}OK^coEuB2um}a$s~fS~(TVwmdZb>YMLe(l0%~R{!Pm@Aa#nt((7a&7y}= z7R}6UGkEMhW9C(ky_e6p_elSNp(%fU<<%!YTRh~ztQS9g`$*M{IhBJRDv4^pLRwN# z-aWT))_~i_j3FK&IaCZDiHEKPk3WC}uH@_>n&)&hgT zm9LQvlZEz@+|=w*V1^dXx`-HetSp)x3oQcisU|yBSBV;MX%<7H6fg)-7iN$Cw5&oH z!Y+4!47|)nCdt8xc?jp9Zu$CteY?JGar>dezW*lD-rGb?HtM458_%Oml!&rba5&AHe6*tqwm`v40hXH{& zYT6AzKy@}k16n+o>9;_Dv!DqRXwuFb`t@zDq~)!T5;8!_S`zli^LW3RIaw#B#^l!7 z!f(Zd&T^*CE-;8%#f}NJCSe3hxxz|ugREqwgv_=W5_=e0!cvLkH!2V|S|)_w-(C786>6G#=RruQ}qGq6KTa<{`C>PMnCmB)w2>-O)L2lMumkX8rBX> zHyAo58U@zeFzSLiv6o}3l#g8RBp=~wD8$#)*3x+T&AW;VZ5*!~DSc8OkWYQ`I?v@5 zNA&o)f+miJ&*e!%S7*XSVTh!7D24Rgy3{anp!br`)cFnKMEjG0HbfcoGR$zjpp6Nv z2lc0soUM~w@u}%xISrF1szzTLRl~p2L_@8QzDwD@Bqzc8;6+1 zeS@%$<6pmazRl1{ca*+1aO|9(QzzWH?dH|%%lhBkyLW%nuxSUM?Kf-UZGA=#YTIS< zx&b4q$_5WB%Dnd8qqmgxzI702Ii+EU`GDyFD`chY6&A{&aTUY_RUyrSnQEQ;rl0~{ z=nHCYGfn2}5;{?VmS6_0yAU_lWg8Z8wnK}BrCDUOy~v@p#~G&ez>w;ajY3T811K~= z8m%j6(!R*)+N~sHxpRV@KovCwvoA1_7D&c))b4ASCq`#Z5Ti2>b26veu0-o}6GW7i zIbs6Y^pymsnk>Y*D;=81<@JaGnq`dB!UC9qv2n83BMb^DJ&>kIG@SE`z2<-5?W*L=5VaM^$X@7Df}^Q3q^H~z`Dw?4<^m8$;I z-}O)RW5c!&;cNJU3q0co=T729f&QENn)ZX6V^|x*B2?v|fiaq`jDy-{(io0h1NGxp zA**$@bz&6jqo```&^|SF|JJf-xwa~hlW7j3bGt#;VWZR_)iR!?ZPsmpt4q@q#S)M`~ z#RO9W-KwR)QK8waq;lhNsM@J-U=V?){f5fLjK~LD0Z5FYM>1|$d0}(!5D)Pj9<}Jc z&1?1Ve%Ak?Z+vXapD&%?xcrfACr!K60}t$sjYxTJ-Ru8&bH;tsCm+6Z`uO2!4`*|s zA5LPN#zS%mlu>iQrWRZrL9|N{4TwTb6G`bhVo^U&i5lSyF^jOC6`EvW)D;jH#aT$M zOHP_Y6d8;%_Zi;t^tl5=`aXU8-!6Xs!5zCsJpZBos$L^~^aUTXd&C=oLj7aCLH|j= zn2~a#D_@L$1%7O*1dXkr@=YvcrLhGA-=J^|S^5Ir)odW7%^@ZeL`s3|#=wjeRtk}f zIl-`5L7&s%4;DPD@A{^j&;`8wVm$$E$T z)&_cT8r2H=)?~1ii7FxHccKzBrxjCP8!UFrb&bhwc(P~AW@$$2_a2fv)YnN_^=An$ zcuSvtOfNis8v4dNG0hIY5V$Oq$c+~sl1q%& z(aVaD*Vh>DLZ6%R(C3Nl9u|rx>PCaQ1YBr%NuA3bPZoiT-j^ia7YRZeIGX0g?8@OK zBi`YH<(>@o6_}Z9B|}&B0!A_sBS*ueRJ|p@jmU2>-hOg~5QH5G4^>mN4gm-P!N zeC~<*wCr>acd_U@Q#a9frD17cF{FWN0!kkts3=pbjGm)bN%_<;*pr~AW&sl!CgS73(AL~Z|?Aa*|x!PA+Uq7j-&$x>B$&ds$`b;23fYxL@jWz=^q9-2u zK}_I@&l<++ReUGDYX{01GJ*8yT1}$LMTuE5)g_unoD^Y51fY?m-7K)B3h^xRSY&M( z-1)U1PoEgwZMXM|Y1!2U=e|p5q(cgx9Sw_D)Ju&B)4?3%Fi!~hix!P1XwL%j~>NWaEHEdhg6_{s~4^U6?)w>g}V4kRE38h`ZkDnFo&Vk>J|g2@1sAWWzLsdMOZVl^}9MH9tX z==&LW`Wq(9W zLwAzz)y}-^_AobEgNEw#f}D|2f}D|r62=O0k~tEUPe36Qs32z?_D%u{BY@748^ngz zL=kx{B;lJ8*DJPG3B3;u-uqrUCpj%PM*dupp`_xoq`A7<9imCEY(%F*}T zdmkcoAg{;5_OL?_rL!s)3J|rSVhub`a3>&(s53B$E)ZTpBgco4LwH3zQ8p5Qg!4ru z!r@I05Y>IIkjtGSW(7(B*8#wIowYp5?W3yz`CJ(B%`72jS{+U~J_wD7=2Ml^=-JW-c zA1NPqYssLp4&7(28*}7SGz;xY0Y6uv4=m)FHaF>VrVs=soWy`BVX=fv0;V)Ufrred zCYaLjebX$ABvXpgPcQ#Lxp3mdwK(O1czzwmbq67DidiUz=ms-a*bAzyN#H=-s-v}%pXX!b$FC3A z_ERsRn zuILOV*7X@(PvrMM)=pjqP+L43@nsg0qsi>Lfz_$bpm=;Ox7r}a@eW{g7=RpY1FtIVM$AH*H1bZ}p1_G1ewHK|shc$R}&ocC8X;o!c*)4spoD7T?J z;-Kb@{Z(}zto3-^?(BV?`~0g9u11o_IzA!JogKm_MM?zBn2eT$aMz79)+Iu+M7R@@ zJ>IzZ8*XOa#V%1S(!X5@BZe^?L(GY(E7KT|HaK)+g;sJ0-Q@c!7W*RXxR|D3LW?Pj z{qm_iZ)6+S_upL(WW|&KEvnY9UvacEMYN5%q+fppbbbEB6SuwFRUUGE$DHrhd?FKw zURClz>n?BSU*95qj6Otkn(_#h{bM4iz z4YC>jw`q8`1&C7E6bDuU2T>R+0UOp?T;z9x4M|8v784YC^=y6PyQ5Dk#+JukHux>4oRf;_4`m()C80Qm} zv+_W*AN|sjq3YzHiz5G=n7q`PMAeO+k*L2pdIWeAM1?nygKu+ZW_6pbJ>P@RxYzDr zLV>`phCx>-N+mRNCR<=&-65cX*;)%gxiJzBthNhva(Y4xrYBr zxY4;{AmGkG7&kHS%}xY94b!>u>X@qAwv_cBcIM9aKB&pH4&1ijsXdn~Djs-z^^Qk* zr{{KA%^fCA$WN=u&D;BWeca}8ebhhq9kgcQNV6H}E!l82X!m;fY~8E{yUXBmL*&N+ z=(kb3lj$Itw1CBK8%`gty09)4^Mve%{%YTbYypUVD0>cy1sh8 zWcKK*TWyPd8m892ph-?WS}kS2_2SW&;X->2ykFUHQLaNjdI@iEQwK(o=Tdaw4Vwfe zo(3xfR)-sP6Q+EKnF%DN{xF;n;R&RV6d6D%0Iqk!fUtfCg!L^H|rEBkdNXp_4p8J zx8ad{4?VTVe@cB*;Jj#8325xWXsKi&7d0u8Fn^+Q0)~m#>Y^FG*V<&#TG1qLKE-wk zs}{pVShWDmLUN>w=x%mu(SltfF{6hSLG$@&m{??JVMsWD_q$R!MzKJC#7y4pCp5@h z$)hiRq}R7FZGU9+v!jNn({x?`Jj5d?6W188(-gH6=l5C&h9m?6hI4EOP9ab5 zD>pfJ;C@Eb6OBtlO2#dmncJyX&mnhx{%-F0M84pa#I%bi3$y$8zVpzY1NvL~NB{i( z-DUS3+&_M0XxyA}ca42}-1y1~dn;EYd4}e79@0AFnW=S0qbv&pfy$ESUbE(wW@c_# zzyIwgpX^^g`S!9-cgnr1rha($teM0!fVh-d7}H+Frx>=4J!r^DC&@|Y4LNDdet>6@ zob)=#=n>96n*Df5B$`UpD8N}_5^N(#f#ePWBpwU-Jz+cpHxQEtXU(_vn0C)i=j$$x zpSocMMBuDD?;cp8-&LP0)jV*&_D(&5O(cf62)@m96?Rt)D+$Y+DB@yUt|rHT1sbDP z#k4X8{YeHA&B|g(Uy13s&^}G>DK~1fxo4NoJ$rWU(lh#7)11;CJxV+F?0NNdrTp41 zyt846?h)^_1K|at89|&Wff6QqZ)`4{26!((UgZo0$C9&;BE3jwSSUWj0Y&(47?eyM zOLQO(;LRdv=l1Bm@!Q&GC-&m*#!Bg5xppe=T}ydRO|bM0*RHXjmWfy-*jMN`;9tRz z1(j+7s6@vQK&3@f>lFbjk}0PtO;D932&{@MMT@iMg5A8B58yF+cYapCs6VmL?5Ve% z-T_b|qkb9xa-zOC{9aD_RK_erytfIiL(?fVqUd7EM|=F0FrPFJJX3k z+z@gQvPG5EsG!yY5u34?+@%Zc8$jg)4lN0lPsCxO5kp7r_6!sSh`SVwIwwu26EV*w zsNdy;9~ICK25qgZ*dj1s1-r!wW)q(nXM|N5JlAwkv)6CWd0_%;xYdytnsM~SZ%0)w zTX1n?<?$9A>;xEb=YsjqY4y8lul=q5Y~xr#yWFh*jXr2<6$PPkibsVt zK~fbO57x9$cjTONhZ_MgYN2XVG!cPU&Fb8IfS``~d#Cc%7$A=<7xii!9qLI`rb!>q zM|}vpXo_oURK@PFm`82kjZmWuxPk_VfGdCq7z0FeQ%xG2MUCQuof z35d4f2G3)_JA<)t%?+_wZvr<=F@qIq4phc{f+A{q-?P2GN|~{u_JJWXuQMg{2(P z_^`s7tb6F&tZf6=@(%jzxAhz{Bx_zbJtRL_HRPLLLiOrxgOW6793LqSM!mPf{+*4O*0o)0Z>~6o`rw~ZhWbPjW)?~H z!QjJ?X$H11LRS^M#7W>!P@q16E1$KuTWy^_yQ&Y?IaTA^qtARz?GtN4StB!qrs4MoU71LI+#uTr) zs2|g>tV!%)YoE4WzYd!Gp!nQ&bR8Lse94K zkfnVE&%vJuAQK}S?AFxJ-dtiXCSY}%HZiBB2&QuSslPjO06|hXRH~G7_F2$rwY591 z>sbr+_XhMW?6I?FD>Qf2L$iyYkRHF5q(9@_XMerQcy|v>LRR42&2TWt9R-bqN`&0` zAK+j;q}=+SWG~zy!L@Q!-S&EOo$>6pz@shzk4k1^;E5*}u?<5%4$UD6fOu(A%Rprl zUAlAVCO6?Y<;+3q;X7RnDLiV0XEO~4RX2@XIEf#yntqT^0O;n`f82|5rQQ3!m& z34w;`ycc%17X}Z6nimNJ&Vsf}s?VOCKK{!uD`$LloS%L5_B(j-mi4<$x0dT4ypd&3 ze^WnQK3Li#J@y<=*@r%X8Q4Nvg^81lQ4%)uD8G#2YK&dj*yFHe`Pn+Xh2>vYV$he= z=HqB{Dz!O=+8m9>rV0#BG@aUv93J@$VkxyGwAqy(N|LF~NwJu5$|8DKri`BGe9cE~ zCX5Afp=fg~B0I>f5)HEt6KhPc5S@f37Z(BtKx$1P8F>(TUN|KPfoXf^#EJ91ynXUN zjx3lzZ{Zsst>XQLbMxFqUVGLXyjA(FrrnS2(mxwJ_|@CS=_j_Vqa5UsQU@hZMm`n` zGLeZ8Bzaxywnk%`2#$dFj3l)&9d-lH#vs;Y3XUNt&RvLkaBLj(hlt=v%giEsbL5yu zyUnhs9$GNJ{e-n$=MP>mJb#|l;nlknGm1O6KQN_5ptvI#2C;Y;FuRly7;iDiVH3)) zDH^VEdh^?ucs0gI%EOzRO(l|e(2d}`vYY$$E$eSB*cFst?>Tr-S>FM-Tyx4-uEWF0 z*$(L2U*JDVrZ@%y0|j6jiWH2GoH-O_foGm51NMWjpj45fyn}6H7 zsk+y?s&y+LUfyrXpXRLCa`Kq;rOs1*JGYrS?eB2l(BV*O#<32j!^c{1$|2{h4DxCS z;x$v)wD4Rb32q~vFESiSrqr1&%#Oe^Pf#;kjX4J-J*IEgeBml{qa7lnEIx(eLgI-b zm3V5HLL(3gK#RxBPECR=b`tywD927v4h;9g&b$*M=7KZ=4U1dNa~`gd!OfQ|NG^;dw+EK`Q5ia&=vvk5}U;(B}v&11S*T& z3nZKRB*TJ{lB>0#9IckQYQh-`Z=*~}1E8ghEu2wGmX-|K*LryzvK$GcsFlnP5t|(8 zs%lMj9R*M)E&!|wsRJicCDVZ zc)tfRXui97cT$p8l;`F}}%*46P2*S}Cc zkQ1+;7qVbR!zFo{nezBb*m@Rf1Bz%0cpwGZgLt65XtF!MF2@kcK(;8FBga9RW_1|` zZ?wu+GaLke(Iup(bwJy5sO>aVeKu}F{NG7A1OywEf+ZC2} zDQMT7FT+unZozilO>;UIcP=jM(!K-ji%Q!=Tf#4I?g6I!n~6wF$HK-WM^aTuT;Ehd|@&S7M9BSZqakD^>@f`}+ruq{m&k)W;JL}Dl#@TA?N zBnL9`3Pfk+pzGB961Amsx788vW0@4iilA~egVpR{#$%h@?see-Q9QQw4!!v4j=pR3K=D&KaDgMjq z^;=WDTZ8`+ea1>;Nm_4u13l(v4}fZ9IamPx!uU(Xt_9N5!kRm+!8P05+vd)l<^BX1u*ruQWIbk!8I zQdV};j9&BS>s?0`7frakqP#p?k-9*(m$NFxFMkH#A%Z3maUN&mmhi5ekFC+q^Te7F zd|V9)ni?rCk*g#0ZTj|6{Dr1N5Daz-T+w-QHe$wLr;sfPt2LZOhy-*IH>R8kn`%() zO*+g79YcTwz%WF*hmamvf11w~&-{PS=Tm;e_iYf_{p=rces){I?%C!Gq3pI)rEDLB za?AX>v_f$qjj;TpKNtr9^l2Ql%~#tvv^+z=Q9;IU21YRkMjm8Vo!yh%S|Rq&aB5kt z(DlgiYKabSi&2A76wgS$sfEt}(b(WlkpgCMBd`5Nw9bD&H26Sn-nH$q@7_B&tY_c; zeQxRg-wurWwepgs%bx43&w&4P2miKL*Rm4yb;DJ&M=_iClDEX@YYXx$Nn}v^fsk5q zq2Fs(>}JpQ?clLVa*3ov1`%#uW@OcBu~3zO%ArETamkb~K=uQ`Km^n^uCzc%8^vCQ z^BgHOs}T>pAq;bPV9(Ec{rU3j?ge1rU?>MF?hEEC%e?7M`F*X#EHih`3`UE327PSc? zn{@~5$5=KP*at}?hz|?E`4AJa&<7bl1ij)s9ylfPKj)OEe7>Vg98K-l2TA8t^go9stI#|I+v2K!i!Z1 z^xOn^4v7m)lhbej)ee-Alk*Cm>ty)ooti5FXVCF(QDLZp!UD>N3_GKmk~__fUaYoj z=hwb5W5V8^H|#G=w-!FJWNv^v3r_Y{&L;GFzLU4p zp+eAyaOPQ<%g3`j4Cxbc5{sDtCXlyZ<+T1sV^}_g#=&_71%e1>fy@){3vJ=XECrMy zD=C7OI$;{o4JnImvZK+Fn_#E9=8`%P;Opi)y!~YUM48Y#|uAe(-ez z(OQ4&;9<$3bp0UpJELnk1fB^W>A3?+b*PO~}c zU@2R0g!FNQ@0&4lO@>uqaJ<`56eQ73e=xiFqB_e~vi@b!B$Q$Kr zQ+)8h=aJu#udp+WW|DaAq&>Dtec_3X>b3zD6$5Bf#y-36l^xp;y!zCX$&;r{n}mpZ zi4AOSR}|ZLG57KeV>gf|>gQ{CrM{Ub((I*%kJlf2lMm-3M(6_*^+BU<9HO(Z4iV4@ zbDn9pBa3|@?ZEPKnQY$I%wb{Y<>B>va6Jdt%fi>Ijq4xM^_lWEalIJVt4wc-?_a_7 zEPQi){T_#z&4LeAV#WF#c_VO+@cgy~#%5iHNNj^QRdZ7)3#PbmR>8|a!NRav>LLsa z0C1`|A}t!pT_W`jY3p@q;>ei!LS2PS(eR{|ApRD*KFXcYA_HR<0mZZwiLeMl%xc66 z#uY%G(5yX3lXQS)hUFVaLlaNB0{rqByg5@~g_4Fy>;=6rZNPmKm;0mJW(oSoel6c)3_B?ziQ$ z+0H*KKgv2ZD=%w$&N0@uS$XHC@`0(OCK8vw8QJ&cPOcrX#`Owp(+ z3u?_1b}*r?i+0#46)YO5Eheit6zMzgY(||y9%xerkC3&t^0W_-#V`;tH($klNJ&$&V@`zjuq;kDd={u6fJo4 z5OCY;f}SnI^xPxb`}^|QY``CuA8q)xSvk?oc+NzoPl0%#0PfJlQ#5vM~wTm;2LMUuLR0#Y1`6!ecI;|KN}`TZ#e1_~{l z4q<^ELIwy7A(4a7iaXtu+6Big^-JzLet_R@BzWmlet1%H{d)Oz9z-zXlw;BYeTn|O zzDZvoP0@!*@dzrl>3xn--+%R^n9YJQ9h9!2TeJv=Fv*DvI%k-YqZ$J)XIieRL@7if1mmK9^P}F zzDM6bpZ8D_7U=tUuX*}zeeZnUOW%iEFf3r1&TXhe9>aBviX_-scZa>zslUl&Fya(E z)C&#~8c4or3QnL9L5jHZJ6|-(F;Q{JG|hksft6IWR9Mv^C^a$&6X1x9h!v6dG6a@| zVkpr)NVqfLHcGuSpfb$t71Xp-tsKs zVq%hutaHlpFA#bu2)z_^h;#}<95Lho)@X3?*IK+j_zBv8HQMBgF<6KTnaCv8lE`Tj z<*ZXu1Fdt3FWQI&o_tRD1jQ@?D@4HFL5c`L6RE^Wi6v?-Fbi6xM6|2`DHkG>Rp_b~ zoN_Lptg=L22BB-l3S^BL+ptGD|KT&P+}v$gQQML`hySU~nYRy2YQL@f!Jc#HRQ2fH zuggPI7CfY^J#?aGUEjsQp6!!UgPC1A-#NAS)6aK(BO~w8P8EIo+&8#%LSgZ3!LmVj zPq>B^Il(g`p4jY1U&DI_t=|1HgO`3^KD+-PmmmGQS-I(#rso{{qIvnnrt*nDH!C-9 zX)1pMs({8U-fP~A*nv#M$`_MQH*dD7A5hqSE1zq8XDG z?7u0|-yzgBOf`qS)Z(<+Dfr zarsdc6F-UjP1N7Ub0$*1LI=N$LHQT){KMkC-St7@{w>g{4>l{G-2gp+`>A|uv+|?* zOQQTMlvjx78_$`jV-Fon@12iWd$L3CG`wIG5|8Cx4BxL|gx-jP*T4^kok^n;VMb}r zJ+jRl;)*|Kr* zoDSLRN(U`pIBliA=o|fl{x)}f_Sm-Fp#>Ya3tH7c&dw5J475WZ9rNFyIob}Imm7Tt zVmJ0h^YYnK{HCpt(^#(S>r1)sgHXFd)kNrA$H0Ig$Bf zi80*aAU)at6jh1ksNj}!AlwH-5K%t>d0|Wfw)8f)%!RKlyaFk(o%&6sT{?B?QPQz{ z;~wZ{NWb2tcUfs^-`-N=0o9|jVXrb@St0a%+6_GqsKAKyCO36Jh=j17Ckan_J{|i; zJ@5PP^?U@2O(Wj;t)36N)kJii;E1rEH$%_+pynye?&0Y@mkwBhNV|t8_Fq!I`cej8 z((z9l7OyE9!sGo$#9irFEEe9tDCn+a(y&>NbK8=^Qf}63_22sWg1P0?4MmRBr#t{-@tnh#^Voi#LQb&9og>_NF1%-7{AaSk9>~sJs>qW$>7121n6-Dsz1ztPT#Z&5o%%rsvQ%&A!(JG9OJ zEil%IE+!hmPPQZ=$Jhg3(R>yX=@U_~G)1^rJPs(gU9&c>FOY&sn9VM-4@5?De?(^ZIF-5|LtC z>?HGZF0bIFGe*em>kmpv^M<=)P;`r=ZjH?s4guFtdWyn*E%YWVh>tV zmPMWzhQ?}}S~l8A;b!^RXG62@k*$unq$sgKCPEA}!tSut2E`m;sSU)SyA#mN)~*ms zO((USMJp)?TbrDf(69^|wprpumf4@i!pS;9xta_eTghEN&waaF^_5RJt51!5WOL=t zk%M2Dp?|evk$(B2{`IBmb*riutzENFPT>E#f5zk`7@?SljUIVe|M}|$+jk;Aqh;Xm zVJzihd*$$}`wzZ)pzlKuW5|gyBy41|ojYO-S+Ld=6Z4tRkqh=E^b_Ta65wYM>m`eH zu*Q5*+0aBJ8jFhki1rC&VojFMUoGWI>7hT*n=t-fAf!hpOg@y*=dSTL!#6q-KIRVQ zEtn(4LYot06%FLdBQRuval;2`H^4^2#wO&7ypF)Ojl^aHx$?k`9QF(}m&n3HW+X1~ zkqahOEvdfy?gtj$mD90fPHsojzH#&K8(XEHU-IW z%E97{mW%f4%Ixw1ebR18ns0xws`a1&ebWXdD<7;_7sw9Gc<533G{*G*yB`cODF2H! zG5^s<3k1(o1}XUtXn`MsT*6H!&jAt?;Pk;l24KZ788V98&8flH7tY_=v&9Xn#2)7! z{qM-2y-^495jWPs)>H=?5LhDDSgn&P}OD%`X-EZ8NS%o|>Mrnyg|deOae7e92*Jr7A2 zmp{CA*^&)w!FMvPeQ&mkb!X#%@7ydTpw}N1l9l91OcK@wZ(Ipq06pP|JL+vX3+h}3 z@a!@?CZ4DbhJZoV{a^VpH*$2VLhZ5tP_m70zkm$5Aidr=zqG+tSiG(yA;_z_uz z)p{YPO=5jrOkxEann)EO2A_0+z`mN|37Ulwh_MG>!SA01S6KLQH=f1mSz%Yg4Ie@? z#{tH%j^F2y)?mEIjA5-6oXf)wT(4xxj3R-|eNUV6;m>BUN7d@pVU}(`(5ybT$7Cc21S5^?AYG#XruiQU>{=xI-%?0Vw z)df=b`V(tZbxmm0*s3CuMWvVrE;hXm{9t8xEsa#zT#=}%hQ-N%#0DaP#3lfVMU|8C z>nvtb0BF{N0yjnk@}*_5+6GpsB~UgVtLGZgkRe&b56T41n)AhyeDMf2(X5$dr=$kZ z20w)~BY#12P)H#HoDn`xi|PWd%_=NLNMR989cjHM3MKSgyhtK6KmmY1EUR>>BrV;T z$@4EA+d6pjJ*#R{`7yl}R$AVq&+Wq7tl3z->tFhNIsE&_GBUbuzQ$84UhZGBb939` ztjF|YosW0o)~k>?Nz#|5^+N8&Q$#4I#@p;cv>E0B`XL-!LW|E@qut`C5P(OU!GuB& z|M7AhDwd3ggrr~{(%kU1LPo)-AT&2wtT9;Wsy4#z^1{RyjEmSixZe;|j2KoN6eH$B z4#YW=q*f=^@r`FgFTcB9F(113C9`5GT)41al?GxvRsW3?Tc69fF0B7dYB5KzK%e5D zGDsOje2I0a{K}wfFVH6JtpKhqGq-?WtB_Em zAKGADMazy^BXE75WtY*a@KxG%UWi~UQza=hc>fr(ss6)>WqC* z>CaN+DGk?^{fH^pj=EoGHS#a0*L7@LSS9)@pv+)#CJ(ETIe7;^G)={W%TV}(2wZ;2b(2<4HJEVexSZ++|UOvqc65# zPuo|@N361`AE+;yZ^UOfr@m;uQD0DB(;m;Nv20{>F-9syy^dq0{jHem9A_70V1O7| ztZ^>^>*pV1>tt-Oa~PkGK{Nr+q45yj6voOiQp@=YmOz`7!Aj+}un%cdSvFvzYV#`e z4ZbU>7+d(2Bc!^_p=YD79H2+3Ie{fX1~F5B1!%KIK*m7I;9q|D?{2n@FO`y|1M)EW z9(kMmw*0-)P8p)iRJJLqiJ97%9yI-E?q#mCq*;1dj#_WB-ecWsecSpyoUPL%3L+*) zoQd>Bj)>eG`HsD#eWrb#{hd$)N?KFYw@Gcf57x|2pLo!EaPR_hH^P$XjnOidtX5Ez4BWqyR@T{t=nOO%~mbV-!qV?F;Q(M<% zx6Cfc?vmXL=hy zL)QBg{EY`bIu2*uaXcO0p-*~>@iU1zfAG_YzyD#xIr#o)w3vQYapoV~|L;Gg_@91? zvGKbDO~>CjP=Kh>{M$r@9Q0gRUpG|ZeSh>1@s@G!2@;^at7M74nUJSvCiPYF03o&aoxcWJ%Rc3hL@!e)`;(i$g`W-0QAN{ zHVE^JTM_km8-4=wPppCsWy25^G8}PqBj6bs$wnbn`zf}FEyjAy8`;YMC{8Lc4Zd+lBW%jD5HK@IDyc7l!vGw9jwXPTY@uUie(xk8^Q9_66Z` z@jaXuh0lw_` zGhClu-HiHRFY1H6s1No9jP2zOi&egg^;4|_D>Tkm57m0n?-{BN{1~FA90v~!O~H>3 z4zFOU;_Io(**(-KU(b;8frK<3oY-*^H6wfyi4*&6;gblQL>7lnY&eN%8$Pk(#1;sj zSa4!Z2%ng7V!1PXV#0|zCVUc&6QwGA5`&ZIc;f`Il;L_geLeRv$AShXA*Zj`Y*fxg QB~JV{Yh%e!)sxNs4|ZBi%m4rY diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.svg b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.svg deleted file mode 100644 index ef8b7a2b..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 2011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-Semibold-webfont.ttf deleted file mode 100644 index a5b9691c1f329bff2acd569b3c82da44d96bb1a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30156 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 GO#cAXOHe%k diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.svg b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.svg deleted file mode 100644 index 46cfd5c8..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.ttf deleted file mode 100644 index 61d58bfa37b1f2b143527d72084130a59a5eb053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34644 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 AZU6uP diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.woff b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/OpenSans-SemiboldItalic-webfont.woff deleted file mode 100644 index 611b39028f17d21ffed411076b8457c66dda9199..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22332 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 R9ggs_6Z}nA4DN|H{~v4SaiRbK diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.svg b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.svg deleted file mode 100644 index 40683e9e..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.svg +++ /dev/null @@ -1,124 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.ttf deleted file mode 100644 index 787e513d733c42baf2705fe87025a26047db5194..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34660 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.woff b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/fontwso2.woff deleted file mode 100644 index 669b1a4235314daef57955ab5ab1b62639479f06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34736 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 Ng1_mC!9Dfj{{xCoWgP$j diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.eot b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index 4a4ca865d67e86f961bc6e2ef00bffa4e34bb9ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20335 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

!oRptb@n+ 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.svg b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.svg deleted file mode 100644 index 25691af8..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.ttf b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 67fa00bf83801d2fa568546b982c80d27f6ef74e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41280 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

PBK;&Wcg|NX{>QR@W3{K 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 diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.woff b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/fonts/glyphicons-halflings-regular.woff deleted file mode 100644 index 8c54182aa5d4d1ab3c9171976b615c1dcb1dc187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23320 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

v6>Q$# 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 b{V8Z#Oo&ic{PlhL07zb1`E9ABVZi?ZLT3ar diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/images/content-bg.png b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/images/content-bg.png deleted file mode 100644 index cf4e63e7334871b5fee2a55ad4aa2fdfd5a44403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11641 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 Q7%_0@fQ3o1F+S%10Ts`)CjbBd diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/bootstrap.min.js b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/bootstrap.min.js deleted file mode 100644 index c8f82e59..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v3.3.4 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.4",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.4",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.4",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.4",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-mp.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.4",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.4",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.4",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a(document.body).height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/html5shiv.min.js b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/html5shiv.min.js deleted file mode 100644 index 8aff8f65..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/html5shiv.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Created by Sharon on 5/14/2015. - */ -/** - * @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed - */ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document); \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/jquery-1.11.2.min.js b/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/jquery-1.11.2.min.js deleted file mode 100644 index 18bdbed7..00000000 --- a/modules/distribution/src/repository/jaggeryapps/sensebot/units/theme/public/js/jquery-1.11.2.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v2.1.3 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c) -},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("