├── .gitattributes ├── .gitignore ├── README.md ├── accounts ├── __init__.py ├── admin.py ├── decorators.py ├── migrations │ ├── 0001_initial.py │ ├── 0002_remove_user_password.py │ ├── 0003_user_password.py │ ├── 0004_auto_20161118_1341.py │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── assetmanage ├── __init__.py ├── admin.py ├── migrations │ ├── 0001_initial.py │ ├── 0002_auto_20160819_1345.py │ ├── 0003_auto_20160821_1302.py │ ├── 0004_auto_20161011_1831.py │ ├── 0005_auto_20161011_1837.py │ ├── 0006_auto_20161011_1850.py │ ├── 0007_auto_20161011_1854.py │ ├── 0008_auto_20161011_1901.py │ ├── 0009_auto_20161011_1905.py │ ├── 0010_auto_20161011_1915.py │ ├── 0011_auto_20161104_1116.py │ ├── 0012_networkinfo.py │ ├── 0013_auto_20170213_1528.py │ ├── 0014_auto_20170213_1528.py │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── autodeploy ├── __init__.py ├── admin.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── collected_static └── text.txt ├── file.py ├── fourthgen ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py ├── manage.py ├── reload ├── requirements.txt ├── saltstack ├── __init__.py ├── admin.py ├── migrations │ └── __init__.py ├── models.py ├── saltapi.py ├── tests.py ├── urls.py └── views.py ├── screenshots ├── ._Associated_virtual_host.jpg ├── ._Associated_virtual_host_con.jpg ├── ._autodeploy_app.jpg ├── ._autodeploy_compute.jpg ├── ._login.jpg ├── ._minion_auth_man.jpg ├── ._out_minion_arg.jpg ├── ._physical_server_add_result.jpg ├── ._physical_server_details_info.jpg ├── ._physical_server_info.jpg ├── ._remote_execute_shell.jpg ├── ._remote_execute_state.jpg ├── ._server_info_add.jpg ├── ._virtual_host_info.jpg ├── Associated_virtual_host.jpg ├── Associated_virtual_host_con.jpg ├── autodeploy_app.jpg ├── autodeploy_compute.jpg ├── login.jpg ├── minion_auth_man.jpg ├── out_minion_arg.jpg ├── physical_server_add_result.jpg ├── physical_server_details_info.jpg ├── physical_server_info.jpg ├── remote_execute_shell.jpg ├── remote_execute_state.jpg ├── server_info_add.jpg └── virtual_host_info.jpg ├── static ├── LICENSE ├── README.md ├── bower.json ├── bower_components │ ├── bootstrap-social │ │ ├── .bower.json │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── README.md │ │ ├── bootstrap-social.css │ │ ├── bootstrap-social.less │ │ ├── bootstrap-social.scss │ │ └── bower.json │ ├── bootstrap │ │ ├── .bower.json │ │ ├── CHANGELOG.md │ │ ├── Gruntfile.js │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bower.json │ │ ├── dist │ │ │ ├── css │ │ │ │ ├── bootstrap-theme.css │ │ │ │ ├── bootstrap-theme.css.map │ │ │ │ ├── bootstrap-theme.min.css │ │ │ │ ├── bootstrap-theme.min.css.map │ │ │ │ ├── bootstrap.css │ │ │ │ ├── bootstrap.css.map │ │ │ │ ├── bootstrap.min.css │ │ │ │ └── bootstrap.min.css.map │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ └── js │ │ │ │ ├── bootstrap.js │ │ │ │ ├── bootstrap.min.js │ │ │ │ └── npm.js │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── grunt │ │ │ ├── .jshintrc │ │ │ ├── bs-commonjs-generator.js │ │ │ ├── bs-glyphicons-data-generator.js │ │ │ ├── bs-lessdoc-parser.js │ │ │ ├── bs-raw-files-generator.js │ │ │ ├── configBridge.json │ │ │ └── sauce_browsers.yml │ │ ├── js │ │ │ ├── .jscsrc │ │ │ ├── .jshintrc │ │ │ ├── affix.js │ │ │ ├── alert.js │ │ │ ├── button.js │ │ │ ├── carousel.js │ │ │ ├── collapse.js │ │ │ ├── dropdown.js │ │ │ ├── modal.js │ │ │ ├── popover.js │ │ │ ├── scrollspy.js │ │ │ ├── tab.js │ │ │ ├── tooltip.js │ │ │ └── transition.js │ │ ├── less │ │ │ ├── .csscomb.json │ │ │ ├── .csslintrc │ │ │ ├── alerts.less │ │ │ ├── badges.less │ │ │ ├── bootstrap.less │ │ │ ├── breadcrumbs.less │ │ │ ├── button-groups.less │ │ │ ├── buttons.less │ │ │ ├── carousel.less │ │ │ ├── close.less │ │ │ ├── code.less │ │ │ ├── component-animations.less │ │ │ ├── dropdowns.less │ │ │ ├── forms.less │ │ │ ├── glyphicons.less │ │ │ ├── grid.less │ │ │ ├── input-groups.less │ │ │ ├── jumbotron.less │ │ │ ├── labels.less │ │ │ ├── list-group.less │ │ │ ├── media.less │ │ │ ├── mixins.less │ │ │ ├── mixins │ │ │ │ ├── alerts.less │ │ │ │ ├── background-variant.less │ │ │ │ ├── border-radius.less │ │ │ │ ├── buttons.less │ │ │ │ ├── center-block.less │ │ │ │ ├── clearfix.less │ │ │ │ ├── forms.less │ │ │ │ ├── gradients.less │ │ │ │ ├── grid-framework.less │ │ │ │ ├── grid.less │ │ │ │ ├── hide-text.less │ │ │ │ ├── image.less │ │ │ │ ├── labels.less │ │ │ │ ├── list-group.less │ │ │ │ ├── nav-divider.less │ │ │ │ ├── nav-vertical-align.less │ │ │ │ ├── opacity.less │ │ │ │ ├── pagination.less │ │ │ │ ├── panels.less │ │ │ │ ├── progress-bar.less │ │ │ │ ├── reset-filter.less │ │ │ │ ├── reset-text.less │ │ │ │ ├── resize.less │ │ │ │ ├── responsive-visibility.less │ │ │ │ ├── size.less │ │ │ │ ├── tab-focus.less │ │ │ │ ├── table-row.less │ │ │ │ ├── text-emphasis.less │ │ │ │ ├── text-overflow.less │ │ │ │ └── vendor-prefixes.less │ │ │ ├── modals.less │ │ │ ├── navbar.less │ │ │ ├── navs.less │ │ │ ├── normalize.less │ │ │ ├── pager.less │ │ │ ├── pagination.less │ │ │ ├── panels.less │ │ │ ├── popovers.less │ │ │ ├── print.less │ │ │ ├── progress-bars.less │ │ │ ├── responsive-embed.less │ │ │ ├── responsive-utilities.less │ │ │ ├── scaffolding.less │ │ │ ├── tables.less │ │ │ ├── theme.less │ │ │ ├── thumbnails.less │ │ │ ├── tooltip.less │ │ │ ├── type.less │ │ │ ├── utilities.less │ │ │ ├── variables.less │ │ │ └── wells.less │ │ ├── nuget │ │ │ ├── MyGet.ps1 │ │ │ ├── bootstrap.less.nuspec │ │ │ └── bootstrap.nuspec │ │ ├── package.js │ │ └── package.json │ ├── datatables-plugins │ │ ├── .bower.json │ │ ├── README.md │ │ ├── api │ │ │ ├── average().js │ │ │ ├── column().title().js │ │ │ ├── columns().order().js │ │ │ ├── fnAddDataAndDisplay.js │ │ │ ├── fnAddTr.js │ │ │ ├── fnColumnIndexToVisible.js │ │ │ ├── fnDataUpdate.js │ │ │ ├── fnDisplayRow.js │ │ │ ├── fnDisplayStart.js │ │ │ ├── fnFakeRowspan.js │ │ │ ├── fnFilterAll.js │ │ │ ├── fnFilterClear.js │ │ │ ├── fnFilterOnReturn.js │ │ │ ├── fnFindCellRowIndexes.js │ │ │ ├── fnFindCellRowNodes.js │ │ │ ├── fnGetAdjacentTr.js │ │ │ ├── fnGetColumnData.js │ │ │ ├── fnGetColumnIndex.js │ │ │ ├── fnGetHiddenNodes.js │ │ │ ├── fnGetTd.js │ │ │ ├── fnGetTds.js │ │ │ ├── fnLengthChange.js │ │ │ ├── fnMultiFilter.js │ │ │ ├── fnPagingInfo.js │ │ │ ├── fnProcessingIndicator.js │ │ │ ├── fnReloadAjax.js │ │ │ ├── fnSetFilteringDelay.js │ │ │ ├── fnSortNeutral.js │ │ │ ├── fnStandingRedraw.js │ │ │ ├── fnVisibleToColumnIndex.js │ │ │ ├── index.html │ │ │ ├── page.jumpToData().js │ │ │ └── sum().js │ │ ├── features │ │ │ ├── alphabetSearch │ │ │ │ ├── dataTables.alphabetSearch.css │ │ │ │ ├── dataTables.alphabetSearch.js │ │ │ │ └── dataTables.alphabetSearch.min.js │ │ │ ├── lengthLinks │ │ │ │ ├── dataTables.lengthLinks.css │ │ │ │ ├── dataTables.lengthLinks.js │ │ │ │ └── dataTables.lengthLinks.min.js │ │ │ └── searchHighlight │ │ │ │ ├── dataTables.searchHighlight.css │ │ │ │ ├── dataTables.searchHighlight.js │ │ │ │ └── dataTables.searchHighlight.min.js │ │ ├── filtering │ │ │ ├── index.html │ │ │ ├── row-based │ │ │ │ ├── TableTools.ShowSelectedOnly.js │ │ │ │ ├── range_dates.js │ │ │ │ └── range_numbers.js │ │ │ └── type-based │ │ │ │ ├── accent-neutralise.js │ │ │ │ ├── html.js │ │ │ │ └── phoneNumber.js │ │ ├── i18n │ │ │ ├── Afrikaans.lang │ │ │ ├── Albanian.lang │ │ │ ├── Arabic.lang │ │ │ ├── Azerbaijan.lang │ │ │ ├── Bangla.lang │ │ │ ├── Belarusian.lang │ │ │ ├── Bulgarian.lang │ │ │ ├── Catalan.lang │ │ │ ├── Chinese-traditional.lang │ │ │ ├── Chinese.lang │ │ │ ├── Croatian.lang │ │ │ ├── Czech.lang │ │ │ ├── Danish.lang │ │ │ ├── Dutch.lang │ │ │ ├── English.lang │ │ │ ├── Estonian.lang │ │ │ ├── Filipino.lang │ │ │ ├── Finnish.lang │ │ │ ├── French.lang │ │ │ ├── Galician.lang │ │ │ ├── Georgian.lang │ │ │ ├── German.lang │ │ │ ├── Greek.lang │ │ │ ├── Gujarati.lang │ │ │ ├── Hebrew.lang │ │ │ ├── Hindi.lang │ │ │ ├── Hungarian.lang │ │ │ ├── Icelandic.lang │ │ │ ├── Indonesian-Alternative.lang │ │ │ ├── Indonesian.lang │ │ │ ├── Irish.lang │ │ │ ├── Italian.lang │ │ │ ├── Japanese.lang │ │ │ ├── Korean.lang │ │ │ ├── Latvian.lang │ │ │ ├── Lithuanian.lang │ │ │ ├── Macedonian.lang │ │ │ ├── Malay.lang │ │ │ ├── Norwegian.lang │ │ │ ├── Persian.lang │ │ │ ├── Polish.lang │ │ │ ├── Portuguese-Brasil.lang │ │ │ ├── Portuguese.lang │ │ │ ├── Romanian.lang │ │ │ ├── Russian.lang │ │ │ ├── Serbian.lang │ │ │ ├── Slovak.lang │ │ │ ├── Slovenian.lang │ │ │ ├── Spanish.lang │ │ │ ├── Swahili.lang │ │ │ ├── Swedish.lang │ │ │ ├── Tamil.lang │ │ │ ├── Thai.lang │ │ │ ├── Turkish.lang │ │ │ ├── Ukranian.lang │ │ │ ├── Urdu.lang │ │ │ ├── Uzbek.lang │ │ │ ├── Vietnamese.lang │ │ │ └── index.html │ │ ├── integration │ │ │ ├── bootstrap │ │ │ │ ├── 1 │ │ │ │ │ ├── dataTables.bootstrap.css │ │ │ │ │ └── dataTables.bootstrap.js │ │ │ │ ├── 2 │ │ │ │ │ ├── dataTables.bootstrap.css │ │ │ │ │ ├── dataTables.bootstrap.js │ │ │ │ │ ├── dataTables.bootstrap.min.js │ │ │ │ │ └── index.html │ │ │ │ ├── 3 │ │ │ │ │ ├── dataTables.bootstrap.css │ │ │ │ │ ├── dataTables.bootstrap.js │ │ │ │ │ ├── dataTables.bootstrap.min.js │ │ │ │ │ └── index.html │ │ │ │ └── images │ │ │ │ │ ├── sort_asc.png │ │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ │ ├── sort_both.png │ │ │ │ │ ├── sort_desc.png │ │ │ │ │ └── sort_desc_disabled.png │ │ │ ├── font-awesome │ │ │ │ ├── bootstrap.html │ │ │ │ ├── dataTables.fontAwesome.css │ │ │ │ ├── datatables.html │ │ │ │ └── foundation.html │ │ │ ├── foundation │ │ │ │ ├── dataTables.foundation.css │ │ │ │ ├── dataTables.foundation.js │ │ │ │ ├── dataTables.foundation.min.js │ │ │ │ ├── images │ │ │ │ │ ├── sort_asc.png │ │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ │ ├── sort_both.png │ │ │ │ │ ├── sort_desc.png │ │ │ │ │ └── sort_desc_disabled.png │ │ │ │ └── index.html │ │ │ └── jqueryui │ │ │ │ ├── dataTables.jqueryui.css │ │ │ │ ├── dataTables.jqueryui.js │ │ │ │ ├── dataTables.jqueryui.min.js │ │ │ │ ├── dataTables.jqueryui.scss │ │ │ │ └── index.html │ │ ├── make.sh │ │ ├── pagination │ │ │ ├── ellipses.js │ │ │ ├── extjs.js │ │ │ ├── four_button.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── jPaginator │ │ │ │ └── dataTables.jPaginator.js │ │ │ ├── scrolling.js │ │ │ └── select.js │ │ ├── sorting │ │ │ ├── .DS_Store │ │ │ ├── alt-string.js │ │ │ ├── anti-the.js │ │ │ ├── chinese-string.js │ │ │ ├── currency.js │ │ │ ├── custom-data-source │ │ │ │ ├── dom-checkbox.js │ │ │ │ ├── dom-select.js │ │ │ │ └── dom-text.js │ │ │ ├── date-dd-MMM-yyyy.js │ │ │ ├── date-de.js │ │ │ ├── date-eu.js │ │ │ ├── date-euro.js │ │ │ ├── date-uk.js │ │ │ ├── datetime-moment.js │ │ │ ├── datetime-us.js │ │ │ ├── enum.js │ │ │ ├── file-size.js │ │ │ ├── formatted-numbers.js │ │ │ ├── index.html │ │ │ ├── ip-address.js │ │ │ ├── monthYear.js │ │ │ ├── natural.js │ │ │ ├── num-html.js │ │ │ ├── numeric-comma.js │ │ │ ├── percent.js │ │ │ ├── persian.js │ │ │ ├── scientific.js │ │ │ ├── signed-num.js │ │ │ ├── stringMonthYear.js │ │ │ ├── time.js │ │ │ ├── title-numeric.js │ │ │ ├── title-string.js │ │ │ └── turkish-string.js │ │ └── type-detection │ │ │ ├── currency.js │ │ │ ├── date-uk.js │ │ │ ├── file-size.js │ │ │ ├── formatted-num.js │ │ │ ├── index.html │ │ │ ├── ip-address.js │ │ │ ├── num-html.js │ │ │ └── numeric-comma.js │ ├── datatables-responsive │ │ ├── .bower.json │ │ ├── .gitignore │ │ ├── License.txt │ │ ├── Readme.md │ │ ├── bower.json │ │ ├── css │ │ │ ├── responsive.bootstrap.scss │ │ │ ├── responsive.dataTables.scss │ │ │ ├── responsive.foundation.scss │ │ │ └── responsive.jqueryui.scss │ │ ├── docs │ │ │ ├── api │ │ │ │ ├── responsive.index().xml │ │ │ │ ├── responsive.rebuild().xml │ │ │ │ └── responsive.recalc().xml │ │ │ └── option │ │ │ │ ├── responsive.breakpoints.xml │ │ │ │ ├── responsive.details.renderer.xml │ │ │ │ ├── responsive.details.target.xml │ │ │ │ ├── responsive.details.type.xml │ │ │ │ ├── responsive.details.xml │ │ │ │ └── responsive.xml │ │ ├── examples │ │ │ ├── .DS_Store │ │ │ ├── child-rows │ │ │ │ ├── column-control.xml │ │ │ │ ├── custom-renderer.xml │ │ │ │ ├── disable-child-rows.xml │ │ │ │ ├── index.xml │ │ │ │ ├── right-column.xml │ │ │ │ └── whole-row-control.xml │ │ │ ├── display-control │ │ │ │ ├── auto.xml │ │ │ │ ├── classes.xml │ │ │ │ ├── complexHeader.xml │ │ │ │ ├── fixedHeader.xml │ │ │ │ ├── index.xml │ │ │ │ └── init-classes.xml │ │ │ ├── index.xml │ │ │ ├── initialisation │ │ │ │ ├── .DS_Store │ │ │ │ ├── ajax.xml │ │ │ │ ├── className.xml │ │ │ │ ├── default.xml │ │ │ │ ├── index.xml │ │ │ │ ├── new.xml │ │ │ │ └── option.xml │ │ │ └── styling │ │ │ │ ├── bootstrap.xml │ │ │ │ ├── compact.xml │ │ │ │ ├── foundation.xml │ │ │ │ ├── index.xml │ │ │ │ ├── jqueryui.xml │ │ │ │ └── scrolling.xml │ │ ├── js │ │ │ └── dataTables.responsive.js │ │ └── make.sh │ ├── datatables │ │ ├── .bower.json │ │ ├── Contributing.md │ │ ├── Readme.md │ │ ├── bower.json │ │ ├── license.txt │ │ └── media │ │ │ ├── css │ │ │ ├── dataTables.bootstrap.css │ │ │ ├── dataTables.bootstrap.min.css │ │ │ ├── dataTables.foundation.css │ │ │ ├── dataTables.foundation.min.css │ │ │ ├── dataTables.jqueryui.css │ │ │ ├── dataTables.jqueryui.min.css │ │ │ ├── jquery.dataTables.css │ │ │ ├── jquery.dataTables.min.css │ │ │ └── jquery.dataTables_themeroller.css │ │ │ ├── images │ │ │ ├── Sorting icons.psd │ │ │ ├── favicon.ico │ │ │ ├── sort_asc.png │ │ │ ├── sort_asc_disabled.png │ │ │ ├── sort_both.png │ │ │ ├── sort_desc.png │ │ │ └── sort_desc_disabled.png │ │ │ └── js │ │ │ ├── dataTables.bootstrap.js │ │ │ ├── dataTables.bootstrap.min.js │ │ │ ├── dataTables.foundation.js │ │ │ ├── dataTables.foundation.min.js │ │ │ ├── dataTables.jqueryui.js │ │ │ ├── dataTables.jqueryui.min.js │ │ │ ├── jquery.dataTables.js │ │ │ ├── jquery.dataTables.min.js │ │ │ └── jquery.js │ ├── flot.tooltip │ │ ├── .bower.json │ │ ├── bower.json │ │ └── js │ │ │ ├── excanvas.min.js │ │ │ ├── jquery.flot.js │ │ │ ├── jquery.flot.tooltip.js │ │ │ ├── jquery.flot.tooltip.min.js │ │ │ └── jquery.flot.tooltip.source.js │ ├── flot │ │ ├── .bower.json │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── API.md │ │ ├── CONTRIBUTING.md │ │ ├── FAQ.md │ │ ├── LICENSE.txt │ │ ├── Makefile │ │ ├── NEWS.md │ │ ├── PLUGINS.md │ │ ├── README.md │ │ ├── component.json │ │ ├── examples │ │ │ ├── ajax │ │ │ │ ├── data-eu-gdp-growth-1.json │ │ │ │ ├── data-eu-gdp-growth-2.json │ │ │ │ ├── data-eu-gdp-growth-3.json │ │ │ │ ├── data-eu-gdp-growth-4.json │ │ │ │ ├── data-eu-gdp-growth-5.json │ │ │ │ ├── data-eu-gdp-growth.json │ │ │ │ ├── data-japan-gdp-growth.json │ │ │ │ ├── data-usa-gdp-growth.json │ │ │ │ └── index.html │ │ │ ├── annotating │ │ │ │ └── index.html │ │ │ ├── axes-interacting │ │ │ │ └── index.html │ │ │ ├── axes-multiple │ │ │ │ └── index.html │ │ │ ├── axes-time-zones │ │ │ │ ├── date.js │ │ │ │ ├── index.html │ │ │ │ └── tz │ │ │ │ │ ├── africa │ │ │ │ │ ├── antarctica │ │ │ │ │ ├── asia │ │ │ │ │ ├── australasia │ │ │ │ │ ├── backward │ │ │ │ │ ├── etcetera │ │ │ │ │ ├── europe │ │ │ │ │ ├── factory │ │ │ │ │ ├── iso3166.tab │ │ │ │ │ ├── leapseconds │ │ │ │ │ ├── northamerica │ │ │ │ │ ├── pacificnew │ │ │ │ │ ├── solar87 │ │ │ │ │ ├── solar88 │ │ │ │ │ ├── solar89 │ │ │ │ │ ├── southamerica │ │ │ │ │ ├── systemv │ │ │ │ │ ├── yearistype.sh │ │ │ │ │ └── zone.tab │ │ │ ├── axes-time │ │ │ │ └── index.html │ │ │ ├── background.png │ │ │ ├── basic-options │ │ │ │ └── index.html │ │ │ ├── basic-usage │ │ │ │ └── index.html │ │ │ ├── canvas │ │ │ │ └── index.html │ │ │ ├── categories │ │ │ │ └── index.html │ │ │ ├── examples.css │ │ │ ├── image │ │ │ │ ├── hs-2004-27-a-large-web.jpg │ │ │ │ └── index.html │ │ │ ├── index.html │ │ │ ├── interacting │ │ │ │ └── index.html │ │ │ ├── navigate │ │ │ │ ├── arrow-down.gif │ │ │ │ ├── arrow-left.gif │ │ │ │ ├── arrow-right.gif │ │ │ │ ├── arrow-up.gif │ │ │ │ └── index.html │ │ │ ├── percentiles │ │ │ │ └── index.html │ │ │ ├── realtime │ │ │ │ └── index.html │ │ │ ├── resize │ │ │ │ └── index.html │ │ │ ├── selection │ │ │ │ └── index.html │ │ │ ├── series-errorbars │ │ │ │ └── index.html │ │ │ ├── series-pie │ │ │ │ └── index.html │ │ │ ├── series-toggle │ │ │ │ └── index.html │ │ │ ├── series-types │ │ │ │ └── index.html │ │ │ ├── shared │ │ │ │ └── jquery-ui │ │ │ │ │ └── jquery-ui.min.css │ │ │ ├── stacking │ │ │ │ └── index.html │ │ │ ├── symbols │ │ │ │ └── index.html │ │ │ ├── threshold │ │ │ │ └── index.html │ │ │ ├── tracking │ │ │ │ └── index.html │ │ │ ├── visitors │ │ │ │ └── index.html │ │ │ └── zooming │ │ │ │ └── index.html │ │ ├── excanvas.js │ │ ├── excanvas.min.js │ │ ├── flot.jquery.json │ │ ├── jquery.colorhelpers.js │ │ ├── jquery.flot.canvas.js │ │ ├── jquery.flot.categories.js │ │ ├── jquery.flot.crosshair.js │ │ ├── jquery.flot.errorbars.js │ │ ├── jquery.flot.fillbetween.js │ │ ├── jquery.flot.image.js │ │ ├── jquery.flot.js │ │ ├── jquery.flot.navigate.js │ │ ├── jquery.flot.pie.js │ │ ├── jquery.flot.resize.js │ │ ├── jquery.flot.selection.js │ │ ├── jquery.flot.stack.js │ │ ├── jquery.flot.symbol.js │ │ ├── jquery.flot.threshold.js │ │ ├── jquery.flot.time.js │ │ ├── jquery.js │ │ └── package.json │ ├── font-awesome │ │ ├── .bower.json │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── bower.json │ │ ├── css │ │ │ ├── font-awesome.css │ │ │ └── font-awesome.min.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ ├── less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── extras.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── spinning.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ └── scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _extras.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _spinning.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ ├── holderjs │ │ ├── .bower.json │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .jshintrc │ │ ├── README.md │ │ ├── bower.json │ │ ├── composer.json │ │ ├── gulpfile.js │ │ ├── holder.js │ │ ├── package.json │ │ ├── src │ │ │ ├── augment.js │ │ │ ├── holder.js │ │ │ ├── ondomready.js │ │ │ └── polyfills.js │ │ └── test │ │ │ ├── .gitignore │ │ │ ├── image.jpg │ │ │ └── index.html │ ├── jquery │ │ ├── .bower.json │ │ ├── MIT-LICENSE.txt │ │ ├── bower.json │ │ ├── dist │ │ │ ├── jquery.js │ │ │ ├── jquery.min.js │ │ │ └── jquery.min.map │ │ └── src │ │ │ ├── ajax.js │ │ │ ├── ajax │ │ │ ├── jsonp.js │ │ │ ├── load.js │ │ │ ├── parseJSON.js │ │ │ ├── parseXML.js │ │ │ ├── script.js │ │ │ ├── var │ │ │ │ ├── nonce.js │ │ │ │ └── rquery.js │ │ │ └── xhr.js │ │ │ ├── attributes.js │ │ │ ├── attributes │ │ │ ├── attr.js │ │ │ ├── classes.js │ │ │ ├── prop.js │ │ │ ├── support.js │ │ │ └── val.js │ │ │ ├── callbacks.js │ │ │ ├── core.js │ │ │ ├── core │ │ │ ├── access.js │ │ │ ├── init.js │ │ │ ├── parseHTML.js │ │ │ ├── ready.js │ │ │ └── var │ │ │ │ └── rsingleTag.js │ │ │ ├── css.js │ │ │ ├── css │ │ │ ├── addGetHookIf.js │ │ │ ├── curCSS.js │ │ │ ├── defaultDisplay.js │ │ │ ├── hiddenVisibleSelectors.js │ │ │ ├── support.js │ │ │ ├── swap.js │ │ │ └── var │ │ │ │ ├── cssExpand.js │ │ │ │ ├── getStyles.js │ │ │ │ ├── isHidden.js │ │ │ │ ├── rmargin.js │ │ │ │ └── rnumnonpx.js │ │ │ ├── data.js │ │ │ ├── data │ │ │ ├── Data.js │ │ │ ├── accepts.js │ │ │ └── var │ │ │ │ ├── data_priv.js │ │ │ │ └── data_user.js │ │ │ ├── deferred.js │ │ │ ├── deprecated.js │ │ │ ├── dimensions.js │ │ │ ├── effects.js │ │ │ ├── effects │ │ │ ├── Tween.js │ │ │ └── animatedSelector.js │ │ │ ├── event.js │ │ │ ├── event │ │ │ ├── ajax.js │ │ │ ├── alias.js │ │ │ └── support.js │ │ │ ├── exports │ │ │ ├── amd.js │ │ │ └── global.js │ │ │ ├── intro.js │ │ │ ├── jquery.js │ │ │ ├── manipulation.js │ │ │ ├── manipulation │ │ │ ├── _evalUrl.js │ │ │ ├── support.js │ │ │ └── var │ │ │ │ └── rcheckableType.js │ │ │ ├── offset.js │ │ │ ├── outro.js │ │ │ ├── queue.js │ │ │ ├── queue │ │ │ └── delay.js │ │ │ ├── selector-native.js │ │ │ ├── selector-sizzle.js │ │ │ ├── selector.js │ │ │ ├── serialize.js │ │ │ ├── sizzle │ │ │ └── dist │ │ │ │ ├── sizzle.js │ │ │ │ ├── sizzle.min.js │ │ │ │ └── sizzle.min.map │ │ │ ├── traversing.js │ │ │ ├── traversing │ │ │ ├── findFilter.js │ │ │ └── var │ │ │ │ └── rneedsContext.js │ │ │ ├── var │ │ │ ├── arr.js │ │ │ ├── class2type.js │ │ │ ├── concat.js │ │ │ ├── hasOwn.js │ │ │ ├── indexOf.js │ │ │ ├── pnum.js │ │ │ ├── push.js │ │ │ ├── rnotwhite.js │ │ │ ├── slice.js │ │ │ ├── strundefined.js │ │ │ ├── support.js │ │ │ └── toString.js │ │ │ └── wrap.js │ ├── metisMenu │ │ ├── .bower.json │ │ ├── Gruntfile.js │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bower.json │ │ ├── dist │ │ │ ├── metisMenu.css │ │ │ ├── metisMenu.js │ │ │ ├── metisMenu.min.css │ │ │ └── metisMenu.min.js │ │ ├── package.json │ │ └── src │ │ │ ├── metisMenu.css │ │ │ └── metisMenu.js │ ├── mocha │ │ ├── .bower.json │ │ ├── History.md │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── bower.json │ │ ├── media │ │ │ └── logo.svg │ │ ├── mocha.css │ │ └── mocha.js │ ├── morrisjs │ │ ├── .bower.json │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gruntfile.js │ │ ├── README.md │ │ ├── bower.json │ │ ├── bower.travis.json │ │ ├── examples │ │ │ ├── _template.html │ │ │ ├── area-as-line.html │ │ │ ├── area.html │ │ │ ├── bar-colors.html │ │ │ ├── bar-no-axes.html │ │ │ ├── bar.html │ │ │ ├── days.html │ │ │ ├── decimal-custom-hover.html │ │ │ ├── diagonal-xlabels-bar.html │ │ │ ├── diagonal-xlabels.html │ │ │ ├── donut-colors.html │ │ │ ├── donut-formatter.html │ │ │ ├── donut.html │ │ │ ├── dst.html │ │ │ ├── events.html │ │ │ ├── goals.html │ │ │ ├── lib │ │ │ │ ├── example.css │ │ │ │ └── example.js │ │ │ ├── months-no-smooth.html │ │ │ ├── negative.html │ │ │ ├── no-grid.html │ │ │ ├── non-continuous.html │ │ │ ├── non-date.html │ │ │ ├── quarters.html │ │ │ ├── resize.html │ │ │ ├── stacked_bars.html │ │ │ ├── timestamps.html │ │ │ ├── updating.html │ │ │ ├── weeks.html │ │ │ └── years.html │ │ ├── less │ │ │ └── morris.core.less │ │ ├── lib │ │ │ ├── morris.area.coffee │ │ │ ├── morris.bar.coffee │ │ │ ├── morris.coffee │ │ │ ├── morris.donut.coffee │ │ │ ├── morris.grid.coffee │ │ │ ├── morris.hover.coffee │ │ │ └── morris.line.coffee │ │ ├── morris.css │ │ ├── morris.js │ │ ├── morris.min.js │ │ ├── package.json │ │ └── spec │ │ │ ├── lib │ │ │ ├── area │ │ │ │ └── area_spec.coffee │ │ │ ├── bar │ │ │ │ ├── bar_spec.coffee │ │ │ │ └── colours.coffee │ │ │ ├── commas_spec.coffee │ │ │ ├── donut │ │ │ │ └── donut_spec.coffee │ │ │ ├── grid │ │ │ │ ├── auto_grid_lines_spec.coffee │ │ │ │ ├── set_data_spec.coffee │ │ │ │ └── y_label_format_spec.coffee │ │ │ ├── hover_spec.coffee │ │ │ ├── label_series_spec.coffee │ │ │ ├── line │ │ │ │ └── line_spec.coffee │ │ │ ├── pad_spec.coffee │ │ │ └── parse_time_spec.coffee │ │ │ ├── specs.html │ │ │ ├── support │ │ │ └── placeholder.coffee │ │ │ └── viz │ │ │ ├── examples.js │ │ │ ├── exemplary │ │ │ ├── area0.png │ │ │ ├── bar0.png │ │ │ ├── line0.png │ │ │ └── stacked_bar0.png │ │ │ ├── run.sh │ │ │ ├── test.html │ │ │ └── visual_specs.js │ └── raphael │ │ ├── .bower.json │ │ ├── bower.json │ │ ├── dev │ │ ├── amdDev.js │ │ ├── index.js │ │ └── require.js │ │ ├── license.txt │ │ ├── raphael-min.js │ │ └── raphael.js ├── dist │ ├── css │ │ ├── sb-admin-2.css │ │ └── timeline.css │ └── js │ │ └── sb-admin-2.js ├── index.html ├── js │ ├── flot-data.js │ └── morris-data.js ├── less │ ├── mixins.less │ ├── sb-admin-2.less │ └── variables.less └── pages │ ├── blank.html │ ├── buttons.html │ ├── flot.html │ ├── forms.html │ ├── grid.html │ ├── icons.html │ ├── index.html │ ├── login.html │ ├── morris.html │ ├── notifications.html │ ├── panels-wells.html │ ├── tables.html │ └── typography.html ├── templates ├── accounts │ └── login.html ├── assetmanage │ ├── asset_add.html │ ├── asset_add_null.html │ ├── asset_add_result.html │ ├── asset_del.html │ ├── asset_del_result.html │ ├── asset_table.html │ ├── asset_table_detail.html │ ├── asset_update.html │ ├── asset_update_arg_keep.html │ ├── asset_update_result.html │ ├── host_add.html │ ├── host_add_arg_keep.html │ ├── host_add_null.html │ ├── host_add_result.html │ ├── host_del.html │ ├── host_del_result.html │ ├── host_table.html │ ├── host_table_relate.html │ ├── host_update.html │ ├── host_update_arg_keep.html │ ├── host_update_result.html │ ├── network_add.html │ ├── network_add_null.html │ ├── network_add_result.html │ ├── network_del.html │ ├── network_del_result.html │ ├── network_table.html │ ├── network_update.html │ ├── network_update_arg_keep.html │ └── network_update_result.html ├── autodeploy │ ├── app_deploy.html │ └── compute_deploy.html ├── base.html └── saltstack │ ├── cmd_exec.html │ ├── key_list.html │ ├── match_arg.html │ ├── minion_install.html │ ├── minion_service_start.html │ ├── minion_service_start_ok.html │ └── state_exec.html └── uwsgi.ini /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=Python 2 | *.css linguist-language=Python 3 | *.html linguist-language=Python 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /accounts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/accounts/__init__.py -------------------------------------------------------------------------------- /accounts/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from .models import User 3 | 4 | # Register your models here. 5 | class UserAdmin(admin.ModelAdmin): 6 | list_display = ('username','password') 7 | 8 | admin.site.register(User,UserAdmin) 9 | -------------------------------------------------------------------------------- /accounts/decorators.py: -------------------------------------------------------------------------------- 1 | from django.http import HttpResponseRedirect 2 | import functools 3 | 4 | def login_required(func): 5 | @functools.wraps(func) 6 | def wrapper(request,*args, **kw): 7 | user = request.session.get('username') 8 | if user is not None: 9 | return func(request,*args, **kw) 10 | else: 11 | return HttpResponseRedirect('/accounts/login/') 12 | return wrapper -------------------------------------------------------------------------------- /accounts/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ] 11 | 12 | operations = [ 13 | migrations.CreateModel( 14 | name='User', 15 | fields=[ 16 | ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), 17 | ('username', models.CharField(max_length=50)), 18 | ('password', models.CharField(max_length=50)), 19 | ], 20 | ), 21 | ] 22 | -------------------------------------------------------------------------------- /accounts/migrations/0002_remove_user_password.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('accounts', '0001_initial'), 11 | ] 12 | 13 | operations = [ 14 | migrations.RemoveField( 15 | model_name='user', 16 | name='password', 17 | ), 18 | ] 19 | -------------------------------------------------------------------------------- /accounts/migrations/0003_user_password.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('accounts', '0002_remove_user_password'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AddField( 15 | model_name='user', 16 | name='password', 17 | field=models.CharField(default=b'123456', max_length=50), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /accounts/migrations/0004_auto_20161118_1341.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('accounts', '0003_user_password'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='user', 16 | name='password', 17 | field=models.CharField(max_length=50), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /accounts/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/accounts/migrations/__init__.py -------------------------------------------------------------------------------- /accounts/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | import hashlib 3 | # Create your models here. 4 | class User(models.Model): 5 | username = models.CharField(max_length=50) 6 | password = models.CharField(max_length=50) 7 | 8 | def save(self,*args,**kwargs): 9 | self.password = hashlib.sha1(self.password+self.username+'ylhb').hexdigest() 10 | super(User,self).save(*args,**kwargs) 11 | 12 | def __unicode__(self): 13 | return self.username 14 | 15 | -------------------------------------------------------------------------------- /accounts/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /accounts/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls import include, url 2 | from . import views 3 | 4 | urlpatterns = [ 5 | url(r'^$', views.login, name='init_login'), 6 | url(r'^login/$', views.login, name='login'), 7 | url(r'^logout/$', views.logout, name='logout'), 8 | ] -------------------------------------------------------------------------------- /assetmanage/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/assetmanage/__init__.py -------------------------------------------------------------------------------- /assetmanage/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /assetmanage/migrations/0002_auto_20160819_1345.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0001_initial'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='server_ip', 17 | field=models.CharField(max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='hostinfo', 21 | name='host_ip', 22 | field=models.ForeignKey(related_name='asset_set', to='assetmanage.Assetmanage'), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /assetmanage/migrations/0004_auto_20161011_1831.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0003_auto_20160821_1302'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(max_length=20, unique=True, null=True), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/0005_auto_20161011_1837.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0004_auto_20161011_1831'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(default=b'-', max_length=20), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/0006_auto_20161011_1850.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0005_auto_20161011_1837'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(unique=True, max_length=20, blank=True), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/0007_auto_20161011_1854.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0006_auto_20161011_1850'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(default=b'-', max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='assetmanage', 21 | name='server_ip', 22 | field=models.CharField(default=b'-', max_length=20), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /assetmanage/migrations/0008_auto_20161011_1901.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0007_auto_20161011_1854'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(default=b'null', max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='assetmanage', 21 | name='server_ip', 22 | field=models.CharField(default=b'null', max_length=20), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /assetmanage/migrations/0009_auto_20161011_1905.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0008_auto_20161011_1901'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(default=b'0.0.0.0', max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='assetmanage', 21 | name='server_ip', 22 | field=models.CharField(default=b'0.0.0.0', max_length=20), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /assetmanage/migrations/0010_auto_20161011_1915.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0009_auto_20161011_1905'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='assetmanage', 21 | name='server_ip', 22 | field=models.CharField(unique=True, max_length=20), 23 | ), 24 | migrations.AlterField( 25 | model_name='hostinfo', 26 | name='host_name', 27 | field=models.CharField(max_length=20), 28 | ), 29 | ] 30 | -------------------------------------------------------------------------------- /assetmanage/migrations/0011_auto_20161104_1116.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0010_auto_20161011_1915'), 11 | ] 12 | 13 | operations = [ 14 | migrations.RemoveField( 15 | model_name='hostinfo', 16 | name='cpu_num', 17 | ), 18 | migrations.RemoveField( 19 | model_name='hostinfo', 20 | name='disk_size', 21 | ), 22 | migrations.RemoveField( 23 | model_name='hostinfo', 24 | name='host_name', 25 | ), 26 | migrations.RemoveField( 27 | model_name='hostinfo', 28 | name='mem_size', 29 | ), 30 | migrations.RemoveField( 31 | model_name='hostinfo', 32 | name='system_version', 33 | ), 34 | ] 35 | -------------------------------------------------------------------------------- /assetmanage/migrations/0013_auto_20170213_1528.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0012_networkinfo'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='networkinfo', 16 | name='available_intf', 17 | field=models.CharField(max_length=100), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/0014_auto_20170213_1528.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0013_auto_20170213_1528'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='networkinfo', 16 | name='available_intf', 17 | field=models.CharField(default=b'-', max_length=100), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/assetmanage/migrations/__init__.py -------------------------------------------------------------------------------- /assetmanage/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /autodeploy/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/autodeploy/__init__.py -------------------------------------------------------------------------------- /autodeploy/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /autodeploy/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/autodeploy/migrations/__init__.py -------------------------------------------------------------------------------- /autodeploy/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /autodeploy/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /autodeploy/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls import include, url 2 | from . import views 3 | 4 | urlpatterns = [ 5 | url(r'^app_deploy_html/$', views.app_deploy_html, name='app_deploy_html'), 6 | url(r'^app_deploy/$', views.app_deploy, name='app_deploy'), 7 | url(r'^compute_deploy_html/$', views.compute_deploy_html, name='compute_deploy_html'), 8 | url(r'^compute_deploy/$', views.compute_deploy, name='compute_deploy'), 9 | ] 10 | -------------------------------------------------------------------------------- /collected_static/text.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/collected_static/text.txt -------------------------------------------------------------------------------- /fourthgen/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/fourthgen/__init__.py -------------------------------------------------------------------------------- /fourthgen/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for fourthgen project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "fourthgen.settings") 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "fourthgen.settings") 7 | 8 | from django.core.management import execute_from_command_line 9 | 10 | execute_from_command_line(sys.argv) 11 | -------------------------------------------------------------------------------- /reload: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/reload -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | bootstrap-admin==0.3.6 2 | cffi==1.5.2 3 | CherryPy==5.0.1 4 | cryptography==1.2.2 5 | Django==1.8.7 6 | django-appconf==1.0.2 7 | django-bootstrap-toolkit==2.15.0 8 | django-grappelli==2.7.3 9 | django-model-utils==2.6 10 | django-users2==0.2.1 11 | enum34==1.1.2 12 | idna==2.0 13 | ipaddress==1.0.16 14 | Jinja2==2.8 15 | M2Crypto==0.22.3 16 | MarkupSafe==0.23 17 | meld3==1.0.2 18 | msgpack-pure==0.1.3 19 | msgpack-python==0.4.6 20 | MySQL-python==1.2.5 21 | pyasn1==0.1.9 22 | pycparser==2.14 23 | pycrypto==2.6 24 | pycurl==7.43.0 25 | pyOpenSSL==0.14 26 | python-dateutil==1.5 27 | PyYAML==3.11 28 | pyzmq==14.1.1 29 | salt==2015.5.5 30 | six==1.10.0 31 | supervisor==3.3.1 32 | uWSGI==2.0.13.1 33 | -------------------------------------------------------------------------------- /saltstack/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/saltstack/__init__.py -------------------------------------------------------------------------------- /saltstack/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /saltstack/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/saltstack/migrations/__init__.py -------------------------------------------------------------------------------- /saltstack/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /saltstack/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /screenshots/._Associated_virtual_host.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._Associated_virtual_host.jpg -------------------------------------------------------------------------------- /screenshots/._Associated_virtual_host_con.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._Associated_virtual_host_con.jpg -------------------------------------------------------------------------------- /screenshots/._autodeploy_app.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._autodeploy_app.jpg -------------------------------------------------------------------------------- /screenshots/._autodeploy_compute.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._autodeploy_compute.jpg -------------------------------------------------------------------------------- /screenshots/._login.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._login.jpg -------------------------------------------------------------------------------- /screenshots/._minion_auth_man.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._minion_auth_man.jpg -------------------------------------------------------------------------------- /screenshots/._out_minion_arg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._out_minion_arg.jpg -------------------------------------------------------------------------------- /screenshots/._physical_server_add_result.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._physical_server_add_result.jpg -------------------------------------------------------------------------------- /screenshots/._physical_server_details_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._physical_server_details_info.jpg -------------------------------------------------------------------------------- /screenshots/._physical_server_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._physical_server_info.jpg -------------------------------------------------------------------------------- /screenshots/._remote_execute_shell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._remote_execute_shell.jpg -------------------------------------------------------------------------------- /screenshots/._remote_execute_state.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._remote_execute_state.jpg -------------------------------------------------------------------------------- /screenshots/._server_info_add.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._server_info_add.jpg -------------------------------------------------------------------------------- /screenshots/._virtual_host_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._virtual_host_info.jpg -------------------------------------------------------------------------------- /screenshots/Associated_virtual_host.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/Associated_virtual_host.jpg -------------------------------------------------------------------------------- /screenshots/Associated_virtual_host_con.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/Associated_virtual_host_con.jpg -------------------------------------------------------------------------------- /screenshots/autodeploy_app.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/autodeploy_app.jpg -------------------------------------------------------------------------------- /screenshots/autodeploy_compute.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/autodeploy_compute.jpg -------------------------------------------------------------------------------- /screenshots/login.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/login.jpg -------------------------------------------------------------------------------- /screenshots/minion_auth_man.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/minion_auth_man.jpg -------------------------------------------------------------------------------- /screenshots/out_minion_arg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/out_minion_arg.jpg -------------------------------------------------------------------------------- /screenshots/physical_server_add_result.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/physical_server_add_result.jpg -------------------------------------------------------------------------------- /screenshots/physical_server_details_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/physical_server_details_info.jpg -------------------------------------------------------------------------------- /screenshots/physical_server_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/physical_server_info.jpg -------------------------------------------------------------------------------- /screenshots/remote_execute_shell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/remote_execute_shell.jpg -------------------------------------------------------------------------------- /screenshots/remote_execute_state.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/remote_execute_state.jpg -------------------------------------------------------------------------------- /screenshots/server_info_add.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/server_info_add.jpg -------------------------------------------------------------------------------- /screenshots/virtual_host_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/virtual_host_info.jpg -------------------------------------------------------------------------------- /static/bower_components/bootstrap-social/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-social", 3 | "main": "bootstrap-social.css", 4 | "licence": "MIT", 5 | "ignore": [ 6 | "assets", 7 | "index.html", 8 | "LICENCE" 9 | ], 10 | "dependencies": { 11 | "bootstrap": "~3", 12 | "font-awesome": "~4.2" 13 | }, 14 | "homepage": "https://github.com/lipis/bootstrap-social", 15 | "version": "4.8.0", 16 | "_release": "4.8.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "4.8.0", 20 | "commit": "918fc55c3c938377a7618ec0f115846e50d4b883" 21 | }, 22 | "_source": "git://github.com/lipis/bootstrap-social.git", 23 | "_target": "~4.8.0", 24 | "_originalSource": "bootstrap-social", 25 | "_direct": true 26 | } -------------------------------------------------------------------------------- /static/bower_components/bootstrap-social/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | indent_style = space 7 | indent_size = 2 8 | end_of_line = lf 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap-social/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | dev 3 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap-social/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-social", 3 | "main": "bootstrap-social.css", 4 | "licence": "MIT", 5 | "ignore": [ 6 | "assets", 7 | "index.html", 8 | "LICENCE" 9 | ], 10 | "dependencies": { 11 | "bootstrap": "~3", 12 | "font-awesome": "~4.2" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs. 2 | 3 | See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. 4 | 5 | Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release. 6 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 2" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /static/bower_components/bootstrap/grunt/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends" : "../js/.jshintrc", 3 | "asi" : false, 4 | "browser" : false, 5 | "es3" : false, 6 | "node" : true 7 | } 8 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/js/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "asi" : true, 3 | "browser" : true, 4 | "eqeqeq" : false, 5 | "eqnull" : true, 6 | "es3" : true, 7 | "expr" : true, 8 | "jquery" : true, 9 | "latedef" : true, 10 | "laxbreak" : true, 11 | "nonbsp" : true, 12 | "strict" : true, 13 | "undef" : true, 14 | "unused" : true 15 | } 16 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/.csslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "adjoining-classes": false, 3 | "box-sizing": false, 4 | "box-model": false, 5 | "compatible-vendor-prefixes": false, 6 | "floats": false, 7 | "font-sizes": false, 8 | "gradients": false, 9 | "important": false, 10 | "known-properties": false, 11 | "outline-none": false, 12 | "qualified-headings": false, 13 | "regex-selectors": false, 14 | "shorthand": false, 15 | "text-indent": false, 16 | "unique-headings": false, 17 | "universal-selector": false, 18 | "unqualified-attributes": false 19 | } 20 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: @breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: @breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: (@font-size-base * 1.5); 9 | font-weight: @close-font-weight; 10 | line-height: 1; 11 | color: @close-color; 12 | text-shadow: @close-text-shadow; 13 | .opacity(.2); 14 | 15 | &:hover, 16 | &:focus { 17 | color: @close-color; 18 | text-decoration: none; 19 | cursor: pointer; 20 | .opacity(.5); 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 27 | button& { 28 | padding: 0; 29 | cursor: pointer; 30 | background: transparent; 31 | border: 0; 32 | -webkit-appearance: none; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | .transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | 21 | &.in { display: block; } 22 | tr&.in { display: table-row; } 23 | tbody&.in { display: table-row-group; } 24 | } 25 | 26 | .collapsing { 27 | position: relative; 28 | height: 0; 29 | overflow: hidden; 30 | .transition-property(~"height, visibility"); 31 | .transition-duration(.35s); 32 | .transition-timing-function(ease); 33 | } 34 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/alerts.less: -------------------------------------------------------------------------------- 1 | // Alerts 2 | 3 | .alert-variant(@background; @border; @text-color) { 4 | background-color: @background; 5 | border-color: @border; 6 | color: @text-color; 7 | 8 | hr { 9 | border-top-color: darken(@border, 5%); 10 | } 11 | .alert-link { 12 | color: darken(@text-color, 10%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/background-variant.less: -------------------------------------------------------------------------------- 1 | // Contextual backgrounds 2 | 3 | .bg-variant(@color) { 4 | background-color: @color; 5 | a&:hover, 6 | a&:focus { 7 | background-color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/border-radius.less: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | .border-top-radius(@radius) { 4 | border-top-right-radius: @radius; 5 | border-top-left-radius: @radius; 6 | } 7 | .border-right-radius(@radius) { 8 | border-bottom-right-radius: @radius; 9 | border-top-right-radius: @radius; 10 | } 11 | .border-bottom-radius(@radius) { 12 | border-bottom-right-radius: @radius; 13 | border-bottom-left-radius: @radius; 14 | } 15 | .border-left-radius(@radius) { 16 | border-bottom-left-radius: @radius; 17 | border-top-left-radius: @radius; 18 | } 19 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/center-block.less: -------------------------------------------------------------------------------- 1 | // Center-align a block level element 2 | 3 | .center-block() { 4 | display: block; 5 | margin-left: auto; 6 | margin-right: auto; 7 | } 8 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/clearfix.less: -------------------------------------------------------------------------------- 1 | // Clearfix 2 | // 3 | // For modern browsers 4 | // 1. The space content is one way to avoid an Opera bug when the 5 | // contenteditable attribute is included anywhere else in the document. 6 | // Otherwise it causes space to appear at the top and bottom of elements 7 | // that are clearfixed. 8 | // 2. The use of `table` rather than `block` is only necessary if using 9 | // `:before` to contain the top-margins of child elements. 10 | // 11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ 12 | 13 | .clearfix() { 14 | &:before, 15 | &:after { 16 | content: " "; // 1 17 | display: table; // 2 18 | } 19 | &:after { 20 | clear: both; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/hide-text.less: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | // 3 | // Heads up! v3 launched with only `.hide-text()`, but per our pattern for 4 | // mixins being reused as classes with the same name, this doesn't hold up. As 5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. 6 | // 7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 8 | 9 | // Deprecated as of v3.0.1 (has been removed in v4) 10 | .hide-text() { 11 | font: ~"0/0" a; 12 | color: transparent; 13 | text-shadow: none; 14 | background-color: transparent; 15 | border: 0; 16 | } 17 | 18 | // New mixin to use as of v3.0.1 19 | .text-hide() { 20 | .hide-text(); 21 | } 22 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/labels.less: -------------------------------------------------------------------------------- 1 | // Labels 2 | 3 | .label-variant(@color) { 4 | background-color: @color; 5 | 6 | &[href] { 7 | &:hover, 8 | &:focus { 9 | background-color: darken(@color, 10%); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/list-group.less: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | .list-group-item-variant(@state; @background; @color) { 4 | .list-group-item-@{state} { 5 | color: @color; 6 | background-color: @background; 7 | 8 | a&, 9 | button& { 10 | color: @color; 11 | 12 | .list-group-item-heading { 13 | color: inherit; 14 | } 15 | 16 | &:hover, 17 | &:focus { 18 | color: @color; 19 | background-color: darken(@background, 5%); 20 | } 21 | &.active, 22 | &.active:hover, 23 | &.active:focus { 24 | color: #fff; 25 | background-color: @color; 26 | border-color: @color; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/nav-divider.less: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | .nav-divider(@color: #e5e5e5) { 6 | height: 1px; 7 | margin: ((@line-height-computed / 2) - 1) 0; 8 | overflow: hidden; 9 | background-color: @color; 10 | } 11 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/nav-vertical-align.less: -------------------------------------------------------------------------------- 1 | // Navbar vertical align 2 | // 3 | // Vertically center elements in the navbar. 4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. 5 | 6 | .navbar-vertical-align(@element-height) { 7 | margin-top: ((@navbar-height - @element-height) / 2); 8 | margin-bottom: ((@navbar-height - @element-height) / 2); 9 | } 10 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/opacity.less: -------------------------------------------------------------------------------- 1 | // Opacity 2 | 3 | .opacity(@opacity) { 4 | opacity: @opacity; 5 | // IE8 filter 6 | @opacity-ie: (@opacity * 100); 7 | filter: ~"alpha(opacity=@{opacity-ie})"; 8 | } 9 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/pagination.less: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { 4 | > li { 5 | > a, 6 | > span { 7 | padding: @padding-vertical @padding-horizontal; 8 | font-size: @font-size; 9 | line-height: @line-height; 10 | } 11 | &:first-child { 12 | > a, 13 | > span { 14 | .border-left-radius(@border-radius); 15 | } 16 | } 17 | &:last-child { 18 | > a, 19 | > span { 20 | .border-right-radius(@border-radius); 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/panels.less: -------------------------------------------------------------------------------- 1 | // Panels 2 | 3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { 4 | border-color: @border; 5 | 6 | & > .panel-heading { 7 | color: @heading-text-color; 8 | background-color: @heading-bg-color; 9 | border-color: @heading-border; 10 | 11 | + .panel-collapse > .panel-body { 12 | border-top-color: @border; 13 | } 14 | .badge { 15 | color: @heading-bg-color; 16 | background-color: @heading-text-color; 17 | } 18 | } 19 | & > .panel-footer { 20 | + .panel-collapse > .panel-body { 21 | border-bottom-color: @border; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/progress-bar.less: -------------------------------------------------------------------------------- 1 | // Progress bars 2 | 3 | .progress-bar-variant(@color) { 4 | background-color: @color; 5 | 6 | // Deprecated parent class requirement as of v3.2.0 7 | .progress-striped & { 8 | #gradient > .striped(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/reset-filter.less: -------------------------------------------------------------------------------- 1 | // Reset filters for IE 2 | // 3 | // When you need to remove a gradient background, do not forget to use this to reset 4 | // the IE filter for IE9 and below. 5 | 6 | .reset-filter() { 7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); 8 | } 9 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/reset-text.less: -------------------------------------------------------------------------------- 1 | .reset-text() { 2 | font-family: @font-family-base; 3 | // We deliberately do NOT reset font-size. 4 | font-style: normal; 5 | font-weight: normal; 6 | letter-spacing: normal; 7 | line-break: auto; 8 | line-height: @line-height-base; 9 | text-align: left; // Fallback for where `start` is not supported 10 | text-align: start; 11 | text-decoration: none; 12 | text-shadow: none; 13 | text-transform: none; 14 | white-space: normal; 15 | word-break: normal; 16 | word-spacing: normal; 17 | word-wrap: normal; 18 | } 19 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/resize.less: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | .resizable(@direction) { 4 | resize: @direction; // Options: horizontal, vertical, both 5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 6 | } 7 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/responsive-visibility.less: -------------------------------------------------------------------------------- 1 | // Responsive utilities 2 | 3 | // 4 | // More easily include all the states for responsive-utilities.less. 5 | .responsive-visibility() { 6 | display: block !important; 7 | table& { display: table !important; } 8 | tr& { display: table-row !important; } 9 | th&, 10 | td& { display: table-cell !important; } 11 | } 12 | 13 | .responsive-invisibility() { 14 | display: none !important; 15 | } 16 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/size.less: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | .size(@width; @height) { 4 | width: @width; 5 | height: @height; 6 | } 7 | 8 | .square(@size) { 9 | .size(@size; @size); 10 | } 11 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/tab-focus.less: -------------------------------------------------------------------------------- 1 | // WebKit-style focus 2 | 3 | .tab-focus() { 4 | // Default 5 | outline: thin dotted; 6 | // WebKit 7 | outline: 5px auto -webkit-focus-ring-color; 8 | outline-offset: -2px; 9 | } 10 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/table-row.less: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | .table-row-variant(@state; @background) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table > thead > tr, 7 | .table > tbody > tr, 8 | .table > tfoot > tr { 9 | > td.@{state}, 10 | > th.@{state}, 11 | &.@{state} > td, 12 | &.@{state} > th { 13 | background-color: @background; 14 | } 15 | } 16 | 17 | // Hover states for `.table-hover` 18 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 19 | .table-hover > tbody > tr { 20 | > td.@{state}:hover, 21 | > th.@{state}:hover, 22 | &.@{state}:hover > td, 23 | &:hover > .@{state}, 24 | &.@{state}:hover > th { 25 | background-color: darken(@background, 5%); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/text-emphasis.less: -------------------------------------------------------------------------------- 1 | // Typography 2 | 3 | .text-emphasis-variant(@color) { 4 | color: @color; 5 | a&:hover, 6 | a&:focus { 7 | color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/text-overflow.less: -------------------------------------------------------------------------------- 1 | // Text overflow 2 | // Requires inline-block or block for proper styling 3 | 4 | .text-overflow() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/responsive-embed.less: -------------------------------------------------------------------------------- 1 | // Embeds responsive 2 | // 3 | // Credit: Nicolas Gallagher and SUIT CSS. 4 | 5 | .embed-responsive { 6 | position: relative; 7 | display: block; 8 | height: 0; 9 | padding: 0; 10 | overflow: hidden; 11 | 12 | .embed-responsive-item, 13 | iframe, 14 | embed, 15 | object, 16 | video { 17 | position: absolute; 18 | top: 0; 19 | left: 0; 20 | bottom: 0; 21 | height: 100%; 22 | width: 100%; 23 | border: 0; 24 | } 25 | } 26 | 27 | // Modifier class for 16:9 aspect ratio 28 | .embed-responsive-16by9 { 29 | padding-bottom: 56.25%; 30 | } 31 | 32 | // Modifier class for 4:3 aspect ratio 33 | .embed-responsive-4by3 { 34 | padding-bottom: 75%; 35 | } 36 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/thumbnails.less: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Mixin and adjust the regular image class 7 | .thumbnail { 8 | display: block; 9 | padding: @thumbnail-padding; 10 | margin-bottom: @line-height-computed; 11 | line-height: @line-height-base; 12 | background-color: @thumbnail-bg; 13 | border: 1px solid @thumbnail-border; 14 | border-radius: @thumbnail-border-radius; 15 | .transition(border .2s ease-in-out); 16 | 17 | > img, 18 | a > img { 19 | &:extend(.img-responsive); 20 | margin-left: auto; 21 | margin-right: auto; 22 | } 23 | 24 | // Add a hover state for linked versions only 25 | a&:hover, 26 | a&:focus, 27 | a&.active { 28 | border-color: @link-color; 29 | } 30 | 31 | // Image captions 32 | .caption { 33 | padding: @thumbnail-caption-padding; 34 | color: @thumbnail-caption-color; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Floats 7 | // ------------------------- 8 | 9 | .clearfix { 10 | .clearfix(); 11 | } 12 | .center-block { 13 | .center-block(); 14 | } 15 | .pull-right { 16 | float: right !important; 17 | } 18 | .pull-left { 19 | float: left !important; 20 | } 21 | 22 | 23 | // Toggling content 24 | // ------------------------- 25 | 26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 27 | .hide { 28 | display: none !important; 29 | } 30 | .show { 31 | display: block !important; 32 | } 33 | .invisible { 34 | visibility: hidden; 35 | } 36 | .text-hide { 37 | .text-hide(); 38 | } 39 | 40 | 41 | // Hide from screenreaders and browsers 42 | // 43 | // Credit: HTML5 Boilerplate 44 | 45 | .hidden { 46 | display: none !important; 47 | } 48 | 49 | 50 | // For Affix plugin 51 | // ------------------------- 52 | 53 | .affix { 54 | position: fixed; 55 | } 56 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @well-bg; 12 | border: 1px solid @well-border; 13 | border-radius: @border-radius-base; 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-lg { 23 | padding: 24px; 24 | border-radius: @border-radius-large; 25 | } 26 | .well-sm { 27 | padding: 9px; 28 | border-radius: @border-radius-small; 29 | } 30 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/nuget/MyGet.ps1: -------------------------------------------------------------------------------- 1 | $nuget = $env:NuGet 2 | 3 | #parse the version number out of package.json 4 | $bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version 5 | 6 | #create packages 7 | & $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion 8 | & $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "datatables-plugins", 3 | "homepage": "https://github.com/DataTables/Plugins", 4 | "version": "1.0.1", 5 | "_release": "1.0.1", 6 | "_resolution": { 7 | "type": "version", 8 | "tag": "1.0.1", 9 | "commit": "a94e328df63c79af43123b99ada5ff88d601a31d" 10 | }, 11 | "_source": "git://github.com/DataTables/Plugins.git", 12 | "_target": "~1.0.1", 13 | "_originalSource": "datatables-plugins", 14 | "_direct": true 15 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/README.md: -------------------------------------------------------------------------------- 1 | DataTables Plugins 2 | ================== 3 | 4 | This repository contains a collection of plug-ins for the jQuery [DataTables](http://datatables.net) table enhancer. These plug-ins are feature enhancing for the DataTables library, adding extra options to core functionality such as additional sort algorithms, API methods and pagination controls. The plug-ins should not be confused with DataTables "extras" which are more significant software libraries which add additional features to DataTables. 5 | 6 | This repository holds the following plug-in types for DataTables: 7 | 8 | * Sorting 9 | * Type based 10 | * Custom data source based 11 | * API 12 | * Filtering 13 | * Type based 14 | * Row based 15 | * Internationalisation translations 16 | * Type detection 17 | * Pagination 18 | * Integration scripts 19 | * Twitter Bootstrap 20 | 21 | Each directory has an index.html file which is used to generate the plug-ins documentation on [DataTables.net](http://datatables.net/plug-ins) and describes how plug-ins can be used. -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/api/average().js: -------------------------------------------------------------------------------- 1 | /** 2 | * It can sometimes be useful to get the average of data in an API result set, 3 | * be it from a column, or a collection of cells. This method provides exactly 4 | * that ability. 5 | * 6 | * @name average() 7 | * @summary Average the values in a data set. 8 | * @author [Allan Jardine](http://sprymedia.co.uk) 9 | * @requires DataTables 1.10+ 10 | * 11 | * @returns {Number} Calculated average 12 | * 13 | * @example 14 | * // Average a column 15 | * var table = $('#example').DataTable(); 16 | * table.column( 3 ).data().average(); 17 | * 18 | * @example 19 | * // Average two cells 20 | * var table = $('#example').DataTable(); 21 | * table.cells( 0, [3,4] ).data().average(); 22 | */ 23 | 24 | jQuery.fn.dataTable.Api.register( 'average()', function () { 25 | var data = this.flatten(); 26 | var sum = data.reduce( function ( a, b ) { 27 | return (a*1) + (b*1); // cast values in-case they are strings 28 | } ); 29 | 30 | return sum / data.length; 31 | } ); 32 | 33 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/api/column().title().js: -------------------------------------------------------------------------------- 1 | /** 2 | * This plug-in will read the text from the header cell of a column, returning 3 | * that value. 4 | * 5 | * @name column().title() 6 | * @summary Get the title of a column 7 | * @author Alejandro Navarro 8 | * @requires DataTables 1.10+ 9 | * 10 | * @returns {String} Column title 11 | * 12 | * @example 13 | * // Read the title text of column index 3 14 | * var table = $('#example').DataTable(); 15 | * table.column( 3 ).title(); 16 | */ 17 | 18 | $.fn.dataTable.Api.register( 'column().title()', function () { 19 | var colheader = this.header(); 20 | return $(colheader).text().trim(); 21 | } ); -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/api/fnDisplayStart.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Set the point at which DataTables will start it's display of data in the 3 | * table. 4 | * 5 | * @name fnDisplayStart 6 | * @summary Change the table's paging display start. 7 | * @author [Allan Jardine](http://sprymedia.co.uk) 8 | * @deprecated 9 | * 10 | * @param {integer} iStart Display start index. 11 | * @param {boolean} [bRedraw=false] Indicate if the table should do a redraw or not. 12 | * 13 | * @example 14 | * var table = $('#example').dataTable(); 15 | * table.fnDisplayStart( 21 ); 16 | */ 17 | 18 | jQuery.fn.dataTableExt.oApi.fnDisplayStart = function ( oSettings, iStart, bRedraw ) 19 | { 20 | if ( typeof bRedraw == 'undefined' ) { 21 | bRedraw = true; 22 | } 23 | 24 | oSettings._iDisplayStart = iStart; 25 | if ( oSettings.oApi._fnCalculateEnd ) { 26 | oSettings.oApi._fnCalculateEnd( oSettings ); 27 | } 28 | 29 | if ( bRedraw ) { 30 | oSettings.oApi._fnDraw( oSettings ); 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/api/fnProcessingIndicator.js: -------------------------------------------------------------------------------- 1 | /** 2 | * When doing some heavy processing of your own (for example using fnOpen with 3 | * data loading from the server) it can be useful to make use of the 4 | * 'processing' indicator built-into DataTables. This plug-in function exposes 5 | * the internal DataTables function so it can be used for exactly this. 6 | * 7 | * @name fnProcessingIndicator 8 | * @summary Show and hide the DataTables processing element through the API. 9 | * @author Allan Chappell 10 | * 11 | * @param {boolean} [onoff=true] Show (`true`) or hide (`false`) the processing 12 | * element. 13 | * 14 | * @example 15 | * var table = $('#example').dataTable(); 16 | * table.fnProcessingIndicator(); // On 17 | * table.fnProcessingIndicator(false); // Off 18 | */ 19 | 20 | jQuery.fn.dataTableExt.oApi.fnProcessingIndicator = function ( oSettings, onoff ) 21 | { 22 | if ( onoff === undefined ) { 23 | onoff = true; 24 | } 25 | this.oApi._fnProcessingDisplay( oSettings, onoff ); 26 | }; 27 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.css: -------------------------------------------------------------------------------- 1 | div.alphabet { 2 | position: relative; 3 | display: table; 4 | width: 100%; 5 | margin-bottom: 1em; 6 | } 7 | 8 | div.alphabet span { 9 | display: table-cell; 10 | color: #3174c7; 11 | cursor: pointer; 12 | text-align: center; 13 | width: 3.5% 14 | } 15 | 16 | div.alphabet span:hover { 17 | text-decoration: underline; 18 | } 19 | 20 | div.alphabet span.active { 21 | color: black; 22 | } 23 | 24 | div.alphabet span.empty { 25 | color: red; 26 | } 27 | 28 | div.alphabetInfo { 29 | display: block; 30 | position: absolute; 31 | background-color: #111; 32 | border-radius: 3px; 33 | color: white; 34 | top: 2em; 35 | height: 1.8em; 36 | padding-top: 0.4em; 37 | text-align: center; 38 | z-index: 1; 39 | } 40 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.css: -------------------------------------------------------------------------------- 1 | 2 | div.dataTables_length a.active { 3 | color: black; 4 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Page length control via links for DataTables 3 | 2014 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(i,j,a){a.fn.dataTable.LengthLinks=function(d){var c=new a.fn.dataTable.Api(d),f=c.settings()[0],e=a("
").addClass(f.oClasses.sLength),h=-1;this.container=function(){return e[0]};e.on("click.dtll","a",function(b){b.preventDefault();c.page.len(1*a(this).data("length")).draw(!1)});c.on("draw",function(){if(c.page.len()!==h){var b=f.aLengthMenu,d=2===b.length&&a.isArray(b[0])?b[1]:b,g=2===b.length&&a.isArray(b[0])?b[0]:b,b=a.map(g,function(b,a){return b==c.page.len()?''+d[a]+"":''+d[a]+""});e.html(f.oLanguage.sLengthMenu.replace("_MENU_",b.join(" | ")));h=c.page.len()}});c.on("destroy",function(){e.off("click.dtll","a")})};a.fn.dataTable.ext.feature.push({fnInit:function(d){return(new a.fn.dataTable.LengthLinks(d)).container()},cFeature:"L",sFeature:"LengthLinks"})})(window,document,jQuery); 7 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | table.dataTable span.highlight { 4 | background-color: #FFFF88; 5 | } 6 | 7 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | SearchHighlight for DataTables v1.0.1 3 | 2014 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(f,c,b){b(c).on("init.dt.dth",function(c,d){var a=new b.fn.dataTable.Api(d),e=b(a.table().body());if(b(a.table().node()).hasClass("searchHighlight")||d.oInit.searchHighlight||b.fn.dataTable.defaults.searchHighlight)a.on("draw.dt.dth column-visibility.dt.dth",function(){e.unhighlight();a.rows({filter:"applied"}).data().length&&e.highlight(a.search().split(" "))}).on("destroy",function(){a.off("draw.dt.dth column-visibility.dt.dth")})})})(window,document,jQuery); 6 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Afrikaans.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Afrikaans translation 3 | * @name Afrikaans 4 | * @anchor Afrikaans 5 | * @author Ajoft Software 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Geen data beskikbaar in tabel", 10 | "sInfo": "uitstalling _START_ to _END_ of _TOTAL_ inskrywings", 11 | "sInfoEmpty": "uitstalling 0 to 0 of 0 inskrywings", 12 | "sInfoFiltered": "(gefiltreer uit _MAX_ totaal inskrywings)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "uitstal _MENU_ inskrywings", 16 | "sLoadingRecords": "laai...", 17 | "sProcessing": "verwerking...", 18 | "sSearch": "soektog:", 19 | "sZeroRecords": "Geen treffers gevind", 20 | "oPaginate": { 21 | "sFirst": "eerste", 22 | "sLast": "laaste", 23 | "sNext": "volgende", 24 | "sPrevious": "vorige" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": aktiveer kolom stygende te sorteer", 28 | "sSortDescending": ": aktiveer kolom orde te sorteer" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Arabic.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Arabic translation 3 | * @name Arabic 4 | * @anchor Arabic 5 | * @author Ossama Khayat 6 | */ 7 | 8 | { 9 | "sProcessing": "جاري التحميل...", 10 | "sLengthMenu": "أظهر مُدخلات _MENU_", 11 | "sZeroRecords": "لم يُعثر على أية سجلات", 12 | "sInfo": "إظهار _START_ إلى _END_ من أصل _TOTAL_ مُدخل", 13 | "sInfoEmpty": "يعرض 0 إلى 0 من أصل 0 سجلّ", 14 | "sInfoFiltered": "(منتقاة من مجموع _MAX_ مُدخل)", 15 | "sInfoPostFix": "", 16 | "sSearch": "ابحث:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "الأول", 20 | "sPrevious": "السابق", 21 | "sNext": "التالي", 22 | "sLast": "الأخير" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Azerbaijan.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Azerbaijan translation 3 | * @name Azerbaijan 4 | * @anchor Azerbaijan 5 | * @author H.Huseyn 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Cədvəldə heç bir məlumat yoxdur", 10 | "sInfo": " _TOTAL_ Nəticədən _START_ - _END_ Arası Nəticələr", 11 | "sInfoEmpty": "Nəticə Yoxdur", 12 | "sInfoFiltered": "( _MAX_ Nəticə İçindən Tapılanlar)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Səhifədə _MENU_ Nəticə Göstər", 16 | "sLoadingRecords": "Yüklənir...", 17 | "sProcessing": "Gözləyin...", 18 | "sSearch": "Axtarış:", 19 | "sZeroRecords": "Nəticə Tapılmadı.", 20 | "oPaginate": { 21 | "sFirst": "İlk", 22 | "sLast": "Axırıncı", 23 | "sNext": "Sonraki", 24 | "sPrevious": "Öncəki" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": sütunu artma sırası üzərə aktiv etmək", 28 | "sSortDescending": ": sütunu azalma sırası üzərə aktiv etmək" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Bangla.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Bangla translation 3 | * @name Bangla 4 | * @anchor Bangla 5 | * @author Md. Khaled Ben Islam 6 | */ 7 | 8 | { 9 | "sProcessing": "প্রসেসিং হচ্ছে...", 10 | "sLengthMenu": "_MENU_ টা এন্ট্রি দেখাও", 11 | "sZeroRecords": "আপনি যা অনুসন্ধান করেছেন তার সাথে মিলে যাওয়া কোন রেকর্ড খুঁজে পাওয়া যায় নাই", 12 | "sInfo": "_TOTAL_ টা এন্ট্রির মধ্যে _START_ থেকে _END_ পর্যন্ত দেখানো হচ্ছে", 13 | "sInfoEmpty": "কোন এন্ট্রি খুঁজে পাওয়া যায় নাই", 14 | "sInfoFiltered": "(মোট _MAX_ টা এন্ট্রির মধ্যে থেকে বাছাইকৃত)", 15 | "sInfoPostFix": "", 16 | "sSearch": "অনুসন্ধান:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "প্রথমটা", 20 | "sPrevious": "আগেরটা", 21 | "sNext": "পরবর্তীটা", 22 | "sLast": "শেষেরটা" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Belarusian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Belarusian translation 3 | * @name Belarusian 4 | * @anchor Belarusian 5 | * @author vkachurka 6 | */ 7 | { 8 | "sProcessing": "Пачакайце...", 9 | "sLengthMenu": "Паказваць _MENU_ запісаў", 10 | "sZeroRecords": "Запісы адсутнічаюць.", 11 | "sInfo": "Запісы з _START_ па _END_ з _TOTAL_ запісаў", 12 | "sInfoEmpty": "Запісы з 0 па 0 з 0 запісаў", 13 | "sInfoFiltered": "(адфільтравана з _MAX_ запісаў)", 14 | "sInfoPostFix": "", 15 | "sSearch": "Пошук:", 16 | "sUrl": "", 17 | "oPaginate": { 18 | "sFirst": "Першая", 19 | "sPrevious": "Папярэдняя", 20 | "sNext": "Наступная", 21 | "sLast": "Апошняя" 22 | }, 23 | "oAria": { 24 | "sSortAscending": ": актываваць для сартавання слупка па ўзрастанні", 25 | "sSortDescending": ": актываваць для сартавання слупка па змяншэнні" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Bulgarian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation 3 | * @name Bulgarian 4 | * @anchor Bulgarian 5 | * @author Rostislav Stoyanov 6 | */ 7 | 8 | { 9 | "sProcessing": "Обработка на резултатите...", 10 | "sLengthMenu": "Показване на _MENU_ резултата", 11 | "sZeroRecords": "Няма намерени резултати", 12 | "sInfo": "Показване на резултати от _START_ до _END_ от общо _TOTAL_", 13 | "sInfoEmpty": "Показване на резултати от 0 до 0 от общо 0", 14 | "sInfoFiltered": "(филтрирани от общо _MAX_ резултата)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Търсене във всички колони:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Първа", 20 | "sPrevious": "Предишна", 21 | "sNext": "Следваща", 22 | "sLast": "Последна" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Catalan.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation 3 | * @name Catalan 4 | * @anchor Catalan 5 | * @author Sergi 6 | */ 7 | 8 | { 9 | "sProcessing": "Processant...", 10 | "sLengthMenu": "Mostra _MENU_ registres", 11 | "sZeroRecords": "No s'han trobat registres.", 12 | "sInfo": "Mostrant de _START_ a _END_ de _TOTAL_ registres", 13 | "sInfoEmpty": "Mostrant de 0 a 0 de 0 registres", 14 | "sInfoFiltered": "(filtrat de _MAX_ total registres)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Filtrar:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Primer", 20 | "sPrevious": "Anterior", 21 | "sNext": "Següent", 22 | "sLast": "Últim" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Chinese-traditional.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Chinese (traditional) translation 3 | * @name Chinese (traditional) 4 | * @anchor Chinese (traditional) 5 | * @author GimmeRank Affiliate 6 | */ 7 | 8 | { 9 | "sProcessing":   "處理中...", 10 | "sLengthMenu":   "顯示 _MENU_ 項結果", 11 | "sZeroRecords":  "沒有匹配結果", 12 | "sInfo":         "顯示第 _START_ 至 _END_ 項結果,共 _TOTAL_ 項", 13 | "sInfoEmpty":    "顯示第 0 至 0 項結果,共 0 項", 14 | "sInfoFiltered": "(從 _MAX_ 項結果過濾)", 15 | "sInfoPostFix":  "", 16 | "sSearch":       "搜索:", 17 | "sUrl":          "", 18 | "oPaginate": { 19 | "sFirst":    "首頁", 20 | "sPrevious": "上頁", 21 | "sNext":     "下頁", 22 | "sLast":     "尾頁" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Chinese.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Chinese translation 3 | * @name Chinese 4 | * @anchor Chinese 5 | * @author Chi Cheng 6 | */ 7 | 8 | { 9 | "sProcessing": "处理中...", 10 | "sLengthMenu": "显示 _MENU_ 项结果", 11 | "sZeroRecords": "没有匹配结果", 12 | "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项", 13 | "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项", 14 | "sInfoFiltered": "(由 _MAX_ 项结果过滤)", 15 | "sInfoPostFix": "", 16 | "sSearch": "搜索:", 17 | "sUrl": "", 18 | "sEmptyTable": "表中数据为空", 19 | "sLoadingRecords": "载入中...", 20 | "sInfoThousands": ",", 21 | "oPaginate": { 22 | "sFirst": "首页", 23 | "sPrevious": "上页", 24 | "sNext": "下页", 25 | "sLast": "末页" 26 | }, 27 | "oAria": { 28 | "sSortAscending": ": 以升序排列此列", 29 | "sSortDescending": ": 以降序排列此列" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Czech.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation 3 | * @name Czech 4 | * @anchor Czech 5 | * @author Magerio 6 | */ 7 | 8 | { 9 | "sProcessing": "Provádím...", 10 | "sLengthMenu": "Zobraz záznamů _MENU_", 11 | "sZeroRecords": "Žádné záznamy nebyly nalezeny", 12 | "sInfo": "Zobrazuji _START_ až _END_ z celkem _TOTAL_ záznamů", 13 | "sInfoEmpty": "Zobrazuji 0 až 0 z 0 záznamů", 14 | "sInfoFiltered": "(filtrováno z celkem _MAX_ záznamů)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Hledat:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "První", 20 | "sPrevious": "Předchozí", 21 | "sNext": "Další", 22 | "sLast": "Poslední" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Danish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Danish translation 3 | * @name Danish 4 | * @anchor Danish 5 | * @author Werner Knudsen 6 | */ 7 | 8 | { 9 | "sProcessing": "Henter...", 10 | "sLengthMenu": "Vis _MENU_ linjer", 11 | "sZeroRecords": "Ingen linjer matcher søgningen", 12 | "sInfo": "Viser _START_ til _END_ af _TOTAL_ linjer", 13 | "sInfoEmpty": "Viser 0 til 0 af 0 linjer", 14 | "sInfoFiltered": "(filtreret fra _MAX_ linjer)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Søg:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Første", 20 | "sPrevious": "Forrige", 21 | "sNext": "Næste", 22 | "sLast": "Sidste" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Dutch.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation 3 | * @name Dutch 4 | * @anchor Dutch 5 | * @author Erwin Kerk and ashwin 6 | */ 7 | 8 | { 9 | "sProcessing": "Bezig...", 10 | "sLengthMenu": "_MENU_ resultaten weergeven", 11 | "sZeroRecords": "Geen resultaten gevonden", 12 | "sInfo": "_START_ tot _END_ van _TOTAL_ resultaten", 13 | "sInfoEmpty": "Geen resultaten om weer te geven", 14 | "sInfoFiltered": " (gefilterd uit _MAX_ resultaten)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Zoeken:", 17 | "sEmptyTable": "Geen resultaten aanwezig in de tabel", 18 | "sInfoThousands": ".", 19 | "sLoadingRecords": "Een moment geduld aub - bezig met laden...", 20 | "oPaginate": { 21 | "sFirst": "Eerste", 22 | "sLast": "Laatste", 23 | "sNext": "Volgende", 24 | "sPrevious": "Vorige" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/English.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * English - this is the default DataTables ships with 3 | * @name English 4 | * @anchor English 5 | * @author Allan Jardine 6 | */ 7 | 8 | { 9 | "sEmptyTable": "No data available in table", 10 | "sInfo": "Showing _START_ to _END_ of _TOTAL_ entries", 11 | "sInfoEmpty": "Showing 0 to 0 of 0 entries", 12 | "sInfoFiltered": "(filtered from _MAX_ total entries)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Show _MENU_ entries", 16 | "sLoadingRecords": "Loading...", 17 | "sProcessing": "Processing...", 18 | "sSearch": "Search:", 19 | "sZeroRecords": "No matching records found", 20 | "oPaginate": { 21 | "sFirst": "First", 22 | "sLast": "Last", 23 | "sNext": "Next", 24 | "sPrevious": "Previous" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": activate to sort column ascending", 28 | "sSortDescending": ": activate to sort column descending" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Estonian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Estonian translation 3 | * @name Estonian 4 | * @anchor Estonian 5 | * @author Janek Todoruk 6 | */ 7 | 8 | { 9 | "sProcessing": "Palun oodake, koostan kuvamiseks nimekirja!", 10 | "sLengthMenu": "Näita kirjeid _MENU_ kaupa", 11 | "sZeroRecords": "Otsitavat vastet ei leitud.", 12 | "sInfo": "Kuvatud: _TOTAL_ kirjet (_START_-_END_)", 13 | "sInfoEmpty": "Otsinguvasteid ei leitud", 14 | "sInfoFiltered": " - filteeritud _MAX_ kirje seast.", 15 | "sInfoPostFix": "Kõik kuvatud kirjed põhinevad reaalsetel tulemustel.", 16 | "sSearch": "Otsi kõikide tulemuste seast:", 17 | "oPaginate": { 18 | "sFirst": "Algus", 19 | "sPrevious": "Eelmine", 20 | "sNext": "Järgmine", 21 | "sLast": "Viimane" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Filipino.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Filipino translation 3 | * @name Filipino 4 | * @anchor Filipino 5 | * @author Citi360 6 | */ 7 | 8 | { 9 | "sProcessing": "Pagproseso...", 10 | "sLengthMenu": "Ipakita _MENU_ entries", 11 | "sZeroRecords": "Walang katugmang mga talaan na natagpuan", 12 | "sInfo": "Ipinapakita ang _START_ sa _END_ ng _TOTAL_ entries", 13 | "sInfoEmpty": "Ipinapakita ang 0-0 ng 0 entries", 14 | "sInfoFiltered": "(na-filter mula _MAX_ kabuuang entries)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Paghahanap:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Unang", 20 | "sPrevious": "Nakaraan", 21 | "sNext": "Susunod", 22 | "sLast": "Huli" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Finnish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Finnish translation 3 | * @name Finnish 4 | * @anchor Finnish 5 | * @author Seppo Äyräväinen 6 | */ 7 | 8 | { 9 | "sProcessing": "Hetkinen...", 10 | "sLengthMenu": "Näytä kerralla _MENU_ riviä", 11 | "sZeroRecords": "Tietoja ei löytynyt", 12 | "sInfo": "Näytetään rivit _START_ - _END_ (yhteensä _TOTAL_ )", 13 | "sInfoEmpty": "Näytetään 0 - 0 (yhteensä 0)", 14 | "sInfoFiltered": "(suodatettu _MAX_ tuloksen joukosta)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Etsi:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Ensimmäinen", 20 | "sPrevious": "Edellinen", 21 | "sNext": "Seuraava", 22 | "sLast": "Viimeinen" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Georgian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Georgian translation 3 | * @name Georgian 4 | * @anchor Georgian 5 | * @author Mikheil Nadareishvili 6 | */ 7 | 8 | { 9 | "sProcessing": "მიმდინარეობს დამუშავება...", 10 | "sLengthMenu": "აჩვენე _MENU_ ჩანაწერი", 11 | "sZeroRecords": "არაფერი მოიძებნა", 12 | "sInfo": "ნაჩვენებია ჩანაწერები _START_–დან _END_–მდე, სულ _TOTAL_ ჩანაწერია", 13 | "sInfoEmpty": "ნაჩვენებია ჩანაწერები 0–დან 0–მდე, სულ 0 ჩანაწერია", 14 | "sInfoFiltered": "(გაფილტრული შედეგი _MAX_ ჩანაწერიდან)", 15 | "sInfoPostFix": "", 16 | "sSearch": "ძიება:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "პირველი", 20 | "sPrevious": "წინა", 21 | "sNext": "შემდეგი", 22 | "sLast": "ბოლო" 23 | } 24 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/German.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation 3 | * @name German 4 | * @anchor German 5 | * @author Joerg Holz 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Keine Daten in der Tabelle vorhanden", 10 | "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", 11 | "sInfoEmpty": "0 bis 0 von 0 Einträgen", 12 | "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ".", 15 | "sLengthMenu": "_MENU_ Einträge anzeigen", 16 | "sLoadingRecords": "Wird geladen...", 17 | "sProcessing": "Bitte warten...", 18 | "sSearch": "Suchen", 19 | "sZeroRecords": "Keine Einträge vorhanden.", 20 | "oPaginate": { 21 | "sFirst": "Erste", 22 | "sPrevious": "Zurück", 23 | "sNext": "Nächste", 24 | "sLast": "Letzte" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren", 28 | "sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Greek.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation 3 | * @name Greek 4 | * @anchor Greek 5 | * @author Abraam Ziogas 6 | */ 7 | 8 | { 9 | "sProcessing": "Επεξεργασία...", 10 | "sLengthMenu": "Δείξε _MENU_ εγγραφές", 11 | "sZeroRecords": "Δεν βρέθηκαν εγγραφές που να ταιριάζουν", 12 | "sInfo": "Δείχνοντας _START_ εως _END_ από _TOTAL_ εγγραφές", 13 | "sInfoEmpty": "Δείχνοντας 0 εως 0 από 0 εγγραφές", 14 | "sInfoFiltered": "(φιλτραρισμένες από _MAX_ συνολικά εγγραφές)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Αναζήτηση:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Πρώτη", 20 | "sPrevious": "Προηγούμενη", 21 | "sNext": "Επόμενη", 22 | "sLast": "Τελευταία" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Gujarati.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Gujarati translation 3 | * @name Gujarati 4 | * @anchor Gujarati 5 | * @author Apoto 6 | */ 7 | 8 | { 9 | "sEmptyTable": "કોષ્ટકમાં કોઈ ડેટા ઉપલબ્ધ નથી", 10 | "sInfo": "કુલ_પ્રવેશો_અંત_પ્રારંભ_દર્શાવે_છે", 11 | "sInfoEmpty": "0 પ્રવેશો 0 0 બતાવી રહ્યું છે", 12 | "sInfoFiltered": "(_MAX_ કુલ પ્રવેશો માંથી ફિલ્ટર)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "બતાવો _MENU_ પ્રવેશો", 16 | "sLoadingRecords": "લોડ કરી રહ્યું છે ...", 17 | "sProcessing": "પ્રક્રિયા ...", 18 | "sSearch": "શોધો:", 19 | "sZeroRecords": "કોઈ મેળ ખાતા રેકોર્ડ મળી", 20 | "oPaginate": { 21 | "sFirst": "પ્રથમ", 22 | "sLast": "અંતિમ", 23 | "sNext": "આગામી", 24 | "sPrevious": "ગત" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": સ્તંભ ચડતા ક્રમમાં ગોઠવવા માટે સક્રિય", 28 | "sSortDescending": ": કૉલમ ઉતરતા ક્રમમાં ગોઠવવા માટે સક્રિય" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Hebrew.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Hebrew translation 3 | * @name Hebrew 4 | * @anchor Hebrew 5 | * @author Neil Osman (WW3) 6 | */ 7 | 8 | { 9 | "sProcessing": "מעבד...", 10 | "sLengthMenu": "הצג _MENU_ פריטים", 11 | "sZeroRecords": "לא נמצאו רשומות מתאימות", 12 | "sInfo": "_START_ עד _END_ מתוך _TOTAL_ רשומות" , 13 | "sInfoEmpty": "0 עד 0 מתוך 0 רשומות", 14 | "sInfoFiltered": "(מסונן מסך _MAX_ רשומות)", 15 | "sInfoPostFix": "", 16 | "sSearch": "חפש:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "ראשון", 20 | "sPrevious": "קודם", 21 | "sNext": "הבא", 22 | "sLast": "אחרון" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Hindi.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Hindi translation 3 | * @name Hindi 4 | * @anchor Hindi 5 | * @author Outshine Solutions 6 | */ 7 | 8 | { 9 | "sProcessing": "प्रगति पे हैं ...", 10 | "sLengthMenu": " _MENU_ प्रविष्टियां दिखाएं ", 11 | "sZeroRecords": "रिकॉर्ड्स का मेल नहीं मिला", 12 | "sInfo": "_START_ to _END_ of _TOTAL_ प्रविष्टियां दिखा रहे हैं", 13 | "sInfoEmpty": "0 में से 0 से 0 प्रविष्टियां दिखा रहे हैं", 14 | "sInfoFiltered": "(_MAX_ कुल प्रविष्टियों में से छठा हुआ)", 15 | "sInfoPostFix": "", 16 | "sSearch": "खोजें:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "प्रथम", 20 | "sPrevious": "पिछला", 21 | "sNext": "अगला", 22 | "sLast": "अंतिम" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Icelandic.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Icelandic translation 3 | * @name Icelandic 4 | * @anchor Icelandic 5 | * @author Finnur Kolbeinsson 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Engin gögn eru í þessari töflu", 10 | "sInfo": "Sýni _START_ til _END_ af _TOTAL_ færslum", 11 | "sInfoEmpty": "Sýni 0 til 0 af 0 færslum", 12 | "sInfoFiltered": "(síað út frá _MAX_ færslum)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ".", 15 | "sLengthMenu": "Sýna _MENU_ færslur", 16 | "sLoadingRecords": "Hleð...", 17 | "sProcessing": "Úrvinnsla...", 18 | "sSearch": "Leita:", 19 | "sZeroRecords": "Engar færslur fundust", 20 | "oPaginate": { 21 | "sFirst": "Fyrsta", 22 | "sLast": "Síðasta", 23 | "sNext": "Næsta", 24 | "sPrevious": "Fyrri" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": virkja til að raða dálki í hækkandi röð", 28 | "sSortDescending": ": virkja til að raða dálki lækkandi í röð" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Indonesian-Alternative.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Indonesian translation 3 | * @name Indonesian 4 | * @anchor Indonesian 5 | * @author Landung Wahana 6 | */ 7 | 8 | { 9 | "sProcessing": "Sedang proses...", 10 | "sLengthMenu": "Tampilan _MENU_ entri", 11 | "sZeroRecords": "Tidak ditemukan data yang sesuai", 12 | "sInfo": "Tampilan _START_ sampai _END_ dari _TOTAL_ entri", 13 | "sInfoEmpty": "Tampilan 0 hingga 0 dari 0 entri", 14 | "sInfoFiltered": "(disaring dari _MAX_ entri keseluruhan)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Cari:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Awal", 20 | "sPrevious": "Balik", 21 | "sNext": "Lanjut", 22 | "sLast": "Akhir" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Indonesian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Indonesian translation 3 | * @name Indonesian 4 | * @anchor Indonesian 5 | * @author Cipto Hadi 6 | */ 7 | 8 | { 9 | "sProcessing": "Sedang memproses...", 10 | "sLengthMenu": "Tampilkan _MENU_ entri", 11 | "sZeroRecords": "Tidak ditemukan data yang sesuai", 12 | "sInfo": "Menampilkan _START_ sampai _END_ dari _TOTAL_ entri", 13 | "sInfoEmpty": "Menampilkan 0 sampai 0 dari 0 entri", 14 | "sInfoFiltered": "(disaring dari _MAX_ entri keseluruhan)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Cari:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Pertama", 20 | "sPrevious": "Sebelumnya", 21 | "sNext": "Selanjutnya", 22 | "sLast": "Terakhir" 23 | } 24 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Irish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Irish translation 3 | * @name Irish 4 | * @anchor Irish 5 | * @author Lets Be Famous Journal 6 | */ 7 | 8 | { 9 | "sProcessing": "Próiseáil...", 10 | "sLengthMenu": "Taispeáin iontrálacha _MENU_", 11 | "sZeroRecords": "Gan aon taifead meaitseáil aimsithe", 12 | "sInfo": "_START_ Showing a _END_ na n-iontrálacha _TOTAL_", 13 | "sInfoEmpty": "Showing 0-0 na n-iontrálacha 0", 14 | "sInfoFiltered": "(scagtha ó _MAX_ iontrálacha iomlán)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Cuardaigh:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "An Chéad", 20 | "sPrevious": "Roimhe Seo", 21 | "sNext": "Ar Aghaidh", 22 | "sLast": "Last" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Japanese.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation 3 | * @name Japanese 4 | * @anchor Japanese 5 | * @author yusuke 6 | */ 7 | 8 | { 9 | "sProcessing": "処理中...", 10 | "sLengthMenu": "_MENU_ 件表示", 11 | "sZeroRecords": "データはありません。", 12 | "sInfo": " _TOTAL_ 件中 _START_ から _END_ まで表示", 13 | "sInfoEmpty": " 0 件中 0 から 0 まで表示", 14 | "sInfoFiltered": "(全 _MAX_ 件より抽出)", 15 | "sInfoPostFix": "", 16 | "sSearch": "検索:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "先頭", 20 | "sPrevious": "前", 21 | "sNext": "次", 22 | "sLast": "最終" 23 | } 24 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Korean.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation 3 | * @name Korean 4 | * @anchor Korean 5 | * @author WonGoo Lee 6 | */ 7 | 8 | { 9 | "sEmptyTable": "데이터가 없습니다", 10 | "sInfo": "_START_ - _END_ / _TOTAL_", 11 | "sInfoEmpty": "0 - 0 / 0", 12 | "sInfoFiltered": "(총 _MAX_ 개)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "페이지당 줄수 _MENU_", 16 | "sLoadingRecords": "읽는중...", 17 | "sProcessing": "처리중...", 18 | "sSearch": "검색:", 19 | "sZeroRecords": "검색 결과가 없습니다", 20 | "oPaginate": { 21 | "sFirst": "처음", 22 | "sLast": "마지막", 23 | "sNext": "다음", 24 | "sPrevious": "이전" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": 오름차순 정렬", 28 | "sSortDescending": ": 내림차순 정렬" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Latvian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Latvian translation 3 | * @name Latvian 4 | * @anchor Latvian 5 | * @author Oskars Podans 6 | */ 7 | 8 | { 9 | "sProcessing": "Uzgaidiet...", 10 | "sLengthMenu": "Rādīt _MENU_ ierakstus", 11 | "sZeroRecords": "Nav atrasti vaicājumam atbilstoši ieraksti", 12 | "sInfo": "Parādīti _START_. līdz _END_. no _TOTAL_ ierakstiem", 13 | "sInfoEmpty": "Nav ierakstu", 14 | "sInfoFiltered": "(atlasīts no pavisam _MAX_ ierakstiem)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Meklēt:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Pirmā", 20 | "sPrevious": "Iepriekšējā", 21 | "sNext": "Nākošā", 22 | "sLast": "Pēdējā" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Lithuanian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation 3 | * @name Lithuanian 4 | * @anchor Lithuanian 5 | * @author Kęstutis Morkūnas 6 | */ 7 | 8 | { 9 | "sProcessing": "Apdorojama...", 10 | "sLengthMenu": "Rodyti _MENU_ įrašus", 11 | "sZeroRecords": "Įrašų nerasta", 12 | "sInfo": "Rodomi įrašai nuo _START_ iki _END_ iš _TOTAL_ įrašų", 13 | "sInfoEmpty": "Rodomi įrašai nuo 0 iki 0 iš 0", 14 | "sInfoFiltered": "(atrinkta iš _MAX_ įrašų)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Ieškoti:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Pirmas", 20 | "sPrevious": "Ankstesnis", 21 | "sNext": "Tolimesnis", 22 | "sLast": "Paskutinis" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Macedonian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Macedonian translation 3 | * @name Macedonian 4 | * @anchor Macedonian 5 | * @author Bojan Petkovski 6 | */ 7 | 8 | { 9 | "sProcessing": "Процесирање...", 10 | "sLengthMenu": "Прикажи _MENU_ записи", 11 | "sZeroRecords": "Не се пронајдени записи", 12 | "sEmptyTable": "Нема податоци во табелата", 13 | "sLoadingRecords": "Вчитување...", 14 | "sInfo": "Прикажани _START_ до _END_ од _TOTAL_ записи", 15 | "sInfoEmpty": "Прикажани 0 до 0 од 0 записи", 16 | "sInfoFiltered": "(филтрирано од вкупно _MAX_ записи)", 17 | "sInfoPostFix": "", 18 | "sSearch": "Барај", 19 | "sUrl": "", 20 | "oPaginate": { 21 | "sFirst": "Почетна", 22 | "sPrevious": "Претходна", 23 | "sNext": "Следна", 24 | "sLast": "Последна" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Malay.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Malay translation 3 | * @name Malay 4 | * @anchor Malay 5 | * @author Mohamad Zharif 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Tiada data", 10 | "sInfo": "Paparan dari _START_ hingga _END_ dari _TOTAL_ rekod", 11 | "sInfoEmpty": "Paparan 0 hingga 0 dari 0 rekod", 12 | "sInfoFiltered": "(Ditapis dari jumlah _MAX_ rekod)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Papar _MENU_ rekod", 16 | "sLoadingRecords": "Diproses...", 17 | "sProcessing": "Sedang diproses...", 18 | "sSearch": "Carian:", 19 | "sZeroRecords": "Tiada padanan rekod yang dijumpai.", 20 | "oPaginate": { 21 | "sFirst": "Pertama", 22 | "sPrevious": "Sebelum", 23 | "sNext": "Kemudian", 24 | "sLast": "Akhir" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": diaktifkan kepada susunan lajur menaik", 28 | "sSortDescending": ": diaktifkan kepada susunan lajur menurun" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Norwegian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian translation 3 | * @name Norwegian 4 | * @anchor Norwegian 5 | * @author Petter Ekrann 6 | */ 7 | 8 | { 9 | "sProcessing": "Laster...", 10 | "sLengthMenu": "Vis _MENU_ linjer", 11 | "sZeroRecords": "Ingen linjer matcher søket", 12 | "sInfo": "Viser _START_ til _END_ av _TOTAL_ linjer", 13 | "sInfoEmpty": "Viser 0 til 0 av 0 linjer", 14 | "sInfoFiltered": "(filtrert fra _MAX_ totalt antall linjer)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Søk:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Første", 20 | "sPrevious": "Forrige", 21 | "sNext": "Neste", 22 | "sLast": "Siste" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Persian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Persian translation 3 | * @name Persian 4 | * @anchor Persian 5 | * @author Ehsan Chavoshi 6 | */ 7 | 8 | { 9 | "sProcessing": "درحال پردازش...", 10 | "sLengthMenu": "نمایش محتویات _MENU_", 11 | "sZeroRecords": "موردی یافت نشد", 12 | "sInfo": "نمایش _START_ تا _END_ از مجموع _TOTAL_ مورد", 13 | "sInfoEmpty": "تهی", 14 | "sInfoFiltered": "(فیلتر شده از مجموع _MAX_ مورد)", 15 | "sInfoPostFix": "", 16 | "sSearch": "جستجو:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "ابتدا", 20 | "sPrevious": "قبلی", 21 | "sNext": "بعدی", 22 | "sLast": "انتها" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Polish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation 3 | * @name Polish 4 | * @anchor Polish 5 | * @author Tomasz Kowalski 6 | */ 7 | 8 | { 9 | "sProcessing": "Przetwarzanie...", 10 | "sLengthMenu": "Pokaż _MENU_ pozycji", 11 | "sZeroRecords": "Nie znaleziono pasujących pozycji", 12 | "sInfoThousands": " ", 13 | "sInfo": "Pozycje od _START_ do _END_ z _TOTAL_ łącznie", 14 | "sInfoEmpty": "Pozycji 0 z 0 dostępnych", 15 | "sInfoFiltered": "(filtrowanie spośród _MAX_ dostępnych pozycji)", 16 | "sInfoPostFix": "", 17 | "sSearch": "Szukaj:", 18 | "sUrl": "", 19 | "oPaginate": { 20 | "sFirst": "Pierwsza", 21 | "sPrevious": "Poprzednia", 22 | "sNext": "Następna", 23 | "sLast": "Ostatnia" 24 | }, 25 | "sEmptyTable": "Brak danych", 26 | "sLoadingRecords": "Wczytywanie...", 27 | "oAria": { 28 | "sSortAscending": ": aktywuj, by posortować kolumnę rosnąco", 29 | "sSortDescending": ": aktywuj, by posortować kolumnę malejąco" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Portuguese.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Portuguese translation 3 | * @name Portuguese 4 | * @anchor Portuguese 5 | * @author Nuno Felicio 6 | */ 7 | 8 | { 9 | "sProcessing": "A processar...", 10 | "sLengthMenu": "Mostrar _MENU_ registos", 11 | "sZeroRecords": "Não foram encontrados resultados", 12 | "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registos", 13 | "sInfoEmpty": "Mostrando de 0 até 0 de 0 registos", 14 | "sInfoFiltered": "(filtrado de _MAX_ registos no total)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Procurar:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Primeiro", 20 | "sPrevious": "Anterior", 21 | "sNext": "Seguinte", 22 | "sLast": "Último" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Romanian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Romanian translation 3 | * @name Romanian 4 | * @anchor Romanian 5 | * @author Alexandru Jurubita 6 | */ 7 | 8 | { 9 | "sProcessing": "Proceseaza...", 10 | "sLengthMenu": "Afiseaza _MENU_ inregistrari pe pagina", 11 | "sZeroRecords": "Nu am gasit nimic - ne pare rau", 12 | "sInfo": "Afisate de la _START_ la _END_ din _TOTAL_ inregistrari", 13 | "sInfoEmpty": "Afisate de la 0 la 0 din 0 inregistrari", 14 | "sInfoFiltered": "(filtrate dintr-un total de _MAX_ inregistrari)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Cauta:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Prima", 20 | "sPrevious": "Precedenta", 21 | "sNext": "Urmatoarea", 22 | "sLast": "Ultima" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Russian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation 3 | * @name Russian 4 | * @anchor Russian 5 | * @author Tjoma 6 | * @autor aspyatkin 7 | */ 8 | 9 | { 10 | "processing": "Подождите...", 11 | "search": "Поиск:", 12 | "lengthMenu": "Показать _MENU_ записей", 13 | "info": "Записи с _START_ до _END_ из _TOTAL_ записей", 14 | "infoEmpty": "Записи с 0 до 0 из 0 записей", 15 | "infoFiltered": "(отфильтровано из _MAX_ записей)", 16 | "infoPostFix": "", 17 | "loadingRecords": "Загрузка записей...", 18 | "zeroRecords": "Записи отсутствуют.", 19 | "emptyTable:": "В таблице отсутствуют данные", 20 | "paginate": { 21 | "first": "Первая", 22 | "previous": "Предыдущая", 23 | "next": "Следующая", 24 | "last": "Последняя" 25 | }, 26 | "aria": { 27 | "sortAscending": ": активировать для сортировки столбца по возрастанию", 28 | "sortDescending": ": активировать для сортировки столбца по убыванию" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Serbian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian translation (Latin alphabet) 3 | * @name Serbian (Latin) 4 | * @anchor Serbian (Latin) 5 | * @author Marko Novakovic 6 | */ 7 | 8 | { 9 | "sProcessing": "Procesiranje u toku...", 10 | "sLengthMenu": "Prikaži _MENU_ elemenata", 11 | "sZeroRecords": "Nije pronađen nijedan rezultat", 12 | "sInfo": "Prikaz _START_ do _END_ od ukupno _TOTAL_ elemenata", 13 | "sInfoEmpty": "Prikaz 0 do 0 od ukupno 0 elemenata", 14 | "sInfoFiltered": "(filtrirano od ukupno _MAX_ elemenata)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Pretraga:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Početna", 20 | "sPrevious": "Prethodna", 21 | "sNext": "Sledeća", 22 | "sLast": "Poslednja" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Slovenian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovenian translation 3 | * @name Slovenian 4 | * @anchor Slovenian 5 | * @author Marko Kroflic, Blaž Brenčič and Andrej Florjančič 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Nobenih podatkov ni na voljo", 10 | "sInfo": "Prikazujem _START_ do _END_ od _TOTAL_ zapisov", 11 | "sInfoEmpty": "Prikazujem 0 do 0 od 0 zapisov", 12 | "sInfoFiltered": "(filtrirano od _MAX_ vseh zapisov)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Prikaži _MENU_ zapisov", 16 | "sLoadingRecords": "Nalagam...", 17 | "sProcessing": "Obdelujem...", 18 | "sSearch": "Išči:", 19 | "sZeroRecords": "Nobeden zapis ne ustreza", 20 | "oPaginate": { 21 | "sFirst": "Prvi", 22 | "sLast": "Zadnji", 23 | "sNext": "Nasl.", 24 | "sPrevious": "Pred." 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": vključite za naraščujoči sort", 28 | "sSortDescending": ": vključite za padajoči sort" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Swahili.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Swahili translation 3 | * @name Swahili 4 | * @anchor Swahili 5 | * @author Roy Owino 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Hakuna data iliyo patikana", 10 | "sInfo": "Inaonyesha _START_ mpaka _END_ ya matokeo _TOTAL_", 11 | "sInfoEmpty": "Inaonyesha 0 hadi 0 ya matokeo 0", 12 | "sInfoFiltered": "(uschujo kutoka matokeo idadi _MAX_)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Onyesha _MENU_ matokeo", 16 | "sLoadingRecords": "Inapakia...", 17 | "sProcessing": "Processing...", 18 | "sSearch": "Tafuta:", 19 | "sZeroRecords": "Rekodi vinavyolingana haziku patikana", 20 | "oPaginate": { 21 | "sFirst": "Mwanzo", 22 | "sLast": "Mwisho", 23 | "sNext": "Ijayo", 24 | "sPrevious": "Kabla" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": seti kulainisha sanjari kwa mtindo wa upandaji", 28 | "sSortDescending": ": seti kulainisha sanjari kwa mtindo wa mteremko" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Swedish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation 3 | * @name Swedish 4 | * @anchor Swedish 5 | * @author Kristoffer Karlström 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Tabellen innehåller ingen data", 10 | "sInfo": "Visar _START_ till _END_ av totalt _TOTAL_ rader", 11 | "sInfoEmpty": "Visar 0 till 0 av totalt 0 rader", 12 | "sInfoFiltered": "(filtrerade från totalt _MAX_ rader)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": " ", 15 | "sLengthMenu": "Visa _MENU_ rader", 16 | "sLoadingRecords": "Laddar...", 17 | "sProcessing": "Bearbetar...", 18 | "sSearch": "Sök:", 19 | "sZeroRecords": "Hittade inga matchande resultat", 20 | "oPaginate": { 21 | "sFirst": "Första", 22 | "sLast": "Sista", 23 | "sNext": "Nästa", 24 | "sPrevious": "Föregående" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": aktivera för att sortera kolumnen i stigande ordning", 28 | "sSortDescending": ": aktivera för att sortera kolumnen i fallande ordning" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Tamil.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Tamil translation 3 | * @name Tamil 4 | * @anchor Tamil 5 | * @author Sam Arul Raj 6 | */ 7 | 8 | { 9 | "sEmptyTable": "அட்டவணையில் தரவு கிடைக்கவில்லை", 10 | "sInfo": "உள்ளீடுகளை் _START_ முதல _END_ உள்ள _TOTAL_ காட்டும்", 11 | "sInfoEmpty": "0 உள்ளீடுகளை 0 0 காட்டும்", 12 | "sInfoFiltered": "(_MAX_ மொத்த உள்ளீடுகளை இருந்து வடிகட்டி)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "_MENU_ காண்பி", 16 | "sLoadingRecords": "ஏற்றுகிறது ...", 17 | "sProcessing": "செயலாக்க ...", 18 | "sSearch": "தேடல்:", 19 | "sZeroRecords": "பொருத்தமான பதிவுகள் இல்லை", 20 | "oPaginate": { 21 | "sFirst": "முதல்", 22 | "sLast": "இறுதி", 23 | "sNext": "அடுத்து", 24 | "sPrevious": "முந்தைய" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": நிரலை ஏறுவரிசையில் வரிசைப்படுத்த செயல்படுத்த", 28 | "sSortDescending": ": நிரலை இறங்கு வரிசைப்படுத்த செயல்படுத்த" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Thai.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Thai translation 3 | * @name Thai 4 | * @anchor Thai 5 | * @author Thanva Thonglor 6 | */ 7 | 8 | { 9 | "sProcessing": "กำลังดำเนินการ...", 10 | "sLengthMenu": "แสดง_MENU_ แถว", 11 | "sZeroRecords": "ไม่พบข้อมูล", 12 | "sInfo": "แสดง _START_ ถึง _END_ จาก _TOTAL_ แถว", 13 | "sInfoEmpty": "แสดง 0 ถึง 0 จาก 0 แถว", 14 | "sInfoFiltered": "(กรองข้อมูล _MAX_ ทุกแถว)", 15 | "sInfoPostFix": "", 16 | "sSearch": "ค้นหา:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "เิริ่มต้น", 20 | "sPrevious": "ก่อนหน้า", 21 | "sNext": "ถัดไป", 22 | "sLast": "สุดท้าย" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Turkish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation 3 | * @name Turkish 4 | * @anchor Turkish 5 | * @author Umit Gorkem 6 | */ 7 | 8 | { 9 | "sProcessing": "İşleniyor...", 10 | "sLengthMenu": "Sayfada _MENU_ Kayıt Göster", 11 | "sZeroRecords": "Eşleşen Kayıt Bulunmadı", 12 | "sInfo": " _TOTAL_ Kayıttan _START_ - _END_ Arası Kayıtlar", 13 | "sInfoEmpty": "Kayıt Yok", 14 | "sInfoFiltered": "( _MAX_ Kayıt İçerisinden Bulunan)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Bul:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "İlk", 20 | "sPrevious": "Önceki", 21 | "sNext": "Sonraki", 22 | "sLast": "Son" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Ukranian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukranian translation 3 | * @name Ukranian 4 | * @anchor Ukranian 5 | * @author antyrat 6 | */ 7 | 8 | { 9 | "sProcessing": "Зачекайте...", 10 | "sLengthMenu": "Показати _MENU_ записів", 11 | "sZeroRecords": "Записи відсутні.", 12 | "sInfo": "Записи з _START_ по _END_ із _TOTAL_ записів", 13 | "sInfoEmpty": "Записи з 0 по 0 із 0 записів", 14 | "sInfoFiltered": "(відфільтровано з _MAX_ записів)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Пошук:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Перша", 20 | "sPrevious": "Попередня", 21 | "sNext": "Наступна", 22 | "sLast": "Остання" 23 | }, 24 | "oAria": { 25 | "sSortAscending": ": активувати для сортування стовпців за зростанням", 26 | "sSortDescending": ": активувати для сортування стовпців за спаданням" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Urdu.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Urdu translation 3 | * @name Urdu 4 | * @anchor Urdu 5 | * @author Zafar Subzwari 6 | */ 7 | 8 | { 9 | "sProcessing": "ہے جاري عملدرامد...", 10 | "sLengthMenu": "دکہائين شقيں کي (_MENU_) فہرست", 11 | "sZeroRecords": "ملے نہيں مفروضات جلتے ملتے کوئ", 12 | "sInfo": "فہرست کي تک _END_ سے _START_ سے ميں _TOTAL_ فہرست پوري ہے نظر پيش", 13 | "sInfoEmpty": "فہرست کي تک 0 سے 0 سے ميں 0 قل ہے نظر پيشّ", 14 | "sInfoFiltered": "(فہرست ہوئ چھني سے ميں _MAX_ قل)", 15 | "sInfoPostFix": "", 16 | "sSearch": "کرو تلاش:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "پہلا", 20 | "sPrevious": "پچہلا", 21 | "sNext": "اگلا", 22 | "sLast": "آخري" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Uzbek.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Uzbek translation 3 | * @name Uzbek 4 | * @anchor Uzbek 5 | * @author Farkhod Dadajanov 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Ma'lumot yo'q", 10 | "sInfo": "Umumiy _TOTAL_ yozuvlarlardan _START_ dan _END_ gachasi ko'rsatilmoqda", 11 | "sInfoEmpty": "Umumiy 0 yozuvlardan 0 dan 0 gachasi ko'rsatilmoqda", 12 | "sInfoFiltered": "(_MAX_ yozuvlardan filtrlandi)", 13 | "sInfoPostFix": "", 14 | "sLengthMenu": "_MENU_ ta yozuvlarni ko'rsat", 15 | "sLoadingRecords": "Yozuvlar yuklanmoqda...", 16 | "sProcessing": "Ishlayapman...", 17 | "sSearch": "Izlash:", 18 | "sZeroRecords": "Ma'lumot yo'q.", 19 | "oPaginate": { 20 | "sFirst": "Birinchi", 21 | "sPrevious": "Avvalgi", 22 | "sNext": "Keyingi", 23 | "sLast": "Son'ggi" 24 | }, 25 | "oAria": { 26 | "sSortAscending": ": to'g'ri tartiblash", 27 | "sSortDescending": ": teskari tartiblash" 28 | } 29 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Vietnamese.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Vietnamese translation 3 | * @name Vietnamese 4 | * @anchor Vietnamese 5 | * @author Trinh Phuoc Thai 6 | */ 7 | 8 | { 9 | "sProcessing": "Đang xử lý...", 10 | "sLengthMenu": "Xem _MENU_ mục", 11 | "sZeroRecords": "Không tìm thấy dòng nào phù hợp", 12 | "sInfo": "Đang xem _START_ đến _END_ trong tổng số _TOTAL_ mục", 13 | "sInfoEmpty": "Đang xem 0 đến 0 trong tổng số 0 mục", 14 | "sInfoFiltered": "(được lọc từ _MAX_ mục)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Tìm:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Đầu", 20 | "sPrevious": "Trước", 21 | "sNext": "Tiếp", 22 | "sLast": "Cuối" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/1/dataTables.bootstrap.css: -------------------------------------------------------------------------------- 1 | div.dataTables_length label { 2 | width: 460px; 3 | float: left; 4 | text-align: left; 5 | } 6 | 7 | div.dataTables_length select { 8 | width: 75px; 9 | } 10 | 11 | div.dataTables_filter label { 12 | float: right; 13 | width: 460px; 14 | } 15 | 16 | div.dataTables_info { 17 | padding-top: 8px; 18 | } 19 | 20 | div.dataTables_paginate { 21 | float: right; 22 | margin: 0; 23 | } 24 | 25 | table { 26 | margin: 1em 0; 27 | clear: both; 28 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_asc.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_both.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_desc.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_asc.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_both.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_desc.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/sorting/.DS_Store -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/alt-string.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Sort on the 'alt' tag of images in a column. This is particularly useful if 3 | * you have a column of images (ticks and crosses for example) and you want to 4 | * control the sorting using the alt tag. 5 | * 6 | * @name Alt string 7 | * @summary Use the `alt` attribute of an image tag as the data to sort upon. 8 | * @author _Jumpy_ 9 | * 10 | * @example 11 | * $('#example').dataTable( { 12 | * columnDefs: [ 13 | * { type: 'alt-string', targets: 0 } 14 | * ] 15 | * } ); 16 | */ 17 | 18 | jQuery.extend( jQuery.fn.dataTableExt.oSort, { 19 | "alt-string-pre": function ( a ) { 20 | return a.match(/alt="(.*?)"/)[1].toLowerCase(); 21 | }, 22 | 23 | "alt-string-asc": function( a, b ) { 24 | return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 25 | }, 26 | 27 | "alt-string-desc": function(a,b) { 28 | return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 29 | } 30 | } ); 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/anti-the.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Often a list of data which has titles in it (books, albums etc) will have 3 | * the word "the" at the start of some individual titles, which you don't want 4 | * to include in your sorting order. This plug-in will strip the word "the" 5 | * from the start of a string and sort on what is left. 6 | * 7 | * @name Anti-"the" 8 | * @summary Sort with the prefixed word `dt-string The` removed, if present 9 | * @author [Allan Jardine](http://sprymedia.co.uk) 10 | * 11 | * @example 12 | * $('#example').dataTable( { 13 | * columnDefs: [ 14 | * { type: 'anti-the', targets: 0 } 15 | * ] 16 | * } ); 17 | */ 18 | 19 | jQuery.extend( jQuery.fn.dataTableExt.oSort, { 20 | "anti-the-pre": function ( a ) { 21 | return a.replace(/^the /i, ""); 22 | }, 23 | 24 | "anti-the-asc": function ( a, b ) { 25 | return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 26 | }, 27 | 28 | "anti-the-desc": function ( a, b ) { 29 | return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 30 | } 31 | } ); 32 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/custom-data-source/dom-checkbox.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Read information from a column of checkboxes (input elements with type 3 | * checkbox) and return an array to use as a basis for sorting. 4 | * 5 | * @summary Sort based on the checked state of checkboxes in a column 6 | * @name Checkbox data source 7 | * @author [Allan Jardine](http://sprymedia.co.uk) 8 | */ 9 | 10 | $.fn.dataTable.ext.order['dom-checkbox'] = function ( settings, col ) 11 | { 12 | return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) { 13 | return $('input', td).prop('checked') ? '1' : '0'; 14 | } ); 15 | }; 16 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/custom-data-source/dom-select.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Read information from a column of select (drop down) menus and return an 3 | * array to use as a basis for sorting. 4 | * 5 | * @summary Sort based on the value of the `dt-tag select` options in a column 6 | * @name Select menu data source 7 | * @requires DataTables 1.10+ 8 | * @author [Allan Jardine](http://sprymedia.co.uk) 9 | */ 10 | 11 | $.fn.dataTable.ext.order['dom-select'] = function ( settings, col ) 12 | { 13 | return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) { 14 | return $('select', td).val(); 15 | } ); 16 | }; 17 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/custom-data-source/dom-text.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Read information from a column of input (type text) elements and return an 3 | * array to use as a basis for sorting. 4 | * 5 | * @summary Sorting based on the values of `dt-tag input` elements in a column. 6 | * @name Input element data source 7 | * @requires DataTables 1.10+ 8 | * @author [Allan Jardine](http://sprymedia.co.uk) 9 | */ 10 | 11 | $.fn.dataTable.ext.order['dom-text'] = function ( settings, col ) 12 | { 13 | return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) { 14 | return $('input', td).val(); 15 | } ); 16 | }; 17 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/scientific.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This plug-in will treat numbers which are in scientific notation (for 3 | * example `1E-10`, `1.2E6` etc) and sort them numerically. 4 | * 5 | * @name Scientific notation sorting 6 | * @summary Sort data which is written in exponential notation. 7 | * @author [Nick Schurch](http://datatables.net/forums/profile/21757/nickschurch) 8 | * 9 | * @example 10 | * $('#example').dataTable( { 11 | * columnDefs: [ 12 | * { type: 'scientific', targets: 0 } 13 | * ] 14 | * } ); 15 | */ 16 | 17 | jQuery.extend( jQuery.fn.dataTableExt.oSort, { 18 | "scientific-pre": function ( a ) { 19 | return parseFloat(a); 20 | }, 21 | 22 | "scientific-asc": function ( a, b ) { 23 | return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 24 | }, 25 | 26 | "scientific-desc": function ( a, b ) { 27 | return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 28 | } 29 | } ); 30 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/signed-num.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Although DataTables' internal numeric sorting works no problem on negative 3 | * numbers, it does not accept positively signed numbers. This plug-in will 4 | * sort just such data numerically. 5 | * 6 | * @name Fully signed numbers sorting 7 | * @summary Sort data numerically with a leading `+` symbol (as well as `-`). 8 | * @author [Allan Jardine](http://sprymedia.co.uk) 9 | * 10 | * @example 11 | * $('#example').dataTable( { 12 | * columnDefs: [ 13 | * { type: 'signed-num', targets: 0 } 14 | * ] 15 | * } ); 16 | */ 17 | 18 | jQuery.extend( jQuery.fn.dataTableExt.oSort, { 19 | "signed-num-pre": function ( a ) { 20 | return (a=="-" || a==="") ? 0 : a.replace('+','')*1; 21 | }, 22 | 23 | "signed-num-asc": function ( a, b ) { 24 | return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 25 | }, 26 | 27 | "signed-num-desc": function ( a, b ) { 28 | return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 29 | } 30 | } ); 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/type-detection/date-uk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically detect British (`dd/mm/yyyy`) date types. Goes with the UK 3 | * date sorting plug-in. 4 | * 5 | * @name Date (`dd/mm/yyyy`) 6 | * @summary Detect data which is in the date format `dd/mm/yyyy` 7 | * @author Andy McMaster 8 | */ 9 | 10 | jQuery.fn.dataTableExt.aTypes.unshift( 11 | function ( sData ) 12 | { 13 | if (sData !== null && sData.match(/^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20|21)\d\d$/)) 14 | { 15 | return 'date-uk'; 16 | } 17 | return null; 18 | } 19 | ); 20 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/type-detection/formatted-num.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This plug-in will strip out non-numeric formatting characters such that a 3 | * formatted number (for example 1,000,000) can be detected automatically and 4 | * sorted numerically. Note that characters a-z are not automatically removed, 5 | * otherwise there is a risk of detecting columns as numeric which should not 6 | * be. 7 | * 8 | * DataTables 1.10+ has formatted number type detection and sorting abilities 9 | * built-in. As such this plug-in is marked as deprecated, but might be useful 10 | * when working with old versions of DataTables. 11 | * 12 | * @name Formatted numbers 13 | * @summary formatted_numbers 14 | * @deprecated 15 | * @author [Allan Jardine](http://sprymedia.co.uk) 16 | */ 17 | 18 | jQuery.fn.dataTableExt.aTypes.unshift( 19 | function ( sData ) 20 | { 21 | var deformatted = sData.replace(/[^\d\-\.\/a-zA-Z]/g,''); 22 | if ( $.isNumeric( deformatted ) || deformatted === "-" ) { 23 | return 'formatted-num'; 24 | } 25 | return null; 26 | } 27 | ); 28 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/type-detection/ip-address.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically detect IP addresses in dot notation. Goes perfectly with the 3 | * IP address sorting function. 4 | * 5 | * @name IP address detection 6 | * @summary Detect data which is in IP address notation 7 | * @author Brad Wasson 8 | */ 9 | 10 | jQuery.fn.dataTableExt.aTypes.unshift( 11 | function ( sData ) 12 | { 13 | if (/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(sData)) { 14 | return 'ip-address'; 15 | } 16 | return null; 17 | } 18 | ); 19 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "datatables-responsive", 3 | "version": "1.0.7", 4 | "main": [ 5 | "js/dataTables.responsive.js", 6 | "css/responsive.dataTables.scss" 7 | ], 8 | "dependencies": { 9 | "jquery": ">=1.7.0", 10 | "datatables": ">=1.10.1" 11 | }, 12 | "homepage": "https://github.com/DataTables/Responsive", 13 | "_release": "1.0.7", 14 | "_resolution": { 15 | "type": "version", 16 | "tag": "1.0.7", 17 | "commit": "435b1bd36ed29de73dd704121de0571a5c1a50a6" 18 | }, 19 | "_source": "git://github.com/DataTables/Responsive.git", 20 | "_target": "~1.0.3", 21 | "_originalSource": "datatables-responsive" 22 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/.gitignore: -------------------------------------------------------------------------------- 1 | .sass-cache 2 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "datatables-responsive", 3 | "version": "1.0.7", 4 | "main": [ 5 | "js/dataTables.responsive.js", 6 | "css/responsive.dataTables.scss" 7 | ], 8 | "dependencies": { 9 | "jquery": ">=1.7.0", 10 | "datatables": ">=1.10.1" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/css/responsive.bootstrap.scss: -------------------------------------------------------------------------------- 1 | 2 | $open-button-background: #337ab7 !default; 3 | 4 | @import 'responsive.dataTables.scss'; 5 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/css/responsive.foundation.scss: -------------------------------------------------------------------------------- 1 | 2 | $open-button-background: #008CBA !default; 3 | 4 | @import 'responsive.dataTables.scss'; 5 | 6 | table.dataTable > tbody > tr.child { 7 | ul { 8 | font-size: 1em; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/css/responsive.jqueryui.scss: -------------------------------------------------------------------------------- 1 | 2 | @import 'responsive.dataTables.scss'; 3 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-responsive/examples/.DS_Store -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/child-rows/disable-child-rows.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | Disable child rows 20 | 21 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/child-rows/index.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Child row control 5 | 6 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/display-control/fixedHeader.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | div.container { max-width: 1200px } 6 | 7 | 8 | 20 | 21 | 22 | With FixedHeader 23 | 24 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/display-control/index.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Display control 5 | 6 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/index.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Responsive DataTables 5 | 6 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/initialisation/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-responsive/examples/initialisation/.DS_Store -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/initialisation/className.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | Class name 16 | 17 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/initialisation/index.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Initialisation 5 | 6 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/styling/compact.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | div.container { max-width: 1200px } 6 | 7 | 8 | 17 | 18 | 19 | Compact styling 20 | 21 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/styling/foundation.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | Foundation styling 16 | 17 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/styling/index.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Styling 5 | 6 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/styling/jqueryui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | jQuery UI styling 16 | 17 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/styling/scrolling.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | div.container { max-width: 1200px } 6 | 7 | 8 | 18 | 19 | 20 | Vertical scrolling 21 | 22 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/make.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | OUT_DIR=$1 4 | DEBUG=$2 5 | 6 | # Change into script's own dir 7 | cd $(dirname $0) 8 | 9 | DT_SRC=$(dirname $(dirname $(pwd))) 10 | DT_BUILT="${DT_SRC}/built/DataTables" 11 | . $DT_SRC/build/include.sh 12 | 13 | # Copy CSS 14 | rsync -r css $OUT_DIR 15 | css_frameworks responsive $OUT_DIR/css 16 | 17 | # Copy images 18 | #rsync -r images $OUT_DIR 19 | 20 | # Copy JS 21 | rsync -r js $OUT_DIR 22 | js_compress $OUT_DIR/js/dataTables.responsive.js 23 | js_frameworks responsive $OUT_DIR/js 24 | 25 | # Copy and build examples 26 | rsync -r examples $OUT_DIR 27 | examples_process $OUT_DIR/examples 28 | 29 | # Readme and license 30 | cp Readme.md $OUT_DIR 31 | cp License.txt $OUT_DIR 32 | 33 | -------------------------------------------------------------------------------- /static/bower_components/datatables/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "datatables", 3 | "version": "1.10.10", 4 | "main": [ 5 | "media/js/jquery.dataTables.js", 6 | "media/css/jquery.dataTables.css", 7 | "media/images/sort_asc.png", 8 | "media/images/sort_asc_disabled.png", 9 | "media/images/sort_both.png", 10 | "media/images/sort_desc.png", 11 | "media/images/sort_desc_disabled.png" 12 | ], 13 | "dependencies": { 14 | "jquery": ">=1.7.0" 15 | }, 16 | "license": "MIT", 17 | "keywords": [ 18 | "jquery", 19 | "datatables", 20 | "table", 21 | "javascript", 22 | "library" 23 | ], 24 | "ignore": [ 25 | "/.*", 26 | "examples", 27 | "media/unit_testing", 28 | "composer.json", 29 | "dataTables.jquery.json", 30 | "package.json" 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /static/bower_components/datatables/media/images/Sorting icons.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables/media/images/Sorting icons.psd -------------------------------------------------------------------------------- /static/bower_components/datatables/media/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables/media/images/favicon.ico -------------------------------------------------------------------------------- /static/bower_components/datatables/media/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables/media/images/sort_asc.png -------------------------------------------------------------------------------- /static/bower_components/datatables/media/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables/media/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/datatables/media/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables/media/images/sort_both.png -------------------------------------------------------------------------------- /static/bower_components/datatables/media/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables/media/images/sort_desc.png -------------------------------------------------------------------------------- /static/bower_components/datatables/media/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables/media/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/flot.tooltip/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flot.tooltip", 3 | "version": "0.8.5", 4 | "license": "MIT", 5 | "main": "js/jquery.flot.tooltip.js", 6 | "ignore": [ 7 | ".gitignore", 8 | "Gruntfile.js", 9 | "README.md", 10 | "package.json", 11 | "examples", 12 | "js/old" 13 | ], 14 | "homepage": "https://github.com/krzysu/flot.tooltip", 15 | "_release": "0.8.5", 16 | "_resolution": { 17 | "type": "version", 18 | "tag": "0.8.5", 19 | "commit": "e2dbb407ffcf5ece0f2e6ab922b0192b8a6d168e" 20 | }, 21 | "_source": "git://github.com/krzysu/flot.tooltip.git", 22 | "_target": "~0.8.4", 23 | "_originalSource": "flot.tooltip" 24 | } -------------------------------------------------------------------------------- /static/bower_components/flot.tooltip/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flot.tooltip", 3 | "version": "0.8.5", 4 | "license": "MIT", 5 | "main": "js/jquery.flot.tooltip.js", 6 | "ignore": [ 7 | ".gitignore", 8 | "Gruntfile.js", 9 | "README.md", 10 | "package.json", 11 | "examples", 12 | "js/old" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /static/bower_components/flot/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Flot", 3 | "version": "0.8.3", 4 | "main": "jquery.flot.js", 5 | "dependencies": { 6 | "jquery": ">= 1.2.6" 7 | }, 8 | "homepage": "https://github.com/flot/flot", 9 | "_release": "0.8.3", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v0.8.3", 13 | "commit": "453b017cc5acfd75e252b93e8635f57f4196d45d" 14 | }, 15 | "_source": "git://github.com/flot/flot.git", 16 | "_target": "~0.8.3", 17 | "_originalSource": "flot", 18 | "_direct": true 19 | } -------------------------------------------------------------------------------- /static/bower_components/flot/.gitignore: -------------------------------------------------------------------------------- 1 | *.min.js 2 | !excanvas.min.js 3 | node_modules/ 4 | -------------------------------------------------------------------------------- /static/bower_components/flot/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | -------------------------------------------------------------------------------- /static/bower_components/flot/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for generating minified files 2 | 3 | .PHONY: all 4 | 5 | # we cheat and process all .js files instead of an exhaustive list 6 | all: $(patsubst %.js,%.min.js,$(filter-out %.min.js,$(wildcard *.js))) 7 | 8 | %.min.js: %.js 9 | yui-compressor $< -o $@ 10 | 11 | test: 12 | ./node_modules/.bin/jshint *jquery.flot.js 13 | -------------------------------------------------------------------------------- /static/bower_components/flot/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Flot", 3 | "version": "0.8.3", 4 | "main": "jquery.flot.js", 5 | "dependencies": { 6 | "jquery": ">= 1.2.6" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/ajax/data-eu-gdp-growth-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Europe (EU27)", 3 | "data": [[1999, 3.0], [2000, 3.9]] 4 | } 5 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/ajax/data-eu-gdp-growth-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Europe (EU27)", 3 | "data": [[1999, 3.0], [2000, 3.9], [2001, 2.0], [2002, 1.2]] 4 | } 5 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/ajax/data-eu-gdp-growth-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Europe (EU27)", 3 | "data": [[1999, 3.0], [2000, 3.9], [2001, 2.0], [2002, 1.2], [2003, 1.3], [2004, 2.5]] 4 | } 5 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/ajax/data-eu-gdp-growth-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Europe (EU27)", 3 | "data": [[1999, 3.0], [2000, 3.9], [2001, 2.0], [2002, 1.2], [2003, 1.3], [2004, 2.5], [2005, 2.0], [2006, 3.1]] 4 | } 5 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/ajax/data-eu-gdp-growth-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Europe (EU27)", 3 | "data": [[1999, 3.0], [2000, 3.9], [2001, 2.0], [2002, 1.2], [2003, 1.3], [2004, 2.5], [2005, 2.0], [2006, 3.1], [2007, 2.9], [2008, 0.9]] 4 | } 5 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/ajax/data-eu-gdp-growth.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Europe (EU27)", 3 | "data": [[1999, 3.0], [2000, 3.9], [2001, 2.0], [2002, 1.2], [2003, 1.3], [2004, 2.5], [2005, 2.0], [2006, 3.1], [2007, 2.9], [2008, 0.9]] 4 | } 5 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/ajax/data-japan-gdp-growth.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Japan", 3 | "data": [[1999, -0.1], [2000, 2.9], [2001, 0.2], [2002, 0.3], [2003, 1.4], [2004, 2.7], [2005, 1.9], [2006, 2.0], [2007, 2.3], [2008, -0.7]] 4 | } 5 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/ajax/data-usa-gdp-growth.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "USA", 3 | "data": [[1999, 4.4], [2000, 3.7], [2001, 0.8], [2002, 1.6], [2003, 2.5], [2004, 3.6], [2005, 2.9], [2006, 2.8], [2007, 2.0], [2008, 1.1]] 4 | } 5 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/axes-time-zones/tz/factory: -------------------------------------------------------------------------------- 1 | #
 2 | # This file is in the public domain, so clarified as of
 3 | # 2009-05-17 by Arthur David Olson.
 4 | 
 5 | # For companies who don't want to put time zone specification in
 6 | # their installation procedures.  When users run date, they'll get the message.
 7 | # Also useful for the "comp.sources" version.
 8 | 
 9 | # Zone	NAME	GMTOFF	RULES	FORMAT
10 | Zone	Factory	0	- "Local time zone must be set--see zic manual page"
11 | 


--------------------------------------------------------------------------------
/static/bower_components/flot/examples/axes-time-zones/tz/southamerica:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/axes-time-zones/tz/southamerica


--------------------------------------------------------------------------------
/static/bower_components/flot/examples/axes-time-zones/tz/yearistype.sh:
--------------------------------------------------------------------------------
 1 | #! /bin/sh
 2 | 
 3 | : 'This file is in the public domain, so clarified as of'
 4 | : '2006-07-17 by Arthur David Olson.'
 5 | 
 6 | case $#-$1 in
 7 | 	2-|2-0*|2-*[!0-9]*)
 8 | 		echo "$0: wild year - $1" >&2
 9 | 		exit 1 ;;
10 | esac
11 | 
12 | case $#-$2 in
13 | 	2-even)
14 | 		case $1 in
15 | 			*[24680])			exit 0 ;;
16 | 			*)				exit 1 ;;
17 | 		esac ;;
18 | 	2-nonpres|2-nonuspres)
19 | 		case $1 in
20 | 			*[02468][048]|*[13579][26])	exit 1 ;;
21 | 			*)				exit 0 ;;
22 | 		esac ;;
23 | 	2-odd)
24 | 		case $1 in
25 | 			*[13579])			exit 0 ;;
26 | 			*)				exit 1 ;;
27 | 		esac ;;
28 | 	2-uspres)
29 | 		case $1 in
30 | 			*[02468][048]|*[13579][26])	exit 0 ;;
31 | 			*)				exit 1 ;;
32 | 		esac ;;
33 | 	2-*)
34 | 		echo "$0: wild type - $2" >&2 ;;
35 | esac
36 | 
37 | echo "$0: usage is $0 year even|odd|uspres|nonpres|nonuspres" >&2
38 | exit 1
39 | 


--------------------------------------------------------------------------------
/static/bower_components/flot/examples/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/background.png


--------------------------------------------------------------------------------
/static/bower_components/flot/examples/image/hs-2004-27-a-large-web.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/image/hs-2004-27-a-large-web.jpg


--------------------------------------------------------------------------------
/static/bower_components/flot/examples/navigate/arrow-down.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/navigate/arrow-down.gif


--------------------------------------------------------------------------------
/static/bower_components/flot/examples/navigate/arrow-left.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/navigate/arrow-left.gif


--------------------------------------------------------------------------------
/static/bower_components/flot/examples/navigate/arrow-right.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/navigate/arrow-right.gif


--------------------------------------------------------------------------------
/static/bower_components/flot/examples/navigate/arrow-up.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/navigate/arrow-up.gif


--------------------------------------------------------------------------------
/static/bower_components/flot/flot.jquery.json:
--------------------------------------------------------------------------------
 1 | {
 2 | 	"name": "flot",
 3 | 	"version": "0.8.3",
 4 | 	"title": "Flot",
 5 | 	"author": {
 6 | 		"name": "Ole Laursen",
 7 | 		"url": "https://github.com/OleLaursen"
 8 | 	},
 9 | 	"licenses": [{
10 | 		"type": "MIT",
11 | 		"url": "http://github.com/flot/flot/blob/master/LICENSE.txt"
12 | 	}],
13 | 	"dependencies": {
14 | 		"jquery": ">=1.2.6"
15 | 	},
16 | 	"description": "Flot is a pure JavaScript plotting library for jQuery, with a focus on simple usage, attractive looks and interactive features.",
17 | 	"keywords": ["plot", "chart", "graph", "visualization", "canvas", "graphics"],
18 | 	"homepage": "http://www.flotcharts.org",
19 | 	"docs": "http://github.com/flot/flot/blob/master/API.md",
20 | 	"demo": "http://www.flotcharts.org/flot/examples/",
21 | 	"bugs": "http://github.com/flot/flot/issues",
22 | 	"maintainers": [{
23 | 		"name": "David Schnur",
24 | 		"email": "dnschnur@gmail.com",
25 | 		"url": "http://github.com/dnschnur"
26 | 	}]
27 | }
28 | 


--------------------------------------------------------------------------------
/static/bower_components/flot/package.json:
--------------------------------------------------------------------------------
 1 | {
 2 | 	"name": "Flot",
 3 | 	"version": "0.8.3",
 4 | 	"main": "jquery.flot.js",
 5 | 	"scripts": {
 6 | 		"test": "make test"
 7 | 	},
 8 | 	"devDependencies": {
 9 | 		"jshint": "0.9.1"
10 | 	}
11 | }
12 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/.bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "font-awesome",
 3 |   "description": "Font Awesome",
 4 |   "version": "4.2.0",
 5 |   "keywords": [],
 6 |   "homepage": "http://fontawesome.io",
 7 |   "dependencies": {},
 8 |   "devDependencies": {},
 9 |   "license": [
10 |     "OFL-1.1",
11 |     "MIT",
12 |     "CC-BY-3.0"
13 |   ],
14 |   "main": [
15 |     "./css/font-awesome.css",
16 |     "./fonts/*"
17 |   ],
18 |   "ignore": [
19 |     "*/.*",
20 |     "*.json",
21 |     "src",
22 |     "*.yml",
23 |     "Gemfile",
24 |     "Gemfile.lock",
25 |     "*.md"
26 |   ],
27 |   "_release": "4.2.0",
28 |   "_resolution": {
29 |     "type": "version",
30 |     "tag": "v4.2.0",
31 |     "commit": "0b924144a95a54fa738d0450ff66c1dabd11ae74"
32 |   },
33 |   "_source": "git://github.com/FortAwesome/Font-Awesome.git",
34 |   "_target": "~4.2.0",
35 |   "_originalSource": "font-awesome"
36 | }


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/.gitignore:
--------------------------------------------------------------------------------
 1 | *.pyc
 2 | *.egg-info
 3 | *.db
 4 | *.db.old
 5 | *.swp
 6 | *.db-journal
 7 | 
 8 | .coverage
 9 | .DS_Store
10 | .installed.cfg
11 | _gh_pages/*
12 | 
13 | .idea/*
14 | .svn/*
15 | src/website/static/*
16 | src/website/media/*
17 | 
18 | bin
19 | cfcache
20 | develop-eggs
21 | dist
22 | downloads
23 | eggs
24 | parts
25 | tmp
26 | .sass-cache
27 | node_modules
28 | 
29 | src/website/settingslocal.py
30 | stunnel.log
31 | 
32 | .ruby-version
33 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/.npmignore:
--------------------------------------------------------------------------------
 1 | *.pyc
 2 | *.egg-info
 3 | *.db
 4 | *.db.old
 5 | *.swp
 6 | *.db-journal
 7 | 
 8 | .coverage
 9 | .DS_Store
10 | .installed.cfg
11 | _gh_pages/*
12 | 
13 | .idea/*
14 | .svn/*
15 | src/website/static/*
16 | src/website/media/*
17 | 
18 | bin
19 | cfcache
20 | develop-eggs
21 | dist
22 | downloads
23 | eggs
24 | parts
25 | tmp
26 | .sass-cache
27 | node_modules
28 | 
29 | src/website/settingslocal.py
30 | stunnel.log
31 | 
32 | .ruby-version
33 | 
34 | # don't need these in the npm package.
35 | src/
36 | _config.yml
37 | bower.json
38 | component.json
39 | composer.json
40 | CONTRIBUTING.md
41 | Gemfile
42 | Gemfile.lock
43 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "font-awesome",
 3 |   "description": "Font Awesome",
 4 |   "version": "4.2.0",
 5 |   "keywords": [],
 6 |   "homepage": "http://fontawesome.io",
 7 |   "dependencies": {},
 8 |   "devDependencies": {},
 9 |   "license": ["OFL-1.1", "MIT", "CC-BY-3.0"],
10 |   "main": [
11 |     "./css/font-awesome.css",
12 |     "./fonts/*"
13 |   ],
14 |   "ignore": [
15 |     "*/.*",
16 |     "*.json",
17 |     "src",
18 |     "*.yml",
19 |     "Gemfile",
20 |     "Gemfile.lock",
21 |     "*.md"
22 |   ]
23 | }
24 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/font-awesome/fonts/FontAwesome.otf


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/font-awesome/fonts/fontawesome-webfont.eot


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/font-awesome/fonts/fontawesome-webfont.ttf


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/font-awesome/fonts/fontawesome-webfont.woff


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/bordered-pulled.less:
--------------------------------------------------------------------------------
 1 | // Bordered & Pulled
 2 | // -------------------------
 3 | 
 4 | .@{fa-css-prefix}-border {
 5 |   padding: .2em .25em .15em;
 6 |   border: solid .08em @fa-border-color;
 7 |   border-radius: .1em;
 8 | }
 9 | 
10 | .pull-right { float: right; }
11 | .pull-left { float: left; }
12 | 
13 | .@{fa-css-prefix} {
14 |   &.pull-left { margin-right: .3em; }
15 |   &.pull-right { margin-left: .3em; }
16 | }
17 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/core.less:
--------------------------------------------------------------------------------
 1 | // Base Class Definition
 2 | // -------------------------
 3 | 
 4 | .@{fa-css-prefix} {
 5 |   display: inline-block;
 6 |   font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
 7 |   font-size: inherit; // can't have font-size inherit on line above, so need to override
 8 |   text-rendering: auto; // optimizelegibility throws things off #1094
 9 |   -webkit-font-smoothing: antialiased;
10 |   -moz-osx-font-smoothing: grayscale;
11 | }
12 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/extras.less:
--------------------------------------------------------------------------------
1 | // Extras
2 | // --------------------------
3 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 |   width: (18em / 14);
5 |   text-align: center;
6 | }
7 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/font-awesome.less:
--------------------------------------------------------------------------------
 1 | /*!
 2 |  *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 3 |  *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 4 |  */
 5 | 
 6 | @import "variables.less";
 7 | @import "mixins.less";
 8 | @import "path.less";
 9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "spinning.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/larger.less:
--------------------------------------------------------------------------------
 1 | // Icon Sizes
 2 | // -------------------------
 3 | 
 4 | /* makes the font 33% larger relative to the icon container */
 5 | .@{fa-css-prefix}-lg {
 6 |   font-size: (4em / 3);
 7 |   line-height: (3em / 4);
 8 |   vertical-align: -15%;
 9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/list.less:
--------------------------------------------------------------------------------
 1 | // List Icons
 2 | // -------------------------
 3 | 
 4 | .@{fa-css-prefix}-ul {
 5 |   padding-left: 0;
 6 |   margin-left: @fa-li-width;
 7 |   list-style-type: none;
 8 |   > li { position: relative; }
 9 | }
10 | .@{fa-css-prefix}-li {
11 |   position: absolute;
12 |   left: -@fa-li-width;
13 |   width: @fa-li-width;
14 |   top: (2em / 14);
15 |   text-align: center;
16 |   &.@{fa-css-prefix}-lg {
17 |     left: (-@fa-li-width + (4em / 14));
18 |   }
19 | }
20 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/mixins.less:
--------------------------------------------------------------------------------
 1 | // Mixins
 2 | // --------------------------
 3 | 
 4 | .fa-icon() {
 5 |   display: inline-block;
 6 |   font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
 7 |   font-size: inherit; // can't have font-size inherit on line above, so need to override
 8 |   text-rendering: auto; // optimizelegibility throws things off #1094
 9 |   -webkit-font-smoothing: antialiased;
10 |   -moz-osx-font-smoothing: grayscale;
11 | }
12 | 
13 | .fa-icon-rotate(@degrees, @rotation) {
14 |   filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
15 |   -webkit-transform: rotate(@degrees);
16 |       -ms-transform: rotate(@degrees);
17 |           transform: rotate(@degrees);
18 | }
19 | 
20 | .fa-icon-flip(@horiz, @vert, @rotation) {
21 |   filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
22 |   -webkit-transform: scale(@horiz, @vert);
23 |       -ms-transform: scale(@horiz, @vert);
24 |           transform: scale(@horiz, @vert);
25 | }
26 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/path.less:
--------------------------------------------------------------------------------
 1 | /* FONT PATH
 2 |  * -------------------------- */
 3 | 
 4 | @font-face {
 5 |   font-family: 'FontAwesome';
 6 |   src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
 7 |   src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
 8 |     url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
 9 |     url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
10 |     url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
11 | //  src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
12 |   font-weight: normal;
13 |   font-style: normal;
14 | }
15 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/rotated-flipped.less:
--------------------------------------------------------------------------------
 1 | // Rotated & Flipped Icons
 2 | // -------------------------
 3 | 
 4 | .@{fa-css-prefix}-rotate-90  { .fa-icon-rotate(90deg, 1);  }
 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
 7 | 
 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
 9 | .@{fa-css-prefix}-flip-vertical   { .fa-icon-flip(1, -1, 2); }
10 | 
11 | // Hook for IE8-9
12 | // -------------------------
13 | 
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 |   filter: none;
20 | }
21 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/spinning.less:
--------------------------------------------------------------------------------
 1 | // Spinning Icons
 2 | // --------------------------
 3 | 
 4 | .@{fa-css-prefix}-spin {
 5 |   -webkit-animation: fa-spin 2s infinite linear;
 6 |           animation: fa-spin 2s infinite linear;
 7 | }
 8 | 
 9 | @-webkit-keyframes fa-spin {
10 |   0% {
11 |     -webkit-transform: rotate(0deg);
12 |             transform: rotate(0deg);
13 |   }
14 |   100% {
15 |     -webkit-transform: rotate(359deg);
16 |             transform: rotate(359deg);
17 |   }
18 | }
19 | 
20 | @keyframes fa-spin {
21 |   0% {
22 |     -webkit-transform: rotate(0deg);
23 |             transform: rotate(0deg);
24 |   }
25 |   100% {
26 |     -webkit-transform: rotate(359deg);
27 |             transform: rotate(359deg);
28 |   }
29 | }
30 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/less/stacked.less:
--------------------------------------------------------------------------------
 1 | // Stacked Icons
 2 | // -------------------------
 3 | 
 4 | .@{fa-css-prefix}-stack {
 5 |   position: relative;
 6 |   display: inline-block;
 7 |   width: 2em;
 8 |   height: 2em;
 9 |   line-height: 2em;
10 |   vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 |   position: absolute;
14 |   left: 0;
15 |   width: 100%;
16 |   text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
 1 | // Bordered & Pulled
 2 | // -------------------------
 3 | 
 4 | .#{$fa-css-prefix}-border {
 5 |   padding: .2em .25em .15em;
 6 |   border: solid .08em $fa-border-color;
 7 |   border-radius: .1em;
 8 | }
 9 | 
10 | .pull-right { float: right; }
11 | .pull-left { float: left; }
12 | 
13 | .#{$fa-css-prefix} {
14 |   &.pull-left { margin-right: .3em; }
15 |   &.pull-right { margin-left: .3em; }
16 | }
17 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_core.scss:
--------------------------------------------------------------------------------
 1 | // Base Class Definition
 2 | // -------------------------
 3 | 
 4 | .#{$fa-css-prefix} {
 5 |   display: inline-block;
 6 |   font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
 7 |   font-size: inherit; // can't have font-size inherit on line above, so need to override
 8 |   text-rendering: auto; // optimizelegibility throws things off #1094
 9 |   -webkit-font-smoothing: antialiased;
10 |   -moz-osx-font-smoothing: grayscale;
11 | }
12 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 |   width: (18em / 14);
5 |   text-align: center;
6 | }
7 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_larger.scss:
--------------------------------------------------------------------------------
 1 | // Icon Sizes
 2 | // -------------------------
 3 | 
 4 | /* makes the font 33% larger relative to the icon container */
 5 | .#{$fa-css-prefix}-lg {
 6 |   font-size: (4em / 3);
 7 |   line-height: (3em / 4);
 8 |   vertical-align: -15%;
 9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_list.scss:
--------------------------------------------------------------------------------
 1 | // List Icons
 2 | // -------------------------
 3 | 
 4 | .#{$fa-css-prefix}-ul {
 5 |   padding-left: 0;
 6 |   margin-left: $fa-li-width;
 7 |   list-style-type: none;
 8 |   > li { position: relative; }
 9 | }
10 | .#{$fa-css-prefix}-li {
11 |   position: absolute;
12 |   left: -$fa-li-width;
13 |   width: $fa-li-width;
14 |   top: (2em / 14);
15 |   text-align: center;
16 |   &.#{$fa-css-prefix}-lg {
17 |     left: -$fa-li-width + (4em / 14);
18 |   }
19 | }
20 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_mixins.scss:
--------------------------------------------------------------------------------
 1 | // Mixins
 2 | // --------------------------
 3 | 
 4 | @mixin fa-icon() {
 5 |   display: inline-block;
 6 |   font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
 7 |   font-size: inherit; // can't have font-size inherit on line above, so need to override
 8 |   text-rendering: auto; // optimizelegibility throws things off #1094
 9 |   -webkit-font-smoothing: antialiased;
10 |   -moz-osx-font-smoothing: grayscale;
11 | }
12 | 
13 | @mixin fa-icon-rotate($degrees, $rotation) {
14 |   filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
15 |   -webkit-transform: rotate($degrees);
16 |       -ms-transform: rotate($degrees);
17 |           transform: rotate($degrees);
18 | }
19 | 
20 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
21 |   filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
22 |   -webkit-transform: scale($horiz, $vert);
23 |       -ms-transform: scale($horiz, $vert);
24 |           transform: scale($horiz, $vert);
25 | }
26 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_path.scss:
--------------------------------------------------------------------------------
 1 | /* FONT PATH
 2 |  * -------------------------- */
 3 | 
 4 | @font-face {
 5 |   font-family: 'FontAwesome';
 6 |   src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
 7 |   src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
 8 |     url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
 9 |     url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
10 |     url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
11 |   //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
12 |   font-weight: normal;
13 |   font-style: normal;
14 | }
15 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
 1 | // Rotated & Flipped Icons
 2 | // -------------------------
 3 | 
 4 | .#{$fa-css-prefix}-rotate-90  { @include fa-icon-rotate(90deg, 1);  }
 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
 7 | 
 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
 9 | .#{$fa-css-prefix}-flip-vertical   { @include fa-icon-flip(1, -1, 2); }
10 | 
11 | // Hook for IE8-9
12 | // -------------------------
13 | 
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 |   filter: none;
20 | }
21 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_spinning.scss:
--------------------------------------------------------------------------------
 1 | // Spinning Icons
 2 | // --------------------------
 3 | 
 4 | .#{$fa-css-prefix}-spin {
 5 |   -webkit-animation: fa-spin 2s infinite linear;
 6 |           animation: fa-spin 2s infinite linear;
 7 | }
 8 | 
 9 | @-webkit-keyframes fa-spin {
10 |   0% {
11 |     -webkit-transform: rotate(0deg);
12 |             transform: rotate(0deg);
13 |   }
14 |   100% {
15 |     -webkit-transform: rotate(359deg);
16 |             transform: rotate(359deg);
17 |   }
18 | }
19 | 
20 | @keyframes fa-spin {
21 |   0% {
22 |     -webkit-transform: rotate(0deg);
23 |             transform: rotate(0deg);
24 |   }
25 |   100% {
26 |     -webkit-transform: rotate(359deg);
27 |             transform: rotate(359deg);
28 |   }
29 | }
30 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/_stacked.scss:
--------------------------------------------------------------------------------
 1 | // Stacked Icons
 2 | // -------------------------
 3 | 
 4 | .#{$fa-css-prefix}-stack {
 5 |   position: relative;
 6 |   display: inline-block;
 7 |   width: 2em;
 8 |   height: 2em;
 9 |   line-height: 2em;
10 |   vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 |   position: absolute;
14 |   left: 0;
15 |   width: 100%;
16 |   text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 | 


--------------------------------------------------------------------------------
/static/bower_components/font-awesome/scss/font-awesome.scss:
--------------------------------------------------------------------------------
 1 | /*!
 2 |  *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 3 |  *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 4 |  */
 5 | 
 6 | @import "variables";
 7 | @import "mixins";
 8 | @import "path";
 9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "spinning";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 | 


--------------------------------------------------------------------------------
/static/bower_components/holderjs/.bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "holderjs",
 3 |   "main": "holder.js",
 4 |   "homepage": "https://github.com/imsky/holder",
 5 |   "version": "2.4.1",
 6 |   "_release": "2.4.1",
 7 |   "_resolution": {
 8 |     "type": "version",
 9 |     "tag": "v2.4.1",
10 |     "commit": "bd2e0be3c5c86afbdef1da092eb72c8ce7d52dce"
11 |   },
12 |   "_source": "git://github.com/imsky/holder.git",
13 |   "_target": "~2.4.1",
14 |   "_originalSource": "holderjs",
15 |   "_direct": true
16 | }


--------------------------------------------------------------------------------
/static/bower_components/holderjs/.gitattributes:
--------------------------------------------------------------------------------
1 | # Automatically normalize line endings for all text-based files
2 | * text=auto
3 | 


--------------------------------------------------------------------------------
/static/bower_components/holderjs/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | todo.md
3 | 


--------------------------------------------------------------------------------
/static/bower_components/holderjs/.jshintrc:
--------------------------------------------------------------------------------
 1 | {
 2 |   "quotmark": true,
 3 |   "boss": true,
 4 |   "eqnull": true,
 5 |   "expr": true,
 6 |   "funcscope": true,
 7 |   "loopfunc": true,
 8 |   "smarttabs": true,
 9 |   "node": true,
10 |   "browser": true
11 | }
12 | 


--------------------------------------------------------------------------------
/static/bower_components/holderjs/bower.json:
--------------------------------------------------------------------------------
1 | {
2 |   "name": "holderjs",
3 |   "main": "holder.js"
4 | }
5 | 


--------------------------------------------------------------------------------
/static/bower_components/holderjs/composer.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "name": "imsky/holder",
 3 |     "description": "Client-side image placeholders.",
 4 |     "homepage": "https://github.com/imsky/holder",
 5 |     "keywords": [
 6 |         "images",
 7 |         "placeholders",
 8 |         "client-side",
 9 |         "canvas",
10 |         "generation",
11 |         "development"
12 |     ],
13 |     "license": "MIT",
14 |     "type": "component",
15 |     "authors": [
16 |         {
17 |             "name": "Ivan Malopinsky",
18 |             "homepage": "http://imsky.co"
19 |         }
20 |     ],
21 |     "require": {
22 |         "robloach/component-installer": "*"
23 |     },
24 |     "extra": {
25 |         "component": {
26 |             "scripts": [
27 |                 "holder.js"
28 |             ],
29 |             "files": [
30 |                 "holder.min.js"
31 |             ]
32 |         }
33 |     }
34 | }
35 | 


--------------------------------------------------------------------------------
/static/bower_components/holderjs/test/.gitignore:
--------------------------------------------------------------------------------
1 | performance.html
2 | benchmark.js
3 | lodash.js
4 | require.js
5 | test.js
6 | ua-parser.js


--------------------------------------------------------------------------------
/static/bower_components/holderjs/test/image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/holderjs/test/image.jpg


--------------------------------------------------------------------------------
/static/bower_components/jquery/.bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "jquery",
 3 |   "version": "2.1.4",
 4 |   "main": "dist/jquery.js",
 5 |   "license": "MIT",
 6 |   "ignore": [
 7 |     "**/.*",
 8 |     "build",
 9 |     "dist/cdn",
10 |     "speed",
11 |     "test",
12 |     "*.md",
13 |     "AUTHORS.txt",
14 |     "Gruntfile.js",
15 |     "package.json"
16 |   ],
17 |   "devDependencies": {
18 |     "sizzle": "2.1.1-jquery.2.1.2",
19 |     "requirejs": "2.1.10",
20 |     "qunit": "1.14.0",
21 |     "sinon": "1.8.1"
22 |   },
23 |   "keywords": [
24 |     "jquery",
25 |     "javascript",
26 |     "library"
27 |   ],
28 |   "homepage": "https://github.com/jquery/jquery",
29 |   "_release": "2.1.4",
30 |   "_resolution": {
31 |     "type": "version",
32 |     "tag": "2.1.4",
33 |     "commit": "7751e69b615c6eca6f783a81e292a55725af6b85"
34 |   },
35 |   "_source": "git://github.com/jquery/jquery.git",
36 |   "_target": "1.9.1 - 2",
37 |   "_originalSource": "jquery"
38 | }


--------------------------------------------------------------------------------
/static/bower_components/jquery/bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "jquery",
 3 |   "version": "2.1.4",
 4 |   "main": "dist/jquery.js",
 5 |   "license": "MIT",
 6 |   "ignore": [
 7 |     "**/.*",
 8 |     "build",
 9 |     "dist/cdn",
10 |     "speed",
11 |     "test",
12 |     "*.md",
13 |     "AUTHORS.txt",
14 |     "Gruntfile.js",
15 |     "package.json"
16 |   ],
17 |   "devDependencies": {
18 |     "sizzle": "2.1.1-jquery.2.1.2",
19 |     "requirejs": "2.1.10",
20 |     "qunit": "1.14.0",
21 |     "sinon": "1.8.1"
22 |   },
23 |   "keywords": [
24 |     "jquery",
25 |     "javascript",
26 |     "library"
27 |   ]
28 | }
29 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/ajax/parseJSON.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../core"
 3 | ], function( jQuery ) {
 4 | 
 5 | // Support: Android 2.3
 6 | // Workaround failure to string-cast null input
 7 | jQuery.parseJSON = function( data ) {
 8 | 	return JSON.parse( data + "" );
 9 | };
10 | 
11 | return jQuery.parseJSON;
12 | 
13 | });
14 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/ajax/parseXML.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../core"
 3 | ], function( jQuery ) {
 4 | 
 5 | // Cross-browser xml parsing
 6 | jQuery.parseXML = function( data ) {
 7 | 	var xml, tmp;
 8 | 	if ( !data || typeof data !== "string" ) {
 9 | 		return null;
10 | 	}
11 | 
12 | 	// Support: IE9
13 | 	try {
14 | 		tmp = new DOMParser();
15 | 		xml = tmp.parseFromString( data, "text/xml" );
16 | 	} catch ( e ) {
17 | 		xml = undefined;
18 | 	}
19 | 
20 | 	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
21 | 		jQuery.error( "Invalid XML: " + data );
22 | 	}
23 | 	return xml;
24 | };
25 | 
26 | return jQuery.parseXML;
27 | 
28 | });
29 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/ajax/var/nonce.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"../../core"
3 | ], function( jQuery ) {
4 | 	return jQuery.now();
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/ajax/var/rquery.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	return (/\?/);
3 | });
4 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/attributes.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"./core",
 3 | 	"./attributes/attr",
 4 | 	"./attributes/prop",
 5 | 	"./attributes/classes",
 6 | 	"./attributes/val"
 7 | ], function( jQuery ) {
 8 | 
 9 | // Return jQuery for attributes-only inclusion
10 | return jQuery;
11 | });
12 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/core/var/rsingleTag.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	// Match a standalone tag
3 | 	return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
4 | });
5 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/css/addGetHookIf.js:
--------------------------------------------------------------------------------
 1 | define(function() {
 2 | 
 3 | function addGetHookIf( conditionFn, hookFn ) {
 4 | 	// Define the hook, we'll check on the first run if it's really needed.
 5 | 	return {
 6 | 		get: function() {
 7 | 			if ( conditionFn() ) {
 8 | 				// Hook not needed (or it's not possible to use it due
 9 | 				// to missing dependency), remove it.
10 | 				delete this.get;
11 | 				return;
12 | 			}
13 | 
14 | 			// Hook needed; redefine it so that the support test is not executed again.
15 | 			return (this.get = hookFn).apply( this, arguments );
16 | 		}
17 | 	};
18 | }
19 | 
20 | return addGetHookIf;
21 | 
22 | });
23 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/css/hiddenVisibleSelectors.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../core",
 3 | 	"../selector"
 4 | ], function( jQuery ) {
 5 | 
 6 | jQuery.expr.filters.hidden = function( elem ) {
 7 | 	// Support: Opera <= 12.12
 8 | 	// Opera reports offsetWidths and offsetHeights less than zero on some elements
 9 | 	return elem.offsetWidth <= 0 && elem.offsetHeight <= 0;
10 | };
11 | jQuery.expr.filters.visible = function( elem ) {
12 | 	return !jQuery.expr.filters.hidden( elem );
13 | };
14 | 
15 | });
16 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/css/swap.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../core"
 3 | ], function( jQuery ) {
 4 | 
 5 | // A method for quickly swapping in/out CSS properties to get correct calculations.
 6 | jQuery.swap = function( elem, options, callback, args ) {
 7 | 	var ret, name,
 8 | 		old = {};
 9 | 
10 | 	// Remember the old values, and insert the new ones
11 | 	for ( name in options ) {
12 | 		old[ name ] = elem.style[ name ];
13 | 		elem.style[ name ] = options[ name ];
14 | 	}
15 | 
16 | 	ret = callback.apply( elem, args || [] );
17 | 
18 | 	// Revert the old values
19 | 	for ( name in options ) {
20 | 		elem.style[ name ] = old[ name ];
21 | 	}
22 | 
23 | 	return ret;
24 | };
25 | 
26 | return jQuery.swap;
27 | 
28 | });
29 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/css/var/cssExpand.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	return [ "Top", "Right", "Bottom", "Left" ];
3 | });
4 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/css/var/getStyles.js:
--------------------------------------------------------------------------------
 1 | define(function() {
 2 | 	return function( elem ) {
 3 | 		// Support: IE<=11+, Firefox<=30+ (#15098, #14150)
 4 | 		// IE throws on elements created in popups
 5 | 		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
 6 | 		if ( elem.ownerDocument.defaultView.opener ) {
 7 | 			return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
 8 | 		}
 9 | 
10 | 		return window.getComputedStyle( elem, null );
11 | 	};
12 | });
13 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/css/var/isHidden.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../../core",
 3 | 	"../../selector"
 4 | 	// css is assumed
 5 | ], function( jQuery ) {
 6 | 
 7 | 	return function( elem, el ) {
 8 | 		// isHidden might be called from jQuery#filter function;
 9 | 		// in that case, element will be second argument
10 | 		elem = el || elem;
11 | 		return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
12 | 	};
13 | });
14 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/css/var/rmargin.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	return (/^margin/);
3 | });
4 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/css/var/rnumnonpx.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"../../var/pnum"
3 | ], function( pnum ) {
4 | 	return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/data/accepts.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../core"
 3 | ], function( jQuery ) {
 4 | 
 5 | /**
 6 |  * Determines whether an object can have data
 7 |  */
 8 | jQuery.acceptData = function( owner ) {
 9 | 	// Accepts only:
10 | 	//  - Node
11 | 	//    - Node.ELEMENT_NODE
12 | 	//    - Node.DOCUMENT_NODE
13 | 	//  - Object
14 | 	//    - Any
15 | 	/* jshint -W018 */
16 | 	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
17 | };
18 | 
19 | return jQuery.acceptData;
20 | });
21 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/data/var/data_priv.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"../Data"
3 | ], function( Data ) {
4 | 	return new Data();
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/data/var/data_user.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"../Data"
3 | ], function( Data ) {
4 | 	return new Data();
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/deprecated.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"./core",
 3 | 	"./traversing"
 4 | ], function( jQuery ) {
 5 | 
 6 | // The number of elements contained in the matched element set
 7 | jQuery.fn.size = function() {
 8 | 	return this.length;
 9 | };
10 | 
11 | jQuery.fn.andSelf = jQuery.fn.addBack;
12 | 
13 | });
14 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/effects/animatedSelector.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../core",
 3 | 	"../selector",
 4 | 	"../effects"
 5 | ], function( jQuery ) {
 6 | 
 7 | jQuery.expr.filters.animated = function( elem ) {
 8 | 	return jQuery.grep(jQuery.timers, function( fn ) {
 9 | 		return elem === fn.elem;
10 | 	}).length;
11 | };
12 | 
13 | });
14 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/event/ajax.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../core",
 3 | 	"../event"
 4 | ], function( jQuery ) {
 5 | 
 6 | // Attach a bunch of functions for handling common AJAX events
 7 | jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) {
 8 | 	jQuery.fn[ type ] = function( fn ) {
 9 | 		return this.on( type, fn );
10 | 	};
11 | });
12 | 
13 | });
14 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/event/support.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../var/support"
 3 | ], function( support ) {
 4 | 
 5 | support.focusinBubbles = "onfocusin" in window;
 6 | 
 7 | return support;
 8 | 
 9 | });
10 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/exports/global.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../core",
 3 | 	"../var/strundefined"
 4 | ], function( jQuery, strundefined ) {
 5 | 
 6 | var
 7 | 	// Map over jQuery in case of overwrite
 8 | 	_jQuery = window.jQuery,
 9 | 
10 | 	// Map over the $ in case of overwrite
11 | 	_$ = window.$;
12 | 
13 | jQuery.noConflict = function( deep ) {
14 | 	if ( window.$ === jQuery ) {
15 | 		window.$ = _$;
16 | 	}
17 | 
18 | 	if ( deep && window.jQuery === jQuery ) {
19 | 		window.jQuery = _jQuery;
20 | 	}
21 | 
22 | 	return jQuery;
23 | };
24 | 
25 | // Expose jQuery and $ identifiers, even in AMD
26 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
27 | // and CommonJS for browser emulators (#13566)
28 | if ( typeof noGlobal === strundefined ) {
29 | 	window.jQuery = window.$ = jQuery;
30 | }
31 | 
32 | });
33 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/jquery.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"./core",
 3 | 	"./selector",
 4 | 	"./traversing",
 5 | 	"./callbacks",
 6 | 	"./deferred",
 7 | 	"./core/ready",
 8 | 	"./data",
 9 | 	"./queue",
10 | 	"./queue/delay",
11 | 	"./attributes",
12 | 	"./event",
13 | 	"./event/alias",
14 | 	"./manipulation",
15 | 	"./manipulation/_evalUrl",
16 | 	"./wrap",
17 | 	"./css",
18 | 	"./css/hiddenVisibleSelectors",
19 | 	"./serialize",
20 | 	"./ajax",
21 | 	"./ajax/xhr",
22 | 	"./ajax/script",
23 | 	"./ajax/jsonp",
24 | 	"./ajax/load",
25 | 	"./event/ajax",
26 | 	"./effects",
27 | 	"./effects/animatedSelector",
28 | 	"./offset",
29 | 	"./dimensions",
30 | 	"./deprecated",
31 | 	"./exports/amd",
32 | 	"./exports/global"
33 | ], function( jQuery ) {
34 | 
35 | return jQuery;
36 | 
37 | });
38 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/manipulation/_evalUrl.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../ajax"
 3 | ], function( jQuery ) {
 4 | 
 5 | jQuery._evalUrl = function( url ) {
 6 | 	return jQuery.ajax({
 7 | 		url: url,
 8 | 		type: "GET",
 9 | 		dataType: "script",
10 | 		async: false,
11 | 		global: false,
12 | 		"throws": true
13 | 	});
14 | };
15 | 
16 | return jQuery._evalUrl;
17 | 
18 | });
19 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/manipulation/var/rcheckableType.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	return (/^(?:checkbox|radio)$/i);
3 | });
4 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/outro.js:
--------------------------------------------------------------------------------
1 | }));
2 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/queue/delay.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"../core",
 3 | 	"../queue",
 4 | 	"../effects" // Delay is optional because of this dependency
 5 | ], function( jQuery ) {
 6 | 
 7 | // Based off of the plugin by Clint Helfers, with permission.
 8 | // http://blindsignals.com/index.php/2009/07/jquery-delay/
 9 | jQuery.fn.delay = function( time, type ) {
10 | 	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
11 | 	type = type || "fx";
12 | 
13 | 	return this.queue( type, function( next, hooks ) {
14 | 		var timeout = setTimeout( next, time );
15 | 		hooks.stop = function() {
16 | 			clearTimeout( timeout );
17 | 		};
18 | 	});
19 | };
20 | 
21 | return jQuery.fn.delay;
22 | });
23 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/selector-sizzle.js:
--------------------------------------------------------------------------------
 1 | define([
 2 | 	"./core",
 3 | 	"sizzle"
 4 | ], function( jQuery, Sizzle ) {
 5 | 
 6 | jQuery.find = Sizzle;
 7 | jQuery.expr = Sizzle.selectors;
 8 | jQuery.expr[":"] = jQuery.expr.pseudos;
 9 | jQuery.unique = Sizzle.uniqueSort;
10 | jQuery.text = Sizzle.getText;
11 | jQuery.isXMLDoc = Sizzle.isXML;
12 | jQuery.contains = Sizzle.contains;
13 | 
14 | });
15 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/selector.js:
--------------------------------------------------------------------------------
1 | define([ "./selector-sizzle" ]);
2 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/traversing/var/rneedsContext.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"../../core",
3 | 	"../../selector"
4 | ], function( jQuery ) {
5 | 	return jQuery.expr.match.needsContext;
6 | });
7 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/arr.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	return [];
3 | });
4 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/class2type.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	// [[Class]] -> type pairs
3 | 	return {};
4 | });
5 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/concat.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"./arr"
3 | ], function( arr ) {
4 | 	return arr.concat;
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/hasOwn.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"./class2type"
3 | ], function( class2type ) {
4 | 	return class2type.hasOwnProperty;
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/indexOf.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"./arr"
3 | ], function( arr ) {
4 | 	return arr.indexOf;
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/pnum.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	return (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
3 | });
4 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/push.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"./arr"
3 | ], function( arr ) {
4 | 	return arr.push;
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/rnotwhite.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	return (/\S+/g);
3 | });
4 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/slice.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"./arr"
3 | ], function( arr ) {
4 | 	return arr.slice;
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/strundefined.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	return typeof undefined;
3 | });
4 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/support.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | 	// All support tests are defined in their respective modules.
3 | 	return {};
4 | });
5 | 


--------------------------------------------------------------------------------
/static/bower_components/jquery/src/var/toString.js:
--------------------------------------------------------------------------------
1 | define([
2 | 	"./class2type"
3 | ], function( class2type ) {
4 | 	return class2type.toString;
5 | });
6 | 


--------------------------------------------------------------------------------
/static/bower_components/metisMenu/bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "metisMenu",
 3 |   "version": "1.1.3",
 4 |   "homepage": "https://github.com/onokumus/metisMenu",
 5 |   "authors": [
 6 |     "onokumus "
 7 |   ],
 8 |   "description": "Easy menu jQuery plugin for Twitter Bootstrap 3",
 9 |   "main": [
10 |     "dist/metisMenu.js",
11 |     "dist/metisMenu.css"
12 |   ],
13 |   "keywords": [
14 |     "twitter",
15 |     "bootstrap",
16 |     "twbs",
17 |     "jquery",
18 |     "menu",
19 |     "accordion",
20 |     "toggle",
21 |     "metis",
22 |     "metisMenu"
23 |   ],
24 |   "license": "MIT",
25 |   "ignore": [
26 |     "**/.*",
27 |     "node_modules",
28 |     "bower_components",
29 |     "test",
30 |     "tests"
31 |   ],
32 |   "dependencies": {
33 |     "bootstrap": "~3.3.0"
34 |   }
35 | }
36 | 


--------------------------------------------------------------------------------
/static/bower_components/metisMenu/dist/metisMenu.min.css:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * metismenu - v1.1.3
 3 |  * Easy menu jQuery plugin for Twitter Bootstrap 3
 4 |  * https://github.com/onokumus/metisMenu
 5 |  *
 6 |  * Made by Osman Nuri Okumus
 7 |  * Under MIT License
 8 |  */
 9 | 
10 | .arrow{float:right;line-height:1.42857}.glyphicon.arrow:before{content:"\e079"}.active>a>.glyphicon.arrow:before{content:"\e114"}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.plus-times{float:right}.fa.plus-times:before{content:"\f067"}.active>a>.fa.plus-times{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.plus-minus{float:right}.fa.plus-minus:before{content:"\f067"}.active>a>.fa.plus-minus:before{content:"\f068"}


--------------------------------------------------------------------------------
/static/bower_components/mocha/.bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "mocha",
 3 |   "version": "1.17.1",
 4 |   "main": "mocha.js",
 5 |   "ignore": [
 6 |     "bin",
 7 |     "editors",
 8 |     "images",
 9 |     "lib",
10 |     "support",
11 |     "test",
12 |     ".gitignore",
13 |     ".npmignore",
14 |     ".travis.yml",
15 |     "component.json",
16 |     "index.js",
17 |     "Makefile",
18 |     "package.json"
19 |   ],
20 |   "homepage": "https://github.com/mochajs/mocha",
21 |   "_release": "1.17.1",
22 |   "_resolution": {
23 |     "type": "version",
24 |     "tag": "1.17.1",
25 |     "commit": "7fc565ee3e225cb7a66bf39ae9c2c05b346675c1"
26 |   },
27 |   "_source": "git://github.com/mochajs/mocha.git",
28 |   "_target": "~1.17.1",
29 |   "_originalSource": "mocha"
30 | }


--------------------------------------------------------------------------------
/static/bower_components/mocha/bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "mocha",
 3 |   "version": "1.17.1",
 4 |   "main": "mocha.js",
 5 |   "ignore": [
 6 |     "bin",
 7 |     "editors",
 8 |     "images",
 9 |     "lib",
10 |     "support",
11 |     "test",
12 |     ".gitignore",
13 |     ".npmignore",
14 |     ".travis.yml",
15 |     "component.json",
16 |     "index.js",
17 |     "Makefile",
18 |     "package.json"
19 |   ]
20 | }
21 | 


--------------------------------------------------------------------------------
/static/bower_components/mocha/media/logo.svg:
--------------------------------------------------------------------------------
1 | 
2 | 
3 | 
4 | 
6 | 
7 | mocha
8 | 
9 | 


--------------------------------------------------------------------------------
/static/bower_components/morrisjs/.bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "morris.js",
 3 |   "version": "0.5.1",
 4 |   "main": [
 5 |     "./morris.js",
 6 |     "./morris.css"
 7 |   ],
 8 |   "dependencies": {
 9 |     "jquery": ">= 2.1.0",
10 |     "raphael": ">= 2.0",
11 |     "mocha": "~1.17.1"
12 |   },
13 |   "devDependencies": {
14 |     "mocha": "~1.17.1",
15 |     "chai": "~1.9.0",
16 |     "chai-jquery": "~1.2.1",
17 |     "sinon": "http://sinonjs.org/releases/sinon-1.8.1.js",
18 |     "sinon-chai": "~2.5.0"
19 |   },
20 |   "homepage": "https://github.com/morrisjs/morris.js",
21 |   "_release": "0.5.1",
22 |   "_resolution": {
23 |     "type": "version",
24 |     "tag": "0.5.1",
25 |     "commit": "d5cf1410eda7055eaf2c7d218d4cb24ec5ed55c8"
26 |   },
27 |   "_source": "git://github.com/morrisjs/morris.js.git",
28 |   "_target": "~0.5.1",
29 |   "_originalSource": "morrisjs",
30 |   "_direct": true
31 | }


--------------------------------------------------------------------------------
/static/bower_components/morrisjs/.gitignore:
--------------------------------------------------------------------------------
1 | build/
2 | node_modules/
3 | spec/viz/output/
4 | spec/viz/diff/
5 | bower_components
6 | .idea
7 | 


--------------------------------------------------------------------------------
/static/bower_components/morrisjs/.travis.yml:
--------------------------------------------------------------------------------
 1 | language: node_js
 2 | node_js:
 3 |   - 0.10
 4 | before_script:
 5 |   - "npm install -g grunt-cli"
 6 |   - "npm install"
 7 |   - "cp -f bower.travis.json bower.json"
 8 |   - 'sed -i -e "s/JQUERY/$JQUERY/" bower.json'
 9 |   - 'sed -i -e "s/RAPHAEL/$RAPHAEL/" bower.json'
10 |   - "bower install"
11 | env:
12 |   - JQUERY="~> 1.8.0" RAPHAEL="~> 2.0.0"
13 |   - JQUERY="~> 1.9.0" RAPHAEL="~> 2.0.0"
14 |   - JQUERY="~> 2.0.0" RAPHAEL="~> 2.0.0"
15 |   - JQUERY="~> 2.1.0" RAPHAEL="~> 2.0.0"
16 |   - JQUERY="~> 1.8.0" RAPHAEL="~> 2.1.0"
17 |   - JQUERY="~> 1.9.0" RAPHAEL="~> 2.1.0"
18 |   - JQUERY="~> 2.0.0" RAPHAEL="~> 2.1.0"
19 |   - JQUERY="~> 2.1.0" RAPHAEL="~> 2.1.0"
20 | 


--------------------------------------------------------------------------------
/static/bower_components/morrisjs/bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "morris.js",
 3 |   "version": "0.5.0",
 4 |   "main": [
 5 |     "./morris.js",
 6 |     "./morris.css"
 7 |   ],
 8 |   "dependencies": {
 9 |     "jquery": ">= 2.1.0",
10 |     "raphael": ">= 2.0",
11 |     "mocha": "~1.17.1"
12 |   },
13 |   "devDependencies": {
14 |     "mocha": "~1.17.1",
15 |     "chai": "~1.9.0",
16 |     "chai-jquery": "~1.2.1",
17 |     "sinon": "http://sinonjs.org/releases/sinon-1.8.1.js",
18 |     "sinon-chai": "~2.5.0"
19 |   }
20 | }
21 | 


--------------------------------------------------------------------------------
/static/bower_components/morrisjs/bower.travis.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "morris.js",
 3 |   "version": "0.5.0",
 4 |   "main": [
 5 |     "./morris.js",
 6 |     "./morris.css"
 7 |   ],
 8 |   "dependencies": {
 9 |     "jquery": "JQUERY",
10 |     "raphael": "RAPHAEL",
11 |     "mocha": "~1.17.1"
12 |   },
13 |   "devDependencies": {
14 |     "mocha": "~1.17.1",
15 |     "chai": "~1.9.0",
16 |     "chai-jquery": "~1.2.1",
17 |     "sinon": "http://sinonjs.org/releases/sinon-1.8.1.js",
18 |     "sinon-chai": "~2.5.0"
19 |   }
20 | }
21 | 


--------------------------------------------------------------------------------
/static/bower_components/morrisjs/examples/_template.html:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 3 |   
 4 |   
 5 |   
 6 |   
 7 |   
 8 |   
 9 |   
10 | 
11 | 
12 | 

Title

13 |
14 |
15 | // Insert code here:
16 | // it'll get eval()-ed and prettyprinted.
17 | 
18 | 19 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/examples/lib/example.css: -------------------------------------------------------------------------------- 1 | body { 2 | width: 800px; 3 | margin: 0 auto; 4 | } 5 | #graph { 6 | width: 800px; 7 | height: 250px; 8 | margin: 20px auto 0 auto; 9 | } 10 | pre { 11 | height: 250px; 12 | overflow: auto; 13 | } 14 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/examples/lib/example.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | eval($('#code').text()); 3 | prettyPrint(); 4 | }); -------------------------------------------------------------------------------- /static/bower_components/morrisjs/less/morris.core.less: -------------------------------------------------------------------------------- 1 | .morris-hover { 2 | position: absolute; 3 | z-index: 1000; 4 | 5 | &.morris-default-style { 6 | border-radius: 10px; 7 | padding: 6px; 8 | color: #666; 9 | background: rgba(255, 255, 255, 0.8); 10 | border: solid 2px rgba(230, 230, 230, 0.8); 11 | 12 | font-family: sans-serif; 13 | font-size: 12px; 14 | text-align: center; 15 | 16 | .morris-hover-row-label { 17 | font-weight: bold; 18 | margin: 0.25em 0; 19 | } 20 | 21 | .morris-hover-point { 22 | white-space: nowrap; 23 | margin: 0.1em 0; 24 | } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/morris.css: -------------------------------------------------------------------------------- 1 | .morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,0.8);border:solid 2px rgba(230,230,230,0.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0} 2 | .morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0} 3 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "morris.js", 3 | "version": "0.5.0", 4 | "homepage": "http://morrisjs.github.com/morris.js", 5 | "license": "BSD-2-Clause", 6 | "description": "Easy, pretty charts", 7 | "author": { 8 | "name": "Olly Smith", 9 | "email": "olly@oesmith.co.uk" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git://github.com/morrisjs/morris.js.git" 14 | }, 15 | "bugs": { 16 | "url": "https://github.com/morrisjs/morris.js/issues" 17 | }, 18 | "devDependencies": { 19 | "matchdep": "~0.1.2", 20 | "grunt": "~0.4.1", 21 | "grunt-mocha": "~0.4.10", 22 | "grunt-contrib-concat": "~0.3.0", 23 | "grunt-contrib-coffee": "~0.7.0", 24 | "grunt-contrib-uglify": "~0.2.4", 25 | "grunt-contrib-less": "~0.7.0", 26 | "grunt-contrib-watch": "~0.5.3", 27 | "grunt-shell": "~0.5.0", 28 | "bower": "~1.2.8" 29 | }, 30 | "scripts": { 31 | "test": "grunt concat coffee mocha" 32 | }, 33 | "engines": { 34 | "node": ">=0.8 <0.11" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/lib/grid/y_label_format_spec.coffee: -------------------------------------------------------------------------------- 1 | describe 'Morris.Grid#yLabelFormat', -> 2 | 3 | it 'should use custom formatter for y labels', -> 4 | formatter = (label) -> 5 | flabel = parseFloat(label) / 1000 6 | "#{flabel.toFixed(1)}k" 7 | line = Morris.Line 8 | element: 'graph' 9 | data: [{x: 1, y: 1500}, {x: 2, y: 2500}] 10 | xkey: 'x' 11 | ykeys: ['y'] 12 | labels: ['dontcare'] 13 | preUnits: "$" 14 | yLabelFormat: formatter 15 | line.yLabelFormat(1500).should.equal "1.5k" 16 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/lib/pad_spec.coffee: -------------------------------------------------------------------------------- 1 | describe '#pad', -> 2 | 3 | it 'should pad numbers', -> 4 | Morris.pad2(0).should.equal("00") 5 | Morris.pad2(1).should.equal("01") 6 | Morris.pad2(2).should.equal("02") 7 | Morris.pad2(3).should.equal("03") 8 | Morris.pad2(4).should.equal("04") 9 | Morris.pad2(5).should.equal("05") 10 | Morris.pad2(6).should.equal("06") 11 | Morris.pad2(7).should.equal("07") 12 | Morris.pad2(8).should.equal("08") 13 | Morris.pad2(9).should.equal("09") 14 | Morris.pad2(10).should.equal("10") 15 | Morris.pad2(12).should.equal("12") 16 | Morris.pad2(34).should.equal("34") 17 | Morris.pad2(123).should.equal("123") -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/support/placeholder.coffee: -------------------------------------------------------------------------------- 1 | beforeEach -> 2 | placeholder = $('
') 3 | $('#test').append(placeholder) 4 | 5 | afterEach -> 6 | $('#test').empty() 7 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/exemplary/area0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/morrisjs/spec/viz/exemplary/area0.png -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/exemplary/bar0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/morrisjs/spec/viz/exemplary/bar0.png -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/exemplary/line0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/morrisjs/spec/viz/exemplary/line0.png -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/exemplary/stacked_bar0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/morrisjs/spec/viz/exemplary/stacked_bar0.png -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # visual_specs.js creates output in output/XXX.png 4 | phantomjs visual_specs.js 5 | 6 | # clear out old diffs 7 | mkdir -p diff 8 | rm -f diff/* 9 | 10 | # generate diffs 11 | PASS=1 12 | for i in exemplary/*.png 13 | do 14 | FN=`basename $i` 15 | perceptualdiff $i output/$FN -output diff/$FN 16 | if [ $? -eq 0 ] 17 | then 18 | echo "OK: $FN" 19 | else 20 | echo "FAIL: $FN" 21 | PASS=0 22 | fi 23 | done 24 | 25 | # pass / fail 26 | if [ $PASS -eq 1 ] 27 | then 28 | echo "Success." 29 | else 30 | echo "Failed." 31 | exit 1 32 | fi 33 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 20 | 31 | 32 | 33 |
34 | 35 | -------------------------------------------------------------------------------- /static/bower_components/raphael/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "raphael", 3 | "version": "2.1.4", 4 | "main": "raphael.js", 5 | "ignore": [ 6 | "eve", 7 | "**/.*", 8 | "*.html", 9 | "*.json", 10 | "*.markdown", 11 | "*.md", 12 | "copy.js", 13 | "Gruntfile.js", 14 | "raphael.core.js", 15 | "raphael.svg.js", 16 | "raphael.vml.js", 17 | "reference.js" 18 | ], 19 | "homepage": "https://github.com/DmitryBaranovskiy/raphael", 20 | "_release": "2.1.4", 21 | "_resolution": { 22 | "type": "version", 23 | "tag": "v2.1.4", 24 | "commit": "a29d980d1f6b0aed9a0f18d751a76e862f5fbc4f" 25 | }, 26 | "_source": "git://github.com/DmitryBaranovskiy/raphael.git", 27 | "_target": ">= 2.0", 28 | "_originalSource": "raphael" 29 | } -------------------------------------------------------------------------------- /static/bower_components/raphael/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "raphael", 3 | "version": "2.1.4", 4 | "main": "raphael.js", 5 | "ignore": [ 6 | "eve", 7 | "**/.*", 8 | "*.html", 9 | "*.json", 10 | "*.markdown", 11 | "*.md", 12 | "copy.js", 13 | "Gruntfile.js", 14 | "raphael.core.js", 15 | "raphael.svg.js", 16 | "raphael.vml.js", 17 | "reference.js" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /static/bower_components/raphael/dev/amdDev.js: -------------------------------------------------------------------------------- 1 | require(['../raphael'], function(Raphael){ 2 | var paper = Raphael(0, 0, 640, 720, "container"); 3 | //paper.circle(100, 100, 100); //example 4 | 5 | // Work here 6 | }); 7 | -------------------------------------------------------------------------------- /static/bower_components/raphael/dev/index.js: -------------------------------------------------------------------------------- 1 | var core = require('./raphael.core'); 2 | if(core.svg){ 3 | require('./raphael.svg'); 4 | } 5 | if(core.vml){ 6 | require('./raphael.vml'); 7 | } 8 | module.exports = core; -------------------------------------------------------------------------------- /static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SB Admin 2 6 | 9 | 10 | 11 | Go to /pages/index.html 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | -------------------------------------------------------------------------------- /static/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | 3 | @gray-darker: lighten(#000, 13.5%); 4 | @gray-dark: lighten(#000, 20%); 5 | @gray: lighten(#000, 33.5%); 6 | @gray-light: lighten(#000, 60%); 7 | @gray-lighter: lighten(#000, 93.5%); 8 | @gray-lightest: lighten(#000, 97.25%); 9 | @brand-primary: #428bca; 10 | @brand-success: #5cb85c; 11 | @brand-info: #5bc0de; 12 | @brand-warning: #f0ad4e; 13 | @brand-danger: #d9534f; 14 | 15 | -------------------------------------------------------------------------------- /uwsgi.ini: -------------------------------------------------------------------------------- 1 | [uwsgi] 2 | socket = /tmp/fourthgen.sock 3 | chdir = /app/fourthgen 4 | wsgi-file = fourthgen/wsgi.py 5 | touch-reload = /app/fourthgen/reload 6 | 7 | processes = 2 8 | threads = 4 9 | 10 | chmod-socket = 664 11 | chown-socket = www:www 12 | --------------------------------------------------------------------------------