From f7c41827bfdf517ef0fa78871e63c85ec387d91b Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 22 Apr 2014 14:33:53 +0300 Subject: [PATCH] Adding bower dependancies --- .gitignore | 1 - README.md | 4 - public/js/script.js | 2 +- public/vendor/accounting/.bower.json | 14 + public/vendor/accounting/accounting.js | 411 + public/vendor/accounting/accounting.min.js | 4 + .../demo-resources/js/libs/jquery.min.js | 18 + .../accounting/demo-resources/js/prettify.js | 28 + .../accounting/demo-resources/style.css | 186 + public/vendor/accounting/index.html | 432 + public/vendor/accounting/license | 22 + public/vendor/accounting/package.json | 12 + public/vendor/accounting/readme.md | 75 + .../tests/jasmine/core/formatMoneySpec.js | 23 + .../tests/jasmine/core/formatNumberSpec.js | 132 + .../tests/jasmine/core/unformatSpec.js | 31 + .../tests/jasmine/lib/jasmine/MIT.LICENSE | 20 + .../tests/jasmine/lib/jasmine/jasmine-html.js | 188 + .../tests/jasmine/lib/jasmine/jasmine.css | 166 + .../tests/jasmine/lib/jasmine/jasmine.js | 2421 +++ .../accounting/tests/jasmine/runner.html | 22 + .../vendor/accounting/tests/qunit/methods.js | 92 + public/vendor/accounting/tests/qunit/speed.js | 76 + .../vendor/accounting/tests/qunit/test.html | 32 + .../accounting/tests/qunit/vendor/jquery.js | 19 + .../accounting/tests/qunit/vendor/jslitmus.js | 670 + .../accounting/tests/qunit/vendor/qunit.css | 196 + .../accounting/tests/qunit/vendor/qunit.js | 2360 +++ .../vendor/bootstrap-datepicker/.bower.json | 23 + public/vendor/bootstrap-datepicker/.gitignore | 3 + public/vendor/bootstrap-datepicker/.hgignore | 3 + public/vendor/bootstrap-datepicker/.hgtags | 18 + public/vendor/bootstrap-datepicker/.jscs.json | 27 + public/vendor/bootstrap-datepicker/.jshintrc | 20 + .../vendor/bootstrap-datepicker/.travis.yml | 9 + .../vendor/bootstrap-datepicker/CHANGELOG.md | 172 + .../bootstrap-datepicker/CONTRIBUTING.md | 41 + public/vendor/bootstrap-datepicker/LICENSE | 202 + public/vendor/bootstrap-datepicker/README.md | 13 + public/vendor/bootstrap-datepicker/bower.json | 9 + .../bootstrap-datepicker/build/build.less | 67 + .../bootstrap-datepicker/build/build3.less | 71 + .../build/build_standalone.less | 61 + .../build/build_standalone3.less | 63 + .../vendor/bootstrap-datepicker/composer.json | 20 + .../bootstrap-datepicker/css/datepicker.css | 512 + .../bootstrap-datepicker/css/datepicker3.css | 790 + .../vendor/bootstrap-datepicker/docs/Makefile | 153 + .../vendor/bootstrap-datepicker/docs/REAME.md | 8 + .../docs/_static/demo_head.png | Bin 0 -> 28027 bytes .../vendor/bootstrap-datepicker/docs/conf.py | 248 + .../bootstrap-datepicker/docs/events.rst | 48 + .../vendor/bootstrap-datepicker/docs/i18n.rst | 28 + .../bootstrap-datepicker/docs/index.rst | 122 + .../bootstrap-datepicker/docs/keyboard.rst | 27 + .../vendor/bootstrap-datepicker/docs/make.bat | 190 + .../bootstrap-datepicker/docs/markup.rst | 50 + .../bootstrap-datepicker/docs/methods.rst | 164 + .../bootstrap-datepicker/docs/options.rst | 191 + .../js/bootstrap-datepicker.js | 1671 ++ .../js/locales/bootstrap-datepicker.ar.js | 15 + .../js/locales/bootstrap-datepicker.az.js | 12 + .../js/locales/bootstrap-datepicker.bg.js | 14 + .../js/locales/bootstrap-datepicker.ca.js | 14 + .../js/locales/bootstrap-datepicker.cs.js | 15 + .../js/locales/bootstrap-datepicker.cy.js | 14 + .../js/locales/bootstrap-datepicker.da.js | 15 + .../js/locales/bootstrap-datepicker.de.js | 17 + .../js/locales/bootstrap-datepicker.el.js | 13 + .../js/locales/bootstrap-datepicker.es.js | 14 + .../js/locales/bootstrap-datepicker.et.js | 18 + .../js/locales/bootstrap-datepicker.fa.js | 17 + .../js/locales/bootstrap-datepicker.fi.js | 16 + .../js/locales/bootstrap-datepicker.fr.js | 17 + .../js/locales/bootstrap-datepicker.gl.js | 11 + .../js/locales/bootstrap-datepicker.he.js | 15 + .../js/locales/bootstrap-datepicker.hr.js | 13 + .../js/locales/bootstrap-datepicker.hu.js | 16 + .../js/locales/bootstrap-datepicker.id.js | 15 + .../js/locales/bootstrap-datepicker.is.js | 14 + .../js/locales/bootstrap-datepicker.it.js | 17 + .../js/locales/bootstrap-datepicker.ja.js | 15 + .../js/locales/bootstrap-datepicker.ka.js | 17 + .../js/locales/bootstrap-datepicker.kk.js | 15 + .../js/locales/bootstrap-datepicker.kr.js | 13 + .../js/locales/bootstrap-datepicker.lt.js | 16 + .../js/locales/bootstrap-datepicker.lv.js | 16 + .../js/locales/bootstrap-datepicker.mk.js | 15 + .../js/locales/bootstrap-datepicker.ms.js | 14 + .../js/locales/bootstrap-datepicker.nb.js | 14 + .../js/locales/bootstrap-datepicker.nl-BE.js | 17 + .../js/locales/bootstrap-datepicker.nl.js | 14 + .../js/locales/bootstrap-datepicker.no.js | 16 + .../js/locales/bootstrap-datepicker.pl.js | 15 + .../js/locales/bootstrap-datepicker.pt-BR.js | 15 + .../js/locales/bootstrap-datepicker.pt.js | 16 + .../js/locales/bootstrap-datepicker.ro.js | 16 + .../locales/bootstrap-datepicker.rs-latin.js | 14 + .../js/locales/bootstrap-datepicker.rs.js | 14 + .../js/locales/bootstrap-datepicker.ru.js | 15 + .../js/locales/bootstrap-datepicker.sk.js | 15 + .../js/locales/bootstrap-datepicker.sl.js | 14 + .../js/locales/bootstrap-datepicker.sq.js | 15 + .../js/locales/bootstrap-datepicker.sv.js | 16 + .../js/locales/bootstrap-datepicker.sw.js | 15 + .../js/locales/bootstrap-datepicker.th.js | 14 + .../js/locales/bootstrap-datepicker.tr.js | 16 + .../js/locales/bootstrap-datepicker.ua.js | 15 + .../js/locales/bootstrap-datepicker.vi.js | 16 + .../js/locales/bootstrap-datepicker.zh-CN.js | 16 + .../js/locales/bootstrap-datepicker.zh-TW.js | 17 + .../bootstrap-datepicker/less/datepicker.less | 257 + .../less/datepicker3.less | 252 + .../bootstrap-datepicker/tests/README.md | 55 + .../bootstrap-datepicker/tests/_coverage.html | 26 + .../tests/assets/coverage.js | 48 + .../tests/assets/jquery-1.7.1.min.js | 4 + .../bootstrap-datepicker/tests/assets/mock.js | 26 + .../tests/assets/qunit-logging.js | 29 + .../tests/assets/qunit.css | 235 + .../tests/assets/qunit.js | 1669 ++ .../tests/assets/utils.js | 21 + .../bootstrap-datepicker/tests/run-qunit.js | 157 + .../tests/suites/calendar-weeks.js | 48 + .../tests/suites/component.js | 202 + .../tests/suites/data-api.js | 114 + .../tests/suites/events.js | 306 + .../tests/suites/formats.js | 235 + .../tests/suites/inline.js | 28 + .../tests/suites/keyboard_navigation/2011.js | 92 + .../tests/suites/keyboard_navigation/2012.js | 469 + .../tests/suites/keyboard_navigation/all.js | 26 + .../tests/suites/methods.js | 78 + .../tests/suites/mouse_navigation/2011.js | 66 + .../tests/suites/mouse_navigation/2012.js | 251 + .../tests/suites/mouse_navigation/all.js | 33 + .../tests/suites/noconflict.js | 20 + .../tests/suites/options.js | 648 + .../bootstrap-datepicker/tests/tests.html | 50 + public/vendor/bootstrap/.bower.json | 34 + public/vendor/bootstrap/Gruntfile.js | 421 + public/vendor/bootstrap/LICENSE | 21 + public/vendor/bootstrap/README.md | 173 + public/vendor/bootstrap/bower.json | 24 + .../bootstrap/dist/css/bootstrap-theme.css | 347 + .../dist/css/bootstrap-theme.css.map | 1 + .../dist/css/bootstrap-theme.min.css | 7 + .../vendor/bootstrap/dist/css/bootstrap.css | 5785 ++++++ .../bootstrap/dist/css/bootstrap.css.map | 1 + .../bootstrap/dist/css/bootstrap.min.css | 7 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes public/vendor/bootstrap/dist/js/bootstrap.js | 1951 ++ .../vendor/bootstrap/dist/js/bootstrap.min.js | 6 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes .../grunt/bs-glyphicons-data-generator.js | 34 + .../bootstrap/grunt/bs-lessdoc-parser.js | 236 + .../bootstrap/grunt/bs-raw-files-generator.js | 31 + public/vendor/bootstrap/grunt/shrinkwrap.js | 28 + public/vendor/bootstrap/js/affix.js | 137 + public/vendor/bootstrap/js/alert.js | 88 + public/vendor/bootstrap/js/button.js | 107 + public/vendor/bootstrap/js/carousel.js | 205 + public/vendor/bootstrap/js/collapse.js | 170 + public/vendor/bootstrap/js/dropdown.js | 147 + public/vendor/bootstrap/js/modal.js | 243 + public/vendor/bootstrap/js/popover.js | 110 + public/vendor/bootstrap/js/scrollspy.js | 153 + public/vendor/bootstrap/js/tab.js | 125 + public/vendor/bootstrap/js/tooltip.js | 399 + public/vendor/bootstrap/js/transition.js | 48 + public/vendor/bootstrap/less/alerts.less | 67 + public/vendor/bootstrap/less/badges.less | 55 + public/vendor/bootstrap/less/bootstrap.less | 49 + public/vendor/bootstrap/less/breadcrumbs.less | 26 + .../vendor/bootstrap/less/button-groups.less | 226 + public/vendor/bootstrap/less/buttons.less | 159 + public/vendor/bootstrap/less/carousel.less | 232 + public/vendor/bootstrap/less/close.less | 33 + public/vendor/bootstrap/less/code.less | 63 + .../bootstrap/less/component-animations.less | 29 + public/vendor/bootstrap/less/dropdowns.less | 213 + public/vendor/bootstrap/less/forms.less | 438 + public/vendor/bootstrap/less/glyphicons.less | 233 + public/vendor/bootstrap/less/grid.less | 84 + .../vendor/bootstrap/less/input-groups.less | 162 + public/vendor/bootstrap/less/jumbotron.less | 44 + public/vendor/bootstrap/less/labels.less | 64 + public/vendor/bootstrap/less/list-group.less | 110 + public/vendor/bootstrap/less/media.less | 56 + public/vendor/bootstrap/less/mixins.less | 929 + public/vendor/bootstrap/less/modals.less | 139 + public/vendor/bootstrap/less/navbar.less | 616 + public/vendor/bootstrap/less/navs.less | 242 + public/vendor/bootstrap/less/normalize.less | 423 + public/vendor/bootstrap/less/pager.less | 55 + public/vendor/bootstrap/less/pagination.less | 88 + public/vendor/bootstrap/less/panels.less | 241 + public/vendor/bootstrap/less/popovers.less | 133 + public/vendor/bootstrap/less/print.less | 101 + .../vendor/bootstrap/less/progress-bars.less | 80 + .../bootstrap/less/responsive-utilities.less | 92 + public/vendor/bootstrap/less/scaffolding.less | 134 + public/vendor/bootstrap/less/tables.less | 233 + public/vendor/bootstrap/less/theme.less | 247 + public/vendor/bootstrap/less/thumbnails.less | 36 + public/vendor/bootstrap/less/tooltip.less | 95 + public/vendor/bootstrap/less/type.less | 293 + public/vendor/bootstrap/less/utilities.less | 56 + public/vendor/bootstrap/less/variables.less | 829 + public/vendor/bootstrap/less/wells.less | 29 + public/vendor/bootstrap/package.json | 70 + public/vendor/bootstrap/test-infra/README.md | 100 + .../test-infra/npm-shrinkwrap.canonical.json | 1 + .../bootstrap/test-infra/requirements.txt | 1 + .../vendor/bootstrap/test-infra/s3_cache.py | 107 + .../bootstrap/test-infra/sauce_browsers.yml | 83 + .../test-infra/uncached-npm-install.sh | 4 + .../vendor/datatables-bootstrap3/.bower.json | 13 + .../datatables-bootstrap3/BS3/Datatables.png | Bin 0 -> 58045 bytes .../BS3/assets/css/datatables.css | 177 + .../BS3/assets/images/sort_asc.png | Bin 0 -> 1118 bytes .../BS3/assets/images/sort_asc_disabled.png | Bin 0 -> 1050 bytes .../BS3/assets/images/sort_both.png | Bin 0 -> 1136 bytes .../BS3/assets/images/sort_desc.png | Bin 0 -> 1127 bytes .../BS3/assets/images/sort_desc_disabled.png | Bin 0 -> 1045 bytes .../BS3/assets/js/datatables.js | 400 + .../BS3/examples/css/datatables.css | 177 + .../BS3/examples/images/sort_asc.png | Bin 0 -> 1118 bytes .../BS3/examples/images/sort_asc_disabled.png | Bin 0 -> 1050 bytes .../BS3/examples/images/sort_both.png | Bin 0 -> 1136 bytes .../BS3/examples/images/sort_desc.png | Bin 0 -> 1127 bytes .../examples/images/sort_desc_disabled.png | Bin 0 -> 1045 bytes .../BS3/examples/js/datatables.js | 387 + .../BS3/examples/pagination_four_buttons.html | 467 + .../BS3/examples/pagination_full.html | 467 + .../BS3/examples/pagination_normal.html | 470 + .../BS3/examples/pagination_two_buttons.html | 467 + .../datatables-bootstrap3/BS3/index.html | 84 + public/vendor/datatables-bootstrap3/README.md | 47 + public/vendor/datatables/.bower.json | 21 + public/vendor/datatables/.gitignore | 6 + public/vendor/datatables/Readme.txt | 11 + public/vendor/datatables/component.json | 11 + .../examples/advanced_init/column_render.html | 625 + .../advanced_init/complex_header.html | 615 + .../examples/advanced_init/defaults.html | 612 + .../advanced_init/dom_multiple_elements.html | 611 + .../examples/advanced_init/dom_toolbar.html | 616 + .../examples/advanced_init/dt_events.html | 622 + .../examples/advanced_init/events_live.html | 644 + .../advanced_init/events_post_init.html | 667 + .../advanced_init/events_pre_init.html | 666 + .../advanced_init/footer_callback.html | 650 + .../examples/advanced_init/highlight.html | 643 + .../examples/advanced_init/html_sort.html | 197 + .../examples/advanced_init/language_file.html | 608 + .../examples/advanced_init/length_menu.html | 604 + .../examples/advanced_init/localstorage.html | 612 + .../examples/advanced_init/row_callback.html | 624 + .../examples/advanced_init/row_grouping.html | 661 + .../advanced_init/sorting_control.html | 625 + .../vendor/datatables/examples/ajax/ajax.html | 208 + .../examples/ajax/custom_data_property.html | 210 + .../vendor/datatables/examples/ajax/deep.html | 222 + .../examples/ajax/defer_render.html | 210 + .../examples/ajax/null_data_source.html | 214 + .../datatables/examples/ajax/objects.html | 222 + .../examples/ajax/objects_subarrays.html | 222 + .../examples/ajax/sources/array_only.txt | 59 + .../examples/ajax/sources/arrays.txt | 59 + .../ajax/sources/arrays_subobjects.txt | 515 + .../examples/ajax/sources/custom_prop.txt | 59 + .../datatables/examples/ajax/sources/deep.txt | 629 + .../examples/ajax/sources/objects.txt | 401 + .../ajax/sources/objects_subarrays.txt | 515 + .../datatables/examples/api/add_row.html | 221 + .../datatables/examples/api/api_in_init.html | 615 + .../examples/api/counter_column.html | 690 + .../datatables/examples/api/editable.html | 640 + .../vendor/datatables/examples/api/form.html | 680 + .../datatables/examples/api/highlight.html | 618 + .../datatables/examples/api/multi_filter.html | 676 + .../examples/api/multi_filter_select.html | 759 + .../vendor/datatables/examples/api/regex.html | 726 + .../datatables/examples/api/row_details.html | 705 + .../datatables/examples/api/select_row.html | 630 + .../examples/api/select_single_row.html | 659 + .../datatables/examples/api/show_hide.html | 630 + .../examples/api/tabs_and_scrolling.html | 456 + .../examples/basic_init/alt_pagination.html | 609 + .../datatables/examples/basic_init/base.html | 596 + .../examples/basic_init/base_themeroller.html | 592 + .../examples/basic_init/complex_header.html | 606 + .../datatables/examples/basic_init/dom.html | 619 + .../examples/basic_init/filter_only.html | 609 + .../examples/basic_init/flexible_width.html | 602 + .../examples/basic_init/hidden_columns.html | 604 + .../examples/basic_init/language.html | 612 + .../examples/basic_init/multi_col_sort.html | 635 + .../examples/basic_init/multiple_tables.html | 416 + .../examples/basic_init/scroll_x.html | 610 + .../examples/basic_init/scroll_xy.html | 600 + .../examples/basic_init/scroll_y.html | 609 + .../basic_init/scroll_y_infinite.html | 610 + .../examples/basic_init/scroll_y_theme.html | 609 + .../examples/basic_init/state_save.html | 604 + .../examples/basic_init/table_sorting.html | 604 + .../examples/basic_init/themes.html | 598 + .../examples/basic_init/zero_config.html | 600 + .../examples/data_sources/ajax.html | 208 + .../datatables/examples/data_sources/dom.html | 600 + .../examples/data_sources/js_array.html | 269 + .../examples/data_sources/server_side.html | 390 + .../examples/examples_support/data.sql | 67 + .../examples/examples_support/de_DE.txt | 17 + .../examples_support/details_close.png | Bin 0 -> 841 bytes .../examples_support/details_open.png | Bin 0 -> 881 bytes .../examples_support/editable_ajax.php | 3 + .../examples/examples_support/index.html | 7 + .../examples_support/infiniteScroll.php | 97 + .../examples_support/jquery-ui-tabs.js | 65 + .../examples_support/jquery.jeditable.js | 543 + .../examples_support/jquery.tooltip.css | 12 + .../examples_support/jquery.tooltip.js | 294 + .../examples_support/syntax/css/shCore.css | 377 + .../examples_support/syntax/images/arrow.jpg | Bin 0 -> 430 bytes .../syntax/images/extended.png | Bin 0 -> 1189 bytes .../examples_support/syntax/js/shCore.js | 2710 +++ .../syntax/license/Syntax Highlighter | 20 + .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../smoothness/jquery-ui-1.8.4.custom.css | 572 + .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 167 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ui-lightness/jquery-ui-1.8.4.custom.css | 572 + public/vendor/datatables/examples/index.html | 150 + .../examples/plug-ins/dom_sort.html | 1142 ++ .../examples/plug-ins/html_sort.html | 208 + .../examples/plug-ins/paging_plugin.html | 833 + .../examples/plug-ins/plugin_api.html | 668 + .../examples/plug-ins/range_filtering.html | 672 + .../examples/plug-ins/sorting_plugin.html | 701 + .../examples/plug-ins/sorting_sType.html | 649 + .../examples/server_side/custom_vars.html | 218 + .../examples/server_side/defer_loading.html | 281 + .../examples/server_side/editable.html | 232 + .../datatables/examples/server_side/ids.html | 212 + .../examples/server_side/jsonp.html | 230 + .../examples/server_side/object_data.html | 227 + .../examples/server_side/pipeline.html | 421 + .../datatables/examples/server_side/post.html | 214 + .../examples/server_side/row_details.html | 294 + .../scripts/custom_data_property.php | 191 + .../server_side/scripts/details_col.php | 196 + .../server_side/scripts/filter_col.php | 141 + .../examples/server_side/scripts/id.php | 196 + .../examples/server_side/scripts/id_jsonp.php | 196 + .../examples/server_side/scripts/jsonp.php | 191 + .../examples/server_side/scripts/objects.php | 193 + .../server_side/scripts/objects_jsonp.php | 193 + .../examples/server_side/scripts/post.php | 201 + .../server_side/scripts/server_processing.php | 190 + .../examples/server_side/select_rows.html | 256 + .../examples/server_side/server_side.html | 403 + public/vendor/datatables/license-bsd.txt | 10 + public/vendor/datatables/license-gpl2.txt | 339 + .../vendor/datatables/media/css/demo_page.css | 122 + .../datatables/media/css/demo_table.css | 577 + .../datatables/media/css/demo_table_jui.css | 501 + .../media/css/jquery.dataTables.css | 221 + .../css/jquery.dataTables_themeroller.css | 244 + .../datatables/media/images/Sorting icons.psd | Bin 0 -> 27490 bytes .../datatables/media/images/back_disabled.png | Bin 0 -> 1361 bytes .../datatables/media/images/back_enabled.png | Bin 0 -> 1379 bytes .../media/images/back_enabled_hover.png | Bin 0 -> 1375 bytes .../datatables/media/images/favicon.ico | Bin 0 -> 894 bytes .../media/images/forward_disabled.png | Bin 0 -> 1363 bytes .../media/images/forward_enabled.png | Bin 0 -> 1380 bytes .../media/images/forward_enabled_hover.png | Bin 0 -> 1379 bytes .../datatables/media/images/sort_asc.png | Bin 0 -> 1118 bytes .../media/images/sort_asc_disabled.png | Bin 0 -> 1050 bytes .../datatables/media/images/sort_both.png | Bin 0 -> 1136 bytes .../datatables/media/images/sort_desc.png | Bin 0 -> 1127 bytes .../media/images/sort_desc_disabled.png | Bin 0 -> 1045 bytes .../datatables/media/js/jquery.dataTables.js | 12099 +++++++++++++ public/vendor/datatables/media/js/jquery.js | 2 + .../vendor/datatables/media/src/DataTables.js | 284 + .../datatables/media/src/api/api.internal.js | 130 + .../datatables/media/src/api/api.methods.js | 1294 ++ .../datatables/media/src/api/api.static.js | 98 + .../datatables/media/src/core/core.ajax.js | 185 + .../datatables/media/src/core/core.columns.js | 373 + .../media/src/core/core.constructor.js | 428 + .../datatables/media/src/core/core.data.js | 634 + .../datatables/media/src/core/core.draw.js | 792 + .../datatables/media/src/core/core.filter.js | 399 + .../datatables/media/src/core/core.info.js | 111 + .../datatables/media/src/core/core.init.js | 153 + .../datatables/media/src/core/core.length.js | 122 + .../datatables/media/src/core/core.page.js | 119 + .../media/src/core/core.processing.js | 44 + .../media/src/core/core.scrolling.js | 511 + .../datatables/media/src/core/core.sizing.js | 403 + .../datatables/media/src/core/core.sort.js | 451 + .../datatables/media/src/core/core.state.js | 216 + .../datatables/media/src/core/core.support.js | 346 + .../datatables/media/src/ext/ext.classes.js | 112 + .../datatables/media/src/ext/ext.paging.js | 262 + .../datatables/media/src/ext/ext.sorting.js | 86 + .../datatables/media/src/ext/ext.types.js | 88 + .../media/src/model/model.column.js | 263 + .../media/src/model/model.defaults.columns.js | 759 + .../media/src/model/model.defaults.js | 1952 ++ .../datatables/media/src/model/model.ext.js | 528 + .../datatables/media/src/model/model.row.js | 64 + .../media/src/model/model.search.js | 40 + .../media/src/model/model.settings.js | 882 + .../media/unit_testing/controller.js | 94 + .../media/unit_testing/controller.php | 100 + .../datatables/media/unit_testing/index.html | 7 + .../media/unit_testing/performance/draw.html | 482 + .../media/unit_testing/performance/large.php | 108 + .../media/unit_testing/performance/page.html | 477 + .../media/unit_testing/performance/sort.html | 477 + .../templates/-complex_header.php | 469 + .../media/unit_testing/templates/2512.php | 464 + .../media/unit_testing/templates/6776.php | 116 + .../templates/complex_header_2.php | 485 + .../unit_testing/templates/deferred_table.php | 132 + .../media/unit_testing/templates/dom_data.php | 465 + .../unit_testing/templates/dom_data_th.php | 465 + .../templates/dom_data_two_headers.php | 472 + .../unit_testing/templates/dymanic_table.php | 45 + .../unit_testing/templates/empty_table.php | 55 + .../unit_testing/templates/html_table.php | 66 + .../media/unit_testing/templates/js_data.php | 124 + .../templates/js_data_mixed_types.php | 124 + .../unit_testing/templates/two_tables.php | 227 + .../tests_onhold/1_dom/-complex_header.js | 52 + .../unit_testing/tests_onhold/1_dom/-iDraw.js | 41 + .../unit_testing/tests_onhold/1_dom/2512.js | 17 + .../unit_testing/tests_onhold/1_dom/2530-2.js | 15 + .../unit_testing/tests_onhold/1_dom/2530.js | 29 + .../unit_testing/tests_onhold/1_dom/2569.js | 36 + .../unit_testing/tests_onhold/1_dom/2600.js | 44 + .../unit_testing/tests_onhold/1_dom/2608.js | 54 + .../unit_testing/tests_onhold/1_dom/2635.js | 40 + .../tests_onhold/1_dom/2746-stable-sort.js | 199 + .../unit_testing/tests_onhold/1_dom/2799.js | 14 + .../1_dom/2840-restore-table-width.js | 19 + .../1_dom/2914-state-save-sort.js | 39 + .../1_dom/5396-fnUpdate-arrays-mData.js | 103 + .../1_dom/5396-fnUpdate-arrays.js | 103 + .../1_dom/5508-xscroll-zero-content.js | 23 + .../1_dom/6776-scrolling-table-grows.js | 64 + .../tests_onhold/1_dom/_getDataFunctions.js | 399 + .../tests_onhold/1_dom/_setDataFunctions.js | 190 + .../tests_onhold/1_dom/_zero_config.js | 437 + .../tests_onhold/1_dom/aaSorting.js | 183 + .../tests_onhold/1_dom/aaSortingFixed.js | 60 + .../1_dom/aoColumns.bSearchable.js | 67 + .../tests_onhold/1_dom/aoColumns.bSortable.js | 105 + .../1_dom/aoColumns.bUseRendered.js | 145 + .../tests_onhold/1_dom/aoColumns.bVisible.js | 132 + .../tests_onhold/1_dom/aoColumns.bVisible2.js | 268 + .../tests_onhold/1_dom/aoColumns.fnRender.js | 176 + .../tests_onhold/1_dom/aoColumns.iDataSort.js | 88 + .../tests_onhold/1_dom/aoColumns.sClass.js | 111 + .../tests_onhold/1_dom/aoColumns.sName.js | 27 + .../tests_onhold/1_dom/aoColumns.sTitle.js | 78 + .../tests_onhold/1_dom/aoColumns.sWidth.js | 84 + .../tests_onhold/1_dom/aoSearchCols.js | 112 + .../tests_onhold/1_dom/asStripClasses.js | 106 + .../tests_onhold/1_dom/bAutoWidth.js | 138 + .../tests_onhold/1_dom/bFilter.js | 40 + .../tests_onhold/1_dom/bInfiniteScroll.js | 130 + .../unit_testing/tests_onhold/1_dom/bInfo.js | 40 + .../tests_onhold/1_dom/bJQueryUI.js | 40 + .../tests_onhold/1_dom/bLengthChange.js | 71 + .../tests_onhold/1_dom/bPaginate.js | 55 + .../tests_onhold/1_dom/bProcessing.js | 99 + .../tests_onhold/1_dom/bServerSide.js | 18 + .../unit_testing/tests_onhold/1_dom/bSort.js | 101 + .../tests_onhold/1_dom/bSortCellsTop.js | 77 + .../tests_onhold/1_dom/bSortClasses.js | 128 + .../tests_onhold/1_dom/fnCookieCallback.js | 97 + .../tests_onhold/1_dom/fnCreatedCell.js | 151 + .../tests_onhold/1_dom/fnCreatedRow.js | 115 + .../tests_onhold/1_dom/fnDeleteRow.js | 30 + .../tests_onhold/1_dom/fnDrawCallback.js | 80 + .../tests_onhold/1_dom/fnFilter.js | 16 + .../tests_onhold/1_dom/fnFooterCallback.js | 227 + .../tests_onhold/1_dom/fnHeaderCallback.js | 227 + .../tests_onhold/1_dom/fnInfoCallback.js | 115 + .../tests_onhold/1_dom/fnInitComplete.js | 94 + .../tests_onhold/1_dom/fnRowCallback.js | 105 + .../tests_onhold/1_dom/fnSetColumnVis.js | 120 + .../tests_onhold/1_dom/fnSetColumnVis2.js | 236 + .../1_dom/html-autodetect-sort.js | 57 + .../tests_onhold/1_dom/iDisplayLength.js | 76 + .../tests_onhold/1_dom/oLanguage.oPaginate.js | 80 + .../tests_onhold/1_dom/oLanguage.sInfo.js | 109 + .../1_dom/oLanguage.sInfoEmpty.js | 75 + .../1_dom/oLanguage.sInfoPostFix.js | 73 + .../1_dom/oLanguage.sLengthMenu.js | 106 + .../1_dom/oLanguage.sProcessing.js | 47 + .../tests_onhold/1_dom/oLanguage.sSearch.js | 66 + .../tests_onhold/1_dom/oLanguage.sUrl.js | 59 + .../1_dom/oLanguage.sZeroRecords.js | 45 + .../tests_onhold/1_dom/oSearch.js | 101 + .../tests_onhold/1_dom/sAjaxSource.js | 18 + .../unit_testing/tests_onhold/1_dom/sDom.js | 319 + .../tests_onhold/1_dom/sPaginationType.js | 122 + .../tests_onhold/1_dom/sScrollXY.js | 63 + .../tests_onhold/1_dom/th_in_body.js | 437 + .../tests_onhold/2_js/39-nested-null.js | 76 + .../6872-default-content-missing-props.js | 285 + .../2_js/8549--string-sorting-nonstrings.js | 47 + .../tests_onhold/2_js/_zero_config.js | 440 + .../tests_onhold/2_js/aaSorting.js | 198 + .../tests_onhold/2_js/aaSortingFixed.js | 64 + .../2_js/aoColumns.bSearchable.js | 71 + .../tests_onhold/2_js/aoColumns.bSortable.js | 109 + .../2_js/aoColumns.bUseRendered.js | 148 + .../tests_onhold/2_js/aoColumns.bVisible.js | 110 + .../tests_onhold/2_js/aoColumns.fnRender.js | 156 + .../tests_onhold/2_js/aoColumns.iDataSort.js | 90 + .../tests_onhold/2_js/aoColumns.sClass.js | 115 + .../tests_onhold/2_js/aoColumns.sName.js | 28 + .../tests_onhold/2_js/aoColumns.sTitle.js | 82 + .../tests_onhold/2_js/aoColumns.sWidth.js | 87 + .../tests_onhold/2_js/aoSearchCols.js | 119 + .../tests_onhold/2_js/asStripClasses.js | 100 + .../tests_onhold/2_js/bAutoWidth.js | 142 + .../unit_testing/tests_onhold/2_js/bFilter.js | 44 + .../unit_testing/tests_onhold/2_js/bInfo.js | 44 + .../tests_onhold/2_js/bLengthChange.js | 75 + .../tests_onhold/2_js/bPaginate.js | 59 + .../tests_onhold/2_js/bProcessing.js | 103 + .../tests_onhold/2_js/bServerSide.js | 20 + .../unit_testing/tests_onhold/2_js/bSort.js | 99 + .../tests_onhold/2_js/bSortClasses.js | 132 + .../tests_onhold/2_js/fnCreatedCell.js | 158 + .../tests_onhold/2_js/fnCreatedRow.js | 121 + .../tests_onhold/2_js/fnDrawCallback.js | 85 + .../tests_onhold/2_js/fnFooterCallback.js | 240 + .../tests_onhold/2_js/fnHeaderCallback.js | 240 + .../tests_onhold/2_js/fnInitComplete.js | 83 + .../tests_onhold/2_js/fnRowCallback.js | 112 + .../tests_onhold/2_js/iDisplayLength.js | 81 + .../tests_onhold/2_js/js_data_mixed_types.js | 392 + .../tests_onhold/2_js/oLanguage.oPaginate.js | 84 + .../tests_onhold/2_js/oLanguage.sInfo.js | 117 + .../tests_onhold/2_js/oLanguage.sInfoEmpty.js | 79 + .../2_js/oLanguage.sInfoPostFix.js | 78 + .../2_js/oLanguage.sLengthMenu.js | 111 + .../2_js/oLanguage.sProcessing.js | 49 + .../tests_onhold/2_js/oLanguage.sSearch.js | 70 + .../tests_onhold/2_js/oLanguage.sUrl.js | 62 + .../2_js/oLanguage.sZeroRecords.js | 48 + .../unit_testing/tests_onhold/2_js/oSearch.js | 108 + .../tests_onhold/2_js/sAjaxSource.js | 20 + .../unit_testing/tests_onhold/2_js/sDom.js | 262 + .../tests_onhold/2_js/sPaginationType.js | 125 + .../tests_onhold/3_ajax/_zero_config.js | 440 + .../tests_onhold/3_ajax/aaSorting.js | 198 + .../tests_onhold/3_ajax/aaSortingFixed.js | 67 + .../3_ajax/aoColumns.bSearchable.js | 76 + .../3_ajax/aoColumns.bSortable.js | 109 + .../3_ajax/aoColumns.bUseRendered.js | 148 + .../tests_onhold/3_ajax/aoColumns.bVisible.js | 124 + .../tests_onhold/3_ajax/aoColumns.fnRender.js | 156 + .../3_ajax/aoColumns.iDataSort.js | 90 + .../tests_onhold/3_ajax/aoColumns.sClass.js | 115 + .../tests_onhold/3_ajax/aoColumns.sName.js | 28 + .../tests_onhold/3_ajax/aoColumns.sTitle.js | 82 + .../tests_onhold/3_ajax/aoColumns.sWidth.js | 87 + .../tests_onhold/3_ajax/aoSearchCols.js | 119 + .../tests_onhold/3_ajax/asStripClasses.js | 105 + .../tests_onhold/3_ajax/bAutoWidth.js | 142 + .../tests_onhold/3_ajax/bFilter.js | 44 + .../unit_testing/tests_onhold/3_ajax/bInfo.js | 44 + .../tests_onhold/3_ajax/bLengthChange.js | 75 + .../tests_onhold/3_ajax/bPaginate.js | 59 + .../tests_onhold/3_ajax/bProcessing.js | 103 + .../tests_onhold/3_ajax/bServerSide.js | 20 + .../unit_testing/tests_onhold/3_ajax/bSort.js | 99 + .../tests_onhold/3_ajax/bSortClasses.js | 132 + .../tests_onhold/3_ajax/fnCreatedCell.js | 183 + .../tests_onhold/3_ajax/fnCreatedRow.js | 142 + .../tests_onhold/3_ajax/fnDrawCallback.js | 98 + .../tests_onhold/3_ajax/fnHeaderCallback.js | 191 + .../tests_onhold/3_ajax/fnInitComplete.js | 100 + .../tests_onhold/3_ajax/fnRowCallback.js | 112 + .../tests_onhold/3_ajax/fnServerData.js | 64 + .../tests_onhold/3_ajax/iDisplayLength.js | 81 + .../3_ajax/oLanguage.oPaginate.js | 84 + .../tests_onhold/3_ajax/oLanguage.sInfo.js | 117 + .../3_ajax/oLanguage.sInfoEmpty.js | 79 + .../3_ajax/oLanguage.sInfoPostFix.js | 78 + .../3_ajax/oLanguage.sLengthMenu.js | 111 + .../3_ajax/oLanguage.sLoadingRecords.js | 65 + .../3_ajax/oLanguage.sProcessing.js | 49 + .../tests_onhold/3_ajax/oLanguage.sSearch.js | 70 + .../tests_onhold/3_ajax/oLanguage.sUrl.js | 62 + .../3_ajax/oLanguage.sZeroRecords.js | 48 + .../tests_onhold/3_ajax/oSearch.js | 108 + .../tests_onhold/3_ajax/sAjaxDataProp.js | 139 + .../tests_onhold/3_ajax/sAjaxDataProp2.js | 139 + .../tests_onhold/3_ajax/sAjaxSource.js | 22 + .../unit_testing/tests_onhold/3_ajax/sDom.js | 262 + .../tests_onhold/3_ajax/sPaginationType.js | 134 + .../tests_onhold/4_server-side/-iDraw.js | 44 + .../tests_onhold/4_server-side/2440.js | 32 + .../tests_onhold/4_server-side/2569.js | 47 + .../tests_onhold/4_server-side/2600.js | 47 + .../4_server-side/_zero_config.js | 424 + .../tests_onhold/4_server-side/aaSorting.js | 212 + .../4_server-side/aaSortingFixed.js | 67 + .../4_server-side/aoColumns.bSearchable.js | 25 + .../4_server-side/aoColumns.bSortable.js | 112 + .../4_server-side/aoColumns.bUseRendered.js | 43 + .../4_server-side/aoColumns.bVisible.js | 123 + .../4_server-side/aoColumns.fnRender.js | 162 + .../4_server-side/aoColumns.sClass.js | 118 + .../4_server-side/aoColumns.sName.js | 29 + .../4_server-side/aoColumns.sTitle.js | 85 + .../4_server-side/aoColumns.sWidth.js | 90 + .../4_server-side/aoSearchCols.js | 70 + .../4_server-side/asStripClasses.js | 109 + .../tests_onhold/4_server-side/bAutoWidth.js | 145 + .../tests_onhold/4_server-side/bFilter.js | 47 + .../4_server-side/bInfiniteScroll.js | 168 + .../tests_onhold/4_server-side/bInfo.js | 47 + .../4_server-side/bLengthChange.js | 78 + .../tests_onhold/4_server-side/bPaginate.js | 62 + .../tests_onhold/4_server-side/bProcessing.js | 106 + .../tests_onhold/4_server-side/bServerSide.js | 21 + .../tests_onhold/4_server-side/bSort.js | 102 + .../4_server-side/bSortClasses.js | 135 + .../4_server-side/fnCreatedCell.js | 190 + .../4_server-side/fnCreatedRow.js | 148 + .../4_server-side/fnDrawCallback.js | 89 + .../4_server-side/fnHeaderCallback.js | 191 + .../4_server-side/fnInitComplete.js | 89 + .../4_server-side/fnRowCallback.js | 118 + .../4_server-side/iDeferLoading.js | 95 + .../4_server-side/iDisplayLength.js | 85 + .../4_server-side/oLanguage.oPaginate.js | 86 + .../4_server-side/oLanguage.sInfo.js | 124 + .../4_server-side/oLanguage.sInfoEmpty.js | 82 + .../4_server-side/oLanguage.sInfoPostFix.js | 82 + .../4_server-side/oLanguage.sLengthMenu.js | 115 + .../4_server-side/oLanguage.sProcessing.js | 51 + .../4_server-side/oLanguage.sSearch.js | 73 + .../4_server-side/oLanguage.sUrl.js | 64 + .../4_server-side/oLanguage.sZeroRecords.js | 58 + .../tests_onhold/4_server-side/oSearch.js | 100 + .../4_server-side/sAjaxDataProp.js | 146 + .../tests_onhold/4_server-side/sAjaxSource.js | 23 + .../tests_onhold/4_server-side/sDom.js | 269 + .../4_server-side/sPaginationType.js | 138 + .../5_ajax_objects/_zero_config.js | 847 + .../_zero_config_arrays_subobjects.js | 961 + .../5_ajax_objects/_zero_config_deep.js | 1075 ++ .../5_ajax_objects/_zero_config_mDataProp.js | 847 + .../_zero_config_null_source.js | 458 + .../5_ajax_objects/_zero_config_objects.js | 847 + .../_zero_config_objects_subarrays.js | 961 + .../tests_onhold/5_ajax_objects/aaSorting.js | 296 + .../5_ajax_objects/aaSortingFixed.js | 88 + .../5_ajax_objects/aoColumns.bSearchable.js | 83 + .../5_ajax_objects/aoColumns.bSortable.js | 116 + .../5_ajax_objects/aoColumns.bUseRendered.js | 155 + .../5_ajax_objects/aoColumns.bVisible.js | 131 + .../5_ajax_objects/aoColumns.fnRender.js | 177 + .../5_ajax_objects/aoColumns.iDataSort.js | 90 + .../5_ajax_objects/aoColumns.sClass.js | 122 + .../5_ajax_objects/aoColumns.sName.js | 28 + .../5_ajax_objects/aoColumns.sTitle.js | 89 + .../5_ajax_objects/aoColumns.sWidth.js | 87 + .../5_ajax_objects/aoSearchCols.js | 161 + .../5_ajax_objects/asStripClasses.js | 133 + .../tests_onhold/5_ajax_objects/bAutoWidth.js | 163 + .../tests_onhold/5_ajax_objects/bFilter.js | 65 + .../tests_onhold/5_ajax_objects/bInfo.js | 65 + .../5_ajax_objects/bLengthChange.js | 96 + .../tests_onhold/5_ajax_objects/bPaginate.js | 80 + .../5_ajax_objects/bProcessing.js | 124 + .../5_ajax_objects/bServerSide.js | 27 + .../tests_onhold/5_ajax_objects/bSort.js | 120 + .../5_ajax_objects/bSortClasses.js | 153 + .../5_ajax_objects/fnDrawCallback.js | 126 + .../5_ajax_objects/fnHeaderCallback.js | 254 + .../5_ajax_objects/fnInitComplete.js | 135 + .../5_ajax_objects/fnRowCallback.js | 154 + .../5_ajax_objects/fnServerData.js | 92 + .../5_ajax_objects/iDisplayLength.js | 109 + .../5_ajax_objects/oLanguage.oPaginate.js | 98 + .../5_ajax_objects/oLanguage.sInfo.js | 166 + .../5_ajax_objects/oLanguage.sInfoEmpty.js | 100 + .../5_ajax_objects/oLanguage.sInfoPostFix.js | 106 + .../5_ajax_objects/oLanguage.sLengthMenu.js | 139 + .../5_ajax_objects/oLanguage.sProcessing.js | 63 + .../5_ajax_objects/oLanguage.sSearch.js | 91 + .../5_ajax_objects/oLanguage.sUrl.js | 76 + .../5_ajax_objects/oLanguage.sZeroRecords.js | 62 + .../tests_onhold/5_ajax_objects/oSearch.js | 150 + .../5_ajax_objects/sAjaxSource.js | 29 + .../tests_onhold/5_ajax_objects/sDom.js | 311 + .../5_ajax_objects/sPaginationType.js | 148 + .../6_delayed_rendering/_zero_config.js | 403 + .../6_delayed_rendering/aaSorting.js | 212 + .../6_delayed_rendering/aaSortingFixed.js | 70 + .../aoColumns.bSearchable.js | 79 + .../aoColumns.bSortable.js | 112 + .../aoColumns.bUseRendered.js | 151 + .../6_delayed_rendering/aoColumns.bVisible.js | 127 + .../6_delayed_rendering/aoColumns.fnRender.js | 190 + .../aoColumns.iDataSort.js | 92 + .../6_delayed_rendering/aoColumns.sClass.js | 118 + .../6_delayed_rendering/aoColumns.sName.js | 29 + .../6_delayed_rendering/aoColumns.sTitle.js | 85 + .../6_delayed_rendering/aoColumns.sWidth.js | 90 + .../6_delayed_rendering/aoSearchCols.js | 125 + .../6_delayed_rendering/asStripClasses.js | 109 + .../6_delayed_rendering/bAutoWidth.js | 145 + .../6_delayed_rendering/bFilter.js | 47 + .../tests_onhold/6_delayed_rendering/bInfo.js | 47 + .../6_delayed_rendering/bLengthChange.js | 78 + .../6_delayed_rendering/bPaginate.js | 62 + .../6_delayed_rendering/bProcessing.js | 106 + .../6_delayed_rendering/bServerSide.js | 21 + .../tests_onhold/6_delayed_rendering/bSort.js | 102 + .../6_delayed_rendering/bSortClasses.js | 135 + .../6_delayed_rendering/fnDrawCallback.js | 102 + .../6_delayed_rendering/fnHeaderCallback.js | 200 + .../6_delayed_rendering/fnInitComplete.js | 105 + .../6_delayed_rendering/fnRowCallback.js | 118 + .../6_delayed_rendering/fnServerData.js | 68 + .../6_delayed_rendering/iDisplayLength.js | 85 + .../oLanguage.oPaginate.js | 86 + .../6_delayed_rendering/oLanguage.sInfo.js | 124 + .../oLanguage.sInfoEmpty.js | 82 + .../oLanguage.sInfoPostFix.js | 82 + .../oLanguage.sLengthMenu.js | 115 + .../oLanguage.sProcessing.js | 51 + .../6_delayed_rendering/oLanguage.sSearch.js | 73 + .../6_delayed_rendering/oLanguage.sUrl.js | 64 + .../oLanguage.sZeroRecords.js | 50 + .../6_delayed_rendering/oSearch.js | 114 + .../6_delayed_rendering/sAjaxDataProp.js | 140 + .../6_delayed_rendering/sAjaxDataProp2.js | 140 + .../6_delayed_rendering/sAjaxSource.js | 23 + .../tests_onhold/6_delayed_rendering/sDom.js | 269 + .../6_delayed_rendering/sPaginationType.js | 136 + .../media/unit_testing/unit_test.js | 409 + public/vendor/datatables/package.json | 34 + .../vendor/datatables/scripts/jshint.config | 72 + public/vendor/datatables/scripts/make.sh | 163 + .../vendor/datatables/scripts/unit_tests.sh | 109 + public/vendor/font-awesome/.bower.json | 14 + public/vendor/font-awesome/.gitignore | 32 + public/vendor/font-awesome/CONTRIBUTING.md | 75 + public/vendor/font-awesome/Gemfile | 4 + public/vendor/font-awesome/Gemfile.lock | 46 + public/vendor/font-awesome/README.md | 77 + public/vendor/font-awesome/_config.yml | 58 + public/vendor/font-awesome/component.json | 20 + public/vendor/font-awesome/composer.json | 27 + .../vendor/font-awesome/css/font-awesome.css | 1338 ++ .../font-awesome/css/font-awesome.min.css | 4 + .../vendor/font-awesome/fonts/FontAwesome.otf | Bin 0 -> 62856 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 38205 bytes .../fonts/fontawesome-webfont.svg | 414 + .../fonts/fontawesome-webfont.ttf | Bin 0 -> 80652 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 44432 bytes .../font-awesome/less/bordered-pulled.less | 16 + public/vendor/font-awesome/less/core.less | 12 + public/vendor/font-awesome/less/extras.less | 2 + .../vendor/font-awesome/less/fixed-width.less | 6 + .../font-awesome/less/font-awesome.less | 17 + public/vendor/font-awesome/less/icons.less | 412 + public/vendor/font-awesome/less/larger.less | 13 + public/vendor/font-awesome/less/list.less | 19 + public/vendor/font-awesome/less/mixins.less | 20 + public/vendor/font-awesome/less/path.less | 14 + .../font-awesome/less/rotated-flipped.less | 9 + public/vendor/font-awesome/less/spinning.less | 30 + public/vendor/font-awesome/less/stacked.less | 20 + .../vendor/font-awesome/less/variables.less | 381 + public/vendor/font-awesome/package.json | 43 + .../font-awesome/scss/_bordered-pulled.scss | 16 + public/vendor/font-awesome/scss/_core.scss | 12 + public/vendor/font-awesome/scss/_extras.scss | 44 + .../font-awesome/scss/_fixed-width.scss | 6 + public/vendor/font-awesome/scss/_icons.scss | 412 + public/vendor/font-awesome/scss/_larger.scss | 13 + public/vendor/font-awesome/scss/_list.scss | 19 + public/vendor/font-awesome/scss/_mixins.scss | 20 + public/vendor/font-awesome/scss/_path.scss | 14 + .../font-awesome/scss/_rotated-flipped.scss | 9 + .../vendor/font-awesome/scss/_spinning.scss | 30 + public/vendor/font-awesome/scss/_stacked.scss | 20 + .../vendor/font-awesome/scss/_variables.scss | 381 + .../font-awesome/scss/font-awesome.scss | 17 + public/vendor/font-awesome/src/3.2.1/CNAME | 1 + public/vendor/font-awesome/src/3.2.1/Makefile | 36 + .../src/3.2.1/assets/css/prettify.css | 30 + .../src/3.2.1/assets/css/pygments.css | 71 + .../src/3.2.1/assets/css/site.css | 1154 ++ .../src/3.2.1/assets/font-awesome.zip | Bin 0 -> 276410 bytes .../font-awesome/css/font-awesome-ie7.css | 1203 ++ .../font-awesome/css/font-awesome-ie7.min.css | 384 + .../assets/font-awesome/css/font-awesome.css | 1479 ++ .../font-awesome/css/font-awesome.min.css | 403 + .../assets/font-awesome/font/FontAwesome.otf | Bin 0 -> 61896 bytes .../font-awesome/font/fontawesome-webfont.eot | Bin 0 -> 37405 bytes .../font-awesome/font/fontawesome-webfont.svg | 399 + .../font-awesome/font/fontawesome-webfont.ttf | Bin 0 -> 79076 bytes .../font/fontawesome-webfont.woff | Bin 0 -> 43572 bytes .../assets/font-awesome/less/bootstrap.less | 84 + .../3.2.1/assets/font-awesome/less/core.less | 129 + .../assets/font-awesome/less/extras.less | 93 + .../font-awesome/less/font-awesome-ie7.less | 1953 ++ .../font-awesome/less/font-awesome.less | 33 + .../3.2.1/assets/font-awesome/less/icons.less | 381 + .../assets/font-awesome/less/mixins.less | 48 + .../3.2.1/assets/font-awesome/less/path.less | 14 + .../assets/font-awesome/less/variables.less | 735 + .../assets/font-awesome/scss/_bootstrap.scss | 84 + .../3.2.1/assets/font-awesome/scss/_core.scss | 129 + .../assets/font-awesome/scss/_extras.scss | 93 + .../assets/font-awesome/scss/_icons.scss | 381 + .../assets/font-awesome/scss/_mixins.scss | 48 + .../3.2.1/assets/font-awesome/scss/_path.scss | 14 + .../assets/font-awesome/scss/_variables.scss | 734 + .../font-awesome/scss/font-awesome-ie7.scss | 1953 ++ .../font-awesome/scss/font-awesome.scss | 33 + .../src/3.2.1/assets/ico/favicon.ico | Bin 0 -> 1150 bytes .../3.2.1/assets/img/contribution-sample.png | Bin 0 -> 2441 bytes .../src/3.2.1/assets/img/fort_awesome.jpg | Bin 0 -> 114822 bytes .../assets/img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes .../3.2.1/assets/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes .../src/3.2.1/assets/img/icon-flag.pdf | 1355 ++ .../assets/js/ZeroClipboard-1.1.7.min.js | 8 + .../3.2.1/assets/js/ZeroClipboard-1.1.7.swf | Bin 0 -> 1635 bytes .../src/3.2.1/assets/js/backbone.min.js | 37 + .../3.2.1/assets/js/bootstrap-2.3.1.min.js | 6 + .../src/3.2.1/assets/js/bootstrap-222.min.js | 6 + .../src/3.2.1/assets/js/jquery-1.7.1.min.js | 4 + .../src/3.2.1/assets/js/prettify.min.js | 28 + .../font-awesome/src/3.2.1/assets/js/site.js | 38 + .../src/3.2.1/assets/js/underscore.min.js | 31 + .../less/bootstrap-2.3.2/accordion.less | 34 + .../assets/less/bootstrap-2.3.2/alerts.less | 79 + .../less/bootstrap-2.3.2/bootstrap.less | 63 + .../less/bootstrap-2.3.2/breadcrumbs.less | 24 + .../less/bootstrap-2.3.2/button-groups.less | 229 + .../assets/less/bootstrap-2.3.2/buttons.less | 228 + .../assets/less/bootstrap-2.3.2/carousel.less | 158 + .../assets/less/bootstrap-2.3.2/close.less | 32 + .../assets/less/bootstrap-2.3.2/code.less | 61 + .../bootstrap-2.3.2/component-animations.less | 22 + .../less/bootstrap-2.3.2/dropdowns.less | 248 + .../assets/less/bootstrap-2.3.2/forms.less | 690 + .../assets/less/bootstrap-2.3.2/grid.less | 21 + .../less/bootstrap-2.3.2/hero-unit.less | 25 + .../less/bootstrap-2.3.2/labels-badges.less | 84 + .../assets/less/bootstrap-2.3.2/layouts.less | 16 + .../assets/less/bootstrap-2.3.2/media.less | 55 + .../assets/less/bootstrap-2.3.2/mixins.less | 702 + .../assets/less/bootstrap-2.3.2/modals.less | 95 + .../assets/less/bootstrap-2.3.2/navbar.less | 497 + .../assets/less/bootstrap-2.3.2/navs.less | 409 + .../assets/less/bootstrap-2.3.2/pager.less | 43 + .../less/bootstrap-2.3.2/pagination.less | 123 + .../assets/less/bootstrap-2.3.2/popovers.less | 133 + .../less/bootstrap-2.3.2/progress-bars.less | 122 + .../assets/less/bootstrap-2.3.2/reset.less | 216 + .../responsive-1200px-min.less | 28 + .../bootstrap-2.3.2/responsive-767px-max.less | 193 + .../responsive-768px-979px.less | 19 + .../bootstrap-2.3.2/responsive-navbar.less | 189 + .../bootstrap-2.3.2/responsive-utilities.less | 59 + .../less/bootstrap-2.3.2/responsive.less | 48 + .../less/bootstrap-2.3.2/scaffolding.less | 53 + .../assets/less/bootstrap-2.3.2/sprites.less | 197 + .../assets/less/bootstrap-2.3.2/tables.less | 244 + .../less/bootstrap-2.3.2/thumbnails.less | 53 + .../assets/less/bootstrap-2.3.2/tooltip.less | 70 + .../assets/less/bootstrap-2.3.2/type.less | 247 + .../less/bootstrap-2.3.2/utilities.less | 30 + .../less/bootstrap-2.3.2/variables.less | 301 + .../assets/less/bootstrap-2.3.2/wells.less | 29 + .../src/3.2.1/assets/less/lazy.less | 85 + .../src/3.2.1/assets/less/mixins.less | 58 + .../assets/less/responsive-1200px-min.less | 56 + .../assets/less/responsive-767px-max.less | 83 + .../assets/less/responsive-768px-979px.less | 67 + .../3.2.1/assets/less/responsive-navbar.less | 11 + .../src/3.2.1/assets/less/responsive.less | 53 + .../src/3.2.1/assets/less/site.less | 352 + .../src/3.2.1/assets/less/sticky-footer.less | 17 + .../src/3.2.1/assets/less/variables.less | 347 + .../src/3.2.1/cheatsheet/index.html | 2379 +++ .../src/3.2.1/community/index.html | 354 + .../vendor/font-awesome/src/3.2.1/design.html | 1 + .../src/3.2.1/examples/index.html | 671 + .../src/3.2.1/get-started/index.html | 299 + .../src/3.2.1/icon/adjust/index.html | 208 + .../src/3.2.1/icon/adn/index.html | 208 + .../src/3.2.1/icon/align-center/index.html | 208 + .../src/3.2.1/icon/align-justify/index.html | 208 + .../src/3.2.1/icon/align-left/index.html | 208 + .../src/3.2.1/icon/align-right/index.html | 208 + .../src/3.2.1/icon/ambulance/index.html | 208 + .../src/3.2.1/icon/anchor/index.html | 208 + .../src/3.2.1/icon/android/index.html | 208 + .../src/3.2.1/icon/angle-down/index.html | 208 + .../src/3.2.1/icon/angle-left/index.html | 208 + .../src/3.2.1/icon/angle-right/index.html | 208 + .../src/3.2.1/icon/angle-up/index.html | 208 + .../src/3.2.1/icon/apple/index.html | 208 + .../src/3.2.1/icon/archive/index.html | 208 + .../src/3.2.1/icon/arrow-down/index.html | 208 + .../src/3.2.1/icon/arrow-left/index.html | 208 + .../src/3.2.1/icon/arrow-right/index.html | 208 + .../src/3.2.1/icon/arrow-up/index.html | 208 + .../src/3.2.1/icon/asterisk/index.html | 208 + .../src/3.2.1/icon/backward/index.html | 208 + .../src/3.2.1/icon/ban-circle/index.html | 208 + .../src/3.2.1/icon/bar-chart/index.html | 208 + .../src/3.2.1/icon/barcode/index.html | 208 + .../src/3.2.1/icon/beaker/index.html | 208 + .../src/3.2.1/icon/beer/index.html | 208 + .../src/3.2.1/icon/bell-alt/index.html | 208 + .../src/3.2.1/icon/bell/index.html | 208 + .../src/3.2.1/icon/bitbucket-sign/index.html | 208 + .../src/3.2.1/icon/bitbucket/index.html | 208 + .../src/3.2.1/icon/bold/index.html | 208 + .../src/3.2.1/icon/bolt/index.html | 208 + .../src/3.2.1/icon/book/index.html | 208 + .../src/3.2.1/icon/bookmark-empty/index.html | 208 + .../src/3.2.1/icon/bookmark/index.html | 208 + .../src/3.2.1/icon/briefcase/index.html | 208 + .../src/3.2.1/icon/btc/index.html | 215 + .../src/3.2.1/icon/bug/index.html | 208 + .../src/3.2.1/icon/building/index.html | 208 + .../src/3.2.1/icon/bullhorn/index.html | 208 + .../src/3.2.1/icon/bullseye/index.html | 208 + .../src/3.2.1/icon/calendar-empty/index.html | 208 + .../src/3.2.1/icon/calendar/index.html | 208 + .../src/3.2.1/icon/camera-retro/index.html | 208 + .../src/3.2.1/icon/camera/index.html | 208 + .../src/3.2.1/icon/caret-down/index.html | 208 + .../src/3.2.1/icon/caret-left/index.html | 208 + .../src/3.2.1/icon/caret-right/index.html | 208 + .../src/3.2.1/icon/caret-up/index.html | 208 + .../src/3.2.1/icon/certificate/index.html | 208 + .../src/3.2.1/icon/check-empty/index.html | 213 + .../src/3.2.1/icon/check-minus/index.html | 208 + .../src/3.2.1/icon/check-sign/index.html | 208 + .../src/3.2.1/icon/check/index.html | 208 + .../src/3.2.1/icon/chevron-down/index.html | 208 + .../src/3.2.1/icon/chevron-left/index.html | 208 + .../src/3.2.1/icon/chevron-right/index.html | 208 + .../3.2.1/icon/chevron-sign-down/index.html | 208 + .../3.2.1/icon/chevron-sign-left/index.html | 208 + .../3.2.1/icon/chevron-sign-right/index.html | 208 + .../src/3.2.1/icon/chevron-sign-up/index.html | 208 + .../src/3.2.1/icon/chevron-up/index.html | 208 + .../3.2.1/icon/circle-arrow-down/index.html | 208 + .../3.2.1/icon/circle-arrow-left/index.html | 208 + .../3.2.1/icon/circle-arrow-right/index.html | 208 + .../src/3.2.1/icon/circle-arrow-up/index.html | 208 + .../src/3.2.1/icon/circle-blank/index.html | 208 + .../src/3.2.1/icon/circle/index.html | 208 + .../src/3.2.1/icon/cloud-download/index.html | 208 + .../src/3.2.1/icon/cloud-upload/index.html | 208 + .../src/3.2.1/icon/cloud/index.html | 208 + .../src/3.2.1/icon/cny/index.html | 213 + .../src/3.2.1/icon/code-fork/index.html | 208 + .../src/3.2.1/icon/code/index.html | 208 + .../src/3.2.1/icon/coffee/index.html | 208 + .../src/3.2.1/icon/cog/index.html | 213 + .../src/3.2.1/icon/cogs/index.html | 213 + .../src/3.2.1/icon/collapse-alt/index.html | 208 + .../src/3.2.1/icon/collapse-top/index.html | 208 + .../src/3.2.1/icon/collapse/index.html | 208 + .../src/3.2.1/icon/columns/index.html | 208 + .../src/3.2.1/icon/comment-alt/index.html | 208 + .../src/3.2.1/icon/comment/index.html | 208 + .../src/3.2.1/icon/comments-alt/index.html | 208 + .../src/3.2.1/icon/comments/index.html | 208 + .../src/3.2.1/icon/compass/index.html | 208 + .../src/3.2.1/icon/copy/index.html | 208 + .../src/3.2.1/icon/credit-card/index.html | 208 + .../src/3.2.1/icon/crop/index.html | 208 + .../src/3.2.1/icon/css3/index.html | 208 + .../src/3.2.1/icon/cut/index.html | 208 + .../src/3.2.1/icon/dashboard/index.html | 208 + .../src/3.2.1/icon/desktop/index.html | 208 + .../3.2.1/icon/double-angle-down/index.html | 208 + .../3.2.1/icon/double-angle-left/index.html | 208 + .../3.2.1/icon/double-angle-right/index.html | 208 + .../src/3.2.1/icon/double-angle-up/index.html | 208 + .../src/3.2.1/icon/download-alt/index.html | 208 + .../src/3.2.1/icon/download/index.html | 208 + .../src/3.2.1/icon/dribbble/index.html | 208 + .../src/3.2.1/icon/dropbox/index.html | 208 + .../src/3.2.1/icon/edit-sign/index.html | 208 + .../src/3.2.1/icon/edit/index.html | 208 + .../src/3.2.1/icon/eject/index.html | 208 + .../3.2.1/icon/ellipsis-horizontal/index.html | 208 + .../3.2.1/icon/ellipsis-vertical/index.html | 208 + .../src/3.2.1/icon/envelope-alt/index.html | 208 + .../src/3.2.1/icon/envelope/index.html | 208 + .../src/3.2.1/icon/eraser/index.html | 210 + .../src/3.2.1/icon/eur/index.html | 213 + .../src/3.2.1/icon/exchange/index.html | 208 + .../3.2.1/icon/exclamation-sign/index.html | 208 + .../src/3.2.1/icon/exclamation/index.html | 208 + .../src/3.2.1/icon/expand-alt/index.html | 208 + .../src/3.2.1/icon/expand/index.html | 208 + .../3.2.1/icon/external-link-sign/index.html | 208 + .../src/3.2.1/icon/external-link/index.html | 208 + .../src/3.2.1/icon/eye-close/index.html | 208 + .../src/3.2.1/icon/eye-open/index.html | 208 + .../src/3.2.1/icon/facebook-sign/index.html | 208 + .../src/3.2.1/icon/facebook/index.html | 208 + .../src/3.2.1/icon/facetime-video/index.html | 208 + .../src/3.2.1/icon/fast-backward/index.html | 208 + .../src/3.2.1/icon/fast-forward/index.html | 208 + .../src/3.2.1/icon/female/index.html | 208 + .../src/3.2.1/icon/fighter-jet/index.html | 208 + .../src/3.2.1/icon/file-alt/index.html | 208 + .../src/3.2.1/icon/file-text-alt/index.html | 208 + .../src/3.2.1/icon/file-text/index.html | 208 + .../src/3.2.1/icon/file/index.html | 208 + .../src/3.2.1/icon/film/index.html | 208 + .../src/3.2.1/icon/filter/index.html | 208 + .../3.2.1/icon/fire-extinguisher/index.html | 208 + .../src/3.2.1/icon/fire/index.html | 208 + .../src/3.2.1/icon/flag-alt/index.html | 208 + .../src/3.2.1/icon/flag-checkered/index.html | 208 + .../src/3.2.1/icon/flag/index.html | 208 + .../src/3.2.1/icon/flickr/index.html | 208 + .../3.2.1/icon/folder-close-alt/index.html | 208 + .../src/3.2.1/icon/folder-close/index.html | 208 + .../src/3.2.1/icon/folder-open-alt/index.html | 208 + .../src/3.2.1/icon/folder-open/index.html | 208 + .../src/3.2.1/icon/font/index.html | 208 + .../src/3.2.1/icon/food/index.html | 208 + .../src/3.2.1/icon/forward/index.html | 208 + .../src/3.2.1/icon/foursquare/index.html | 208 + .../src/3.2.1/icon/frown/index.html | 208 + .../src/3.2.1/icon/fullscreen/index.html | 208 + .../src/3.2.1/icon/gamepad/index.html | 208 + .../src/3.2.1/icon/gbp/index.html | 208 + .../src/3.2.1/icon/gift/index.html | 208 + .../src/3.2.1/icon/github-alt/index.html | 208 + .../src/3.2.1/icon/github-sign/index.html | 208 + .../src/3.2.1/icon/github/index.html | 208 + .../src/3.2.1/icon/gittip/index.html | 208 + .../src/3.2.1/icon/glass/index.html | 208 + .../src/3.2.1/icon/globe/index.html | 208 + .../3.2.1/icon/google-plus-sign/index.html | 208 + .../src/3.2.1/icon/google-plus/index.html | 208 + .../src/3.2.1/icon/group/index.html | 208 + .../src/3.2.1/icon/h-sign/index.html | 208 + .../src/3.2.1/icon/hand-down/index.html | 208 + .../src/3.2.1/icon/hand-left/index.html | 208 + .../src/3.2.1/icon/hand-right/index.html | 208 + .../src/3.2.1/icon/hand-up/index.html | 208 + .../src/3.2.1/icon/hdd/index.html | 208 + .../src/3.2.1/icon/headphones/index.html | 208 + .../src/3.2.1/icon/heart-empty/index.html | 208 + .../src/3.2.1/icon/heart/index.html | 208 + .../src/3.2.1/icon/home/index.html | 208 + .../src/3.2.1/icon/hospital/index.html | 208 + .../src/3.2.1/icon/html5/index.html | 208 + .../src/3.2.1/icon/inbox/index.html | 208 + .../src/3.2.1/icon/indent-left/index.html | 208 + .../src/3.2.1/icon/indent-right/index.html | 208 + .../src/3.2.1/icon/info-sign/index.html | 208 + .../src/3.2.1/icon/info/index.html | 208 + .../src/3.2.1/icon/inr/index.html | 213 + .../src/3.2.1/icon/instagram/index.html | 208 + .../src/3.2.1/icon/italic/index.html | 208 + .../src/3.2.1/icon/jpy/index.html | 213 + .../src/3.2.1/icon/key/index.html | 208 + .../src/3.2.1/icon/keyboard/index.html | 208 + .../src/3.2.1/icon/krw/index.html | 213 + .../src/3.2.1/icon/laptop/index.html | 208 + .../src/3.2.1/icon/leaf/index.html | 208 + .../src/3.2.1/icon/legal/index.html | 208 + .../src/3.2.1/icon/lemon/index.html | 208 + .../src/3.2.1/icon/level-down/index.html | 208 + .../src/3.2.1/icon/level-up/index.html | 208 + .../src/3.2.1/icon/lightbulb/index.html | 208 + .../src/3.2.1/icon/link/index.html | 208 + .../src/3.2.1/icon/linkedin-sign/index.html | 208 + .../src/3.2.1/icon/linkedin/index.html | 208 + .../src/3.2.1/icon/linux/index.html | 208 + .../src/3.2.1/icon/list-alt/index.html | 208 + .../src/3.2.1/icon/list-ol/index.html | 208 + .../src/3.2.1/icon/list-ul/index.html | 208 + .../src/3.2.1/icon/list/index.html | 208 + .../src/3.2.1/icon/location-arrow/index.html | 208 + .../src/3.2.1/icon/lock/index.html | 208 + .../src/3.2.1/icon/long-arrow-down/index.html | 208 + .../src/3.2.1/icon/long-arrow-left/index.html | 208 + .../3.2.1/icon/long-arrow-right/index.html | 208 + .../src/3.2.1/icon/long-arrow-up/index.html | 208 + .../src/3.2.1/icon/magic/index.html | 208 + .../src/3.2.1/icon/magnet/index.html | 208 + .../src/3.2.1/icon/mail-reply-all/index.html | 208 + .../src/3.2.1/icon/male/index.html | 208 + .../src/3.2.1/icon/map-marker/index.html | 208 + .../src/3.2.1/icon/maxcdn/index.html | 208 + .../src/3.2.1/icon/medkit/index.html | 208 + .../src/3.2.1/icon/meh/index.html | 208 + .../src/3.2.1/icon/microphone-off/index.html | 208 + .../src/3.2.1/icon/microphone/index.html | 208 + .../src/3.2.1/icon/minus-sign-alt/index.html | 208 + .../src/3.2.1/icon/minus-sign/index.html | 208 + .../src/3.2.1/icon/minus/index.html | 208 + .../src/3.2.1/icon/mobile-phone/index.html | 208 + .../src/3.2.1/icon/money/index.html | 208 + .../src/3.2.1/icon/moon/index.html | 208 + .../src/3.2.1/icon/move/index.html | 208 + .../src/3.2.1/icon/music/index.html | 208 + .../src/3.2.1/icon/off/index.html | 213 + .../src/3.2.1/icon/ok-circle/index.html | 208 + .../src/3.2.1/icon/ok-sign/index.html | 208 + .../font-awesome/src/3.2.1/icon/ok/index.html | 208 + .../src/3.2.1/icon/paper-clip/index.html | 213 + .../src/3.2.1/icon/paste/index.html | 208 + .../src/3.2.1/icon/pause/index.html | 208 + .../src/3.2.1/icon/pencil/index.html | 208 + .../src/3.2.1/icon/phone-sign/index.html | 208 + .../src/3.2.1/icon/phone/index.html | 208 + .../src/3.2.1/icon/picture/index.html | 208 + .../src/3.2.1/icon/pinterest-sign/index.html | 208 + .../src/3.2.1/icon/pinterest/index.html | 208 + .../src/3.2.1/icon/plane/index.html | 208 + .../src/3.2.1/icon/play-circle/index.html | 208 + .../src/3.2.1/icon/play-sign/index.html | 208 + .../src/3.2.1/icon/play/index.html | 208 + .../src/3.2.1/icon/plus-sign-alt/index.html | 210 + .../src/3.2.1/icon/plus-sign/index.html | 208 + .../src/3.2.1/icon/plus/index.html | 208 + .../src/3.2.1/icon/print/index.html | 208 + .../src/3.2.1/icon/pushpin/index.html | 208 + .../src/3.2.1/icon/puzzle-piece/index.html | 208 + .../src/3.2.1/icon/qrcode/index.html | 208 + .../src/3.2.1/icon/question-sign/index.html | 208 + .../src/3.2.1/icon/question/index.html | 208 + .../src/3.2.1/icon/quote-left/index.html | 208 + .../src/3.2.1/icon/quote-right/index.html | 208 + .../src/3.2.1/icon/random/index.html | 208 + .../src/3.2.1/icon/refresh/index.html | 208 + .../src/3.2.1/icon/remove-circle/index.html | 208 + .../src/3.2.1/icon/remove-sign/index.html | 208 + .../src/3.2.1/icon/remove/index.html | 208 + .../src/3.2.1/icon/renren/index.html | 208 + .../src/3.2.1/icon/reorder/index.html | 208 + .../src/3.2.1/icon/repeat/index.html | 213 + .../src/3.2.1/icon/reply-all/index.html | 208 + .../src/3.2.1/icon/reply/index.html | 213 + .../src/3.2.1/icon/resize-full/index.html | 208 + .../3.2.1/icon/resize-horizontal/index.html | 208 + .../src/3.2.1/icon/resize-small/index.html | 208 + .../src/3.2.1/icon/resize-vertical/index.html | 208 + .../src/3.2.1/icon/retweet/index.html | 208 + .../src/3.2.1/icon/road/index.html | 208 + .../src/3.2.1/icon/rocket/index.html | 208 + .../src/3.2.1/icon/rss-sign/index.html | 208 + .../src/3.2.1/icon/rss/index.html | 208 + .../src/3.2.1/icon/save/index.html | 208 + .../src/3.2.1/icon/screenshot/index.html | 208 + .../src/3.2.1/icon/search/index.html | 208 + .../src/3.2.1/icon/share-alt/index.html | 213 + .../src/3.2.1/icon/share-sign/index.html | 208 + .../src/3.2.1/icon/share/index.html | 208 + .../src/3.2.1/icon/shield/index.html | 208 + .../src/3.2.1/icon/shopping-cart/index.html | 208 + .../src/3.2.1/icon/sign-blank/index.html | 208 + .../src/3.2.1/icon/signal/index.html | 208 + .../src/3.2.1/icon/signin/index.html | 208 + .../src/3.2.1/icon/signout/index.html | 208 + .../src/3.2.1/icon/sitemap/index.html | 208 + .../src/3.2.1/icon/skype/index.html | 208 + .../src/3.2.1/icon/smile/index.html | 208 + .../icon/sort-by-alphabet-alt/index.html | 208 + .../3.2.1/icon/sort-by-alphabet/index.html | 208 + .../icon/sort-by-attributes-alt/index.html | 208 + .../3.2.1/icon/sort-by-attributes/index.html | 208 + .../3.2.1/icon/sort-by-order-alt/index.html | 208 + .../src/3.2.1/icon/sort-by-order/index.html | 208 + .../src/3.2.1/icon/sort-down/index.html | 208 + .../src/3.2.1/icon/sort-up/index.html | 208 + .../src/3.2.1/icon/sort/index.html | 208 + .../src/3.2.1/icon/spinner/index.html | 208 + .../src/3.2.1/icon/stackexchange/index.html | 208 + .../src/3.2.1/icon/star-empty/index.html | 208 + .../src/3.2.1/icon/star-half-empty/index.html | 213 + .../src/3.2.1/icon/star-half/index.html | 208 + .../src/3.2.1/icon/star/index.html | 208 + .../src/3.2.1/icon/step-backward/index.html | 208 + .../src/3.2.1/icon/step-forward/index.html | 208 + .../src/3.2.1/icon/stethoscope/index.html | 208 + .../src/3.2.1/icon/stop/index.html | 208 + .../src/3.2.1/icon/strikethrough/index.html | 208 + .../src/3.2.1/icon/subscript/index.html | 208 + .../src/3.2.1/icon/suitcase/index.html | 208 + .../src/3.2.1/icon/sun/index.html | 208 + .../src/3.2.1/icon/superscript/index.html | 208 + .../src/3.2.1/icon/table/index.html | 208 + .../src/3.2.1/icon/tablet/index.html | 208 + .../src/3.2.1/icon/tag/index.html | 208 + .../src/3.2.1/icon/tags/index.html | 208 + .../src/3.2.1/icon/tasks/index.html | 208 + .../src/3.2.1/icon/terminal/index.html | 208 + .../src/3.2.1/icon/text-height/index.html | 208 + .../src/3.2.1/icon/text-width/index.html | 208 + .../src/3.2.1/icon/th-large/index.html | 208 + .../src/3.2.1/icon/th-list/index.html | 208 + .../font-awesome/src/3.2.1/icon/th/index.html | 208 + .../src/3.2.1/icon/thumbs-down-alt/index.html | 208 + .../src/3.2.1/icon/thumbs-down/index.html | 208 + .../src/3.2.1/icon/thumbs-up-alt/index.html | 208 + .../src/3.2.1/icon/thumbs-up/index.html | 208 + .../src/3.2.1/icon/ticket/index.html | 208 + .../src/3.2.1/icon/time/index.html | 208 + .../src/3.2.1/icon/tint/index.html | 208 + .../src/3.2.1/icon/trash/index.html | 208 + .../src/3.2.1/icon/trello/index.html | 208 + .../src/3.2.1/icon/trophy/index.html | 208 + .../src/3.2.1/icon/truck/index.html | 208 + .../src/3.2.1/icon/tumblr-sign/index.html | 208 + .../src/3.2.1/icon/tumblr/index.html | 208 + .../src/3.2.1/icon/twitter-sign/index.html | 208 + .../src/3.2.1/icon/twitter/index.html | 208 + .../src/3.2.1/icon/umbrella/index.html | 208 + .../src/3.2.1/icon/underline/index.html | 208 + .../src/3.2.1/icon/undo/index.html | 213 + .../src/3.2.1/icon/unlink/index.html | 208 + .../src/3.2.1/icon/unlock-alt/index.html | 208 + .../src/3.2.1/icon/unlock/index.html | 208 + .../src/3.2.1/icon/upload-alt/index.html | 208 + .../src/3.2.1/icon/upload/index.html | 208 + .../src/3.2.1/icon/usd/index.html | 213 + .../src/3.2.1/icon/user-md/index.html | 208 + .../src/3.2.1/icon/user/index.html | 208 + .../font-awesome/src/3.2.1/icon/vk/index.html | 208 + .../src/3.2.1/icon/volume-down/index.html | 208 + .../src/3.2.1/icon/volume-off/index.html | 208 + .../src/3.2.1/icon/volume-up/index.html | 208 + .../src/3.2.1/icon/warning-sign/index.html | 208 + .../src/3.2.1/icon/weibo/index.html | 208 + .../src/3.2.1/icon/windows/index.html | 208 + .../src/3.2.1/icon/wrench/index.html | 208 + .../src/3.2.1/icon/xing-sign/index.html | 208 + .../src/3.2.1/icon/xing/index.html | 208 + .../src/3.2.1/icon/youtube-play/index.html | 210 + .../src/3.2.1/icon/youtube-sign/index.html | 208 + .../src/3.2.1/icon/youtube/index.html | 208 + .../src/3.2.1/icon/zoom-in/index.html | 208 + .../src/3.2.1/icon/zoom-out/index.html | 208 + .../vendor/font-awesome/src/3.2.1/icons.yml | 2590 +++ .../font-awesome/src/3.2.1/icons/index.html | 1202 ++ .../vendor/font-awesome/src/3.2.1/index.html | 320 + .../font-awesome/src/3.2.1/license/index.html | 261 + .../font-awesome/src/3.2.1/test/index.html | 1056 ++ .../src/3.2.1/whats-new/index.html | 433 + public/vendor/font-awesome/src/CNAME | 1 + public/vendor/font-awesome/src/Makefile | 38 + .../_includes/ads/carbon-dark-vertical.html | 1 + .../ads/carbon-light-horizontal.html | 1 + .../_includes/ads/carbon-light-vertical.html | 1 + .../src/_includes/brand-license.html | 4 + .../_includes/community/getting-support.html | 22 + .../community/project-milestones.html | 7 + .../_includes/community/reporting-bugs.html | 18 + .../community/requesting-new-icons.html | 27 + .../community/submitting-pull-requests.html | 12 + .../src/_includes/examples/bootstrap.html | 93 + .../_includes/examples/bordered-pulled.html | 21 + .../src/_includes/examples/custom.html | 16 + .../src/_includes/examples/fixed-width.html | 27 + .../src/_includes/examples/inline.html | 17 + .../src/_includes/examples/larger.html | 29 + .../src/_includes/examples/list.html | 24 + .../_includes/examples/rotated-flipped.html | 28 + .../src/_includes/examples/spinning.html | 26 + .../src/_includes/examples/stacked.html | 59 + .../font-awesome/src/_includes/footer.html | 24 + .../src/_includes/icons/brand.html | 15 + .../src/_includes/icons/currency.html | 12 + .../src/_includes/icons/directional.html | 12 + .../src/_includes/icons/form-control.html | 11 + .../src/_includes/icons/medical.html | 12 + .../font-awesome/src/_includes/icons/new.html | 18 + .../src/_includes/icons/text-editor.html | 12 + .../src/_includes/icons/video-player.html | 12 + .../src/_includes/icons/web-application.html | 12 + .../src/_includes/jumbotron-carousel.html | 52 + .../font-awesome/src/_includes/jumbotron.html | 6 + .../src/_includes/license-code.less | 4 + .../font-awesome/src/_includes/navbar.html | 69 + .../src/_includes/new-features.html | 37 + .../src/_includes/new-naming.html | 157 + .../src/_includes/new-upgrading.html | 10 + .../font-awesome/src/_includes/stripe-ad.html | 6 + .../src/_includes/stripe-social.html | 18 + .../src/_includes/tell-me-thanks.html | 22 + .../tests/rotated-flipped-inside-anchor.html | 6 + .../tests/rotated-flipped-inside-btn.html | 6 + .../src/_includes/tests/rotated-flipped.html | 6 + .../tests/stacked-inside-anchor.html | 69 + .../src/_includes/tests/stacked.html | 58 + .../font-awesome/src/_includes/thanks-to.html | 26 + .../font-awesome/src/_includes/why.html | 41 + .../font-awesome/src/_layouts/base.html | 55 + .../font-awesome/src/_layouts/icon.html | 62 + .../src/_plugins/icon_page_generator.rb | 46 + .../vendor/font-awesome/src/_plugins/site.rb | 142 + .../font-awesome/src/assets/css/prettify.css | 30 + .../font-awesome/src/assets/css/pygments.css | 71 + .../assets/font-awesome/fonts/FontAwesome.otf | Bin 0 -> 62856 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 38205 bytes .../fonts/fontawesome-webfont.svg | 414 + .../fonts/fontawesome-webfont.ttf | Bin 0 -> 80652 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 44432 bytes .../font-awesome/less/bordered-pulled.less | 19 + .../src/assets/font-awesome/less/core.less | 15 + .../assets/font-awesome/less/fixed-width.less | 9 + .../font-awesome/less/font-awesome.less | 16 + .../src/assets/font-awesome/less/icons.less | 7 + .../src/assets/font-awesome/less/larger.less | 16 + .../src/assets/font-awesome/less/list.less | 22 + .../src/assets/font-awesome/less/mixins.less | 22 + .../src/assets/font-awesome/less/path.less | 14 + .../font-awesome/less/rotated-flipped.less | 12 + .../assets/font-awesome/less/spinning.less | 33 + .../src/assets/font-awesome/less/stacked.less | 23 + .../assets/font-awesome/less/variables.less | 15 + .../font-awesome/scss/_bordered-pulled.scss | 19 + .../src/assets/font-awesome/scss/_core.scss | 15 + .../font-awesome/scss/_fixed-width.scss | 9 + .../src/assets/font-awesome/scss/_icons.scss | 7 + .../src/assets/font-awesome/scss/_larger.scss | 16 + .../src/assets/font-awesome/scss/_list.scss | 22 + .../src/assets/font-awesome/scss/_mixins.scss | 22 + .../src/assets/font-awesome/scss/_path.scss | 14 + .../font-awesome/scss/_rotated-flipped.scss | 12 + .../assets/font-awesome/scss/_spinning.scss | 33 + .../assets/font-awesome/scss/_stacked.scss | 23 + .../assets/font-awesome/scss/_variables.scss | 15 + .../font-awesome/scss/font-awesome.scss | 16 + .../font-awesome/src/assets/ico/favicon.ico | Bin 0 -> 1150 bytes .../src/assets/js/ZeroClipboard-1.1.7.min.js | 8 + .../src/assets/js/ZeroClipboard-1.1.7.swf | Bin 0 -> 1635 bytes .../src/assets/js/backbone.min.js | 37 + .../src/assets/js/bootstrap-2.3.1.min.js | 6 + .../src/assets/js/bootstrap-222.min.js | 6 + .../src/assets/js/bootstrap-3.0.0.min.js | 6 + .../font-awesome/src/assets/js/html5shiv.js | 8 + .../src/assets/js/jquery-1.10.2.js | 9789 ++++++++++ .../src/assets/js/jquery-1.10.2.min.js | 6 + .../src/assets/js/jquery-1.10.2.min.map | 1 + .../src/assets/js/jquery-1.7.1.min.js | 4 + .../src/assets/js/prettify.min.js | 28 + .../font-awesome/src/assets/js/respond.min.js | 6 + .../vendor/font-awesome/src/assets/js/site.js | 38 + .../src/assets/js/underscore.min.js | 31 + .../assets/less/bootstrap-3.0.0/alerts.less | 67 + .../assets/less/bootstrap-3.0.0/badges.less | 51 + .../less/bootstrap-3.0.0/bootstrap.less | 59 + .../less/bootstrap-3.0.0/breadcrumbs.less | 23 + .../less/bootstrap-3.0.0/button-groups.less | 248 + .../assets/less/bootstrap-3.0.0/buttons.less | 160 + .../assets/less/bootstrap-3.0.0/carousel.less | 209 + .../assets/less/bootstrap-3.0.0/close.less | 33 + .../src/assets/less/bootstrap-3.0.0/code.less | 56 + .../bootstrap-3.0.0/component-animations.less | 29 + .../less/bootstrap-3.0.0/dropdowns.less | 193 + .../assets/less/bootstrap-3.0.0/forms.less | 353 + .../less/bootstrap-3.0.0/glyphicons.less | 232 + .../src/assets/less/bootstrap-3.0.0/grid.less | 346 + .../less/bootstrap-3.0.0/input-groups.less | 127 + .../less/bootstrap-3.0.0/jumbotron.less | 40 + .../assets/less/bootstrap-3.0.0/labels.less | 58 + .../less/bootstrap-3.0.0/list-group.less | 88 + .../assets/less/bootstrap-3.0.0/media.less | 56 + .../assets/less/bootstrap-3.0.0/mixins.less | 723 + .../assets/less/bootstrap-3.0.0/modals.less | 141 + .../assets/less/bootstrap-3.0.0/navbar.less | 621 + .../src/assets/less/bootstrap-3.0.0/navs.less | 229 + .../less/bootstrap-3.0.0/normalize.less | 396 + .../assets/less/bootstrap-3.0.0/pager.less | 55 + .../less/bootstrap-3.0.0/pagination.less | 83 + .../assets/less/bootstrap-3.0.0/panels.less | 148 + .../assets/less/bootstrap-3.0.0/popovers.less | 133 + .../assets/less/bootstrap-3.0.0/print.less | 100 + .../less/bootstrap-3.0.0/progress-bars.less | 95 + .../bootstrap-3.0.0/responsive-utilities.less | 220 + .../less/bootstrap-3.0.0/scaffolding.less | 130 + .../assets/less/bootstrap-3.0.0/tables.less | 236 + .../assets/less/bootstrap-3.0.0/theme.less | 232 + .../less/bootstrap-3.0.0/thumbnails.less | 31 + .../assets/less/bootstrap-3.0.0/tooltip.less | 95 + .../src/assets/less/bootstrap-3.0.0/type.less | 238 + .../less/bootstrap-3.0.0/utilities.less | 42 + .../less/bootstrap-3.0.0/variables.less | 620 + .../assets/less/bootstrap-3.0.0/wells.less | 29 + .../font-awesome/src/assets/less/site.less | 27 + .../assets/less/site/bootstrap/buttons.less | 3 + .../assets/less/site/bootstrap/jumbotron.less | 68 + .../assets/less/site/bootstrap/navbar.less | 33 + .../src/assets/less/site/bootstrap/type.less | 3 + .../assets/less/site/bootstrap/variables.less | 119 + .../src/assets/less/site/bootstrap/wells.less | 1 + .../src/assets/less/site/carbonad.less | 12 + .../src/assets/less/site/example-rating.less | 25 + .../src/assets/less/site/feature-list.less | 19 + .../less/site/fontawesome-icon-list.less | 32 + .../src/assets/less/site/footer.less | 40 + .../assets/less/site/jumbotron-carousel.less | 61 + .../src/assets/less/site/layout.less | 1 + .../src/assets/less/site/lazy.less | 86 + .../less/site/responsive/screen-lg.less | 53 + .../less/site/responsive/screen-md.less | 3 + .../less/site/responsive/screen-sm.less | 47 + .../less/site/responsive/screen-xs.less | 70 + .../src/assets/less/site/social-buttons.less | 9 + .../src/assets/less/site/stripe-ad.less | 7 + .../src/assets/less/site/textured-bg.less | 20 + .../vendor/font-awesome/src/cheatsheet.html | 32 + public/vendor/font-awesome/src/community.html | 34 + public/vendor/font-awesome/src/design.html | 1 + public/vendor/font-awesome/src/examples.html | 33 + .../vendor/font-awesome/src/get-started.html | 149 + .../font-awesome/src/glyphicons-test.html | 795 + public/vendor/font-awesome/src/icons.html | 33 + public/vendor/font-awesome/src/icons.yml | 2713 +++ public/vendor/font-awesome/src/index.html | 22 + public/vendor/font-awesome/src/license.html | 72 + .../vendor/font-awesome/src/test-2.3.2.html | 824 + public/vendor/font-awesome/src/test.html | 761 + public/vendor/font-awesome/src/whats-new.html | 18 + public/vendor/jquery-ui/.bower.json | 20 + public/vendor/jquery-ui/.gitignore | 3 + public/vendor/jquery-ui/AUTHORS.txt | 260 + public/vendor/jquery-ui/MIT-LICENSE.txt | 26 + public/vendor/jquery-ui/README.md | 11 + public/vendor/jquery-ui/bower.json | 10 + public/vendor/jquery-ui/component.json | 13 + public/vendor/jquery-ui/composer.json | 63 + public/vendor/jquery-ui/package.json | 66 + .../themes/base/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../jquery-ui/themes/base/jquery-ui.css | 1177 ++ .../themes/base/jquery.ui.accordion.css | 38 + .../jquery-ui/themes/base/jquery.ui.all.css | 12 + .../themes/base/jquery.ui.autocomplete.css | 16 + .../jquery-ui/themes/base/jquery.ui.base.css | 25 + .../themes/base/jquery.ui.button.css | 114 + .../jquery-ui/themes/base/jquery.ui.core.css | 93 + .../themes/base/jquery.ui.datepicker.css | 175 + .../themes/base/jquery.ui.dialog.css | 70 + .../jquery-ui/themes/base/jquery.ui.menu.css | 79 + .../themes/base/jquery.ui.progressbar.css | 28 + .../themes/base/jquery.ui.resizable.css | 76 + .../themes/base/jquery.ui.selectable.css | 13 + .../themes/base/jquery.ui.slider.css | 73 + .../themes/base/jquery.ui.spinner.css | 65 + .../jquery-ui/themes/base/jquery.ui.tabs.css | 51 + .../jquery-ui/themes/base/jquery.ui.theme.css | 410 + .../themes/base/jquery.ui.tooltip.css | 21 + .../base/minified/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../themes/base/minified/jquery-ui.min.css | 7 + .../base/minified/jquery.ui.accordion.min.css | 5 + .../minified/jquery.ui.autocomplete.min.css | 5 + .../base/minified/jquery.ui.button.min.css | 5 + .../base/minified/jquery.ui.core.min.css | 5 + .../minified/jquery.ui.datepicker.min.css | 5 + .../base/minified/jquery.ui.dialog.min.css | 5 + .../base/minified/jquery.ui.menu.min.css | 5 + .../minified/jquery.ui.progressbar.min.css | 5 + .../base/minified/jquery.ui.resizable.min.css | 5 + .../minified/jquery.ui.selectable.min.css | 5 + .../base/minified/jquery.ui.slider.min.css | 5 + .../base/minified/jquery.ui.spinner.min.css | 5 + .../base/minified/jquery.ui.tabs.min.css | 5 + .../base/minified/jquery.ui.theme.min.css | 5 + .../base/minified/jquery.ui.tooltip.min.css | 5 + .../black-tie/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_8_333333_40x40.png | Bin 0 -> 364 bytes .../images/ui-bg_flat_65_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_40_111111_1x400.png | Bin 0 -> 312 bytes .../images/ui-bg_glass_55_1c1c1c_1x400.png | Bin 0 -> 312 bytes .../ui-bg_highlight-hard_100_f9f9f9_1x100.png | Bin 0 -> 304 bytes .../ui-bg_highlight-hard_40_aaaaaa_1x100.png | Bin 0 -> 302 bytes .../ui-bg_highlight-soft_50_aaaaaa_1x100.png | Bin 0 -> 329 bytes .../ui-bg_inset-hard_45_cd0a0a_1x100.png | Bin 0 -> 376 bytes .../ui-bg_inset-hard_55_ffeb80_1x100.png | Bin 0 -> 361 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_4ca300_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_bbbbbb_256x240.png | Bin 0 -> 7058 bytes .../images/ui-icons_ededed_256x240.png | Bin 0 -> 7008 bytes .../images/ui-icons_ffcf29_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/black-tie/jquery-ui.css | 1178 ++ .../themes/black-tie/jquery-ui.min.css | 7 + .../themes/black-tie/jquery.ui.theme.css | 410 + .../blitzer/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_75_f3d8d8_40x40.png | Bin 0 -> 465 bytes .../images/ui-bg_dots-small_65_a6a6a6_2x2.png | Bin 0 -> 260 bytes .../images/ui-bg_flat_0_333333_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_65_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_55_fbf8ee_1x400.png | Bin 0 -> 392 bytes .../ui-bg_highlight-hard_100_eeeeee_1x100.png | Bin 0 -> 304 bytes .../ui-bg_highlight-hard_100_f6f6f6_1x100.png | Bin 0 -> 304 bytes .../ui-bg_highlight-soft_15_cc0000_1x100.png | Bin 0 -> 379 bytes .../images/ui-icons_004276_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cc0000_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/blitzer/jquery-ui.css | 1178 ++ .../themes/blitzer/jquery-ui.min.css | 7 + .../themes/blitzer/jquery.ui.theme.css | 410 + .../cupertino/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 0 -> 368 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 0 -> 402 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 0 -> 388 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 0 -> 398 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 0 -> 384 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 0 -> 300 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 0 -> 439 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 0 -> 361 bytes .../images/ui-icons_2694e8_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/cupertino/jquery-ui.css | 1178 ++ .../themes/cupertino/jquery-ui.min.css | 7 + .../themes/cupertino/jquery.ui.theme.css | 410 + .../dark-hive/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 0 -> 282 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 0 -> 368 bytes .../ui-bg_highlight-hard_20_0972a5_1x100.png | Bin 0 -> 375 bytes .../ui-bg_highlight-soft_33_003147_1x100.png | Bin 0 -> 404 bytes .../ui-bg_highlight-soft_35_222222_1x100.png | Bin 0 -> 329 bytes .../ui-bg_highlight-soft_44_444444_1x100.png | Bin 0 -> 329 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 0 -> 332 bytes .../images/ui-bg_loop_25_000000_21x21.png | Bin 0 -> 338 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_a83300_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cccccc_256x240.png | Bin 0 -> 7038 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/dark-hive/jquery-ui.css | 1178 ++ .../themes/dark-hive/jquery-ui.min.css | 7 + .../themes/dark-hive/jquery.ui.theme.css | 410 + .../dot-luv/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_15_0b3e6f_40x40.png | Bin 0 -> 476 bytes .../ui-bg_dots-medium_30_0b58a2_4x4.png | Bin 0 -> 289 bytes .../images/ui-bg_dots-small_20_333333_2x2.png | Bin 0 -> 260 bytes .../images/ui-bg_dots-small_30_a32d00_2x2.png | Bin 0 -> 270 bytes .../images/ui-bg_dots-small_40_00498f_2x2.png | Bin 0 -> 276 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_40_292929_40x100.png | Bin 0 -> 282 bytes .../ui-bg_gloss-wave_20_111111_500x100.png | Bin 0 -> 3831 bytes .../images/ui-icons_00498f_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_98d2fb_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_9ccdfc_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/dot-luv/jquery-ui.css | 1178 ++ .../themes/dot-luv/jquery-ui.min.css | 7 + .../themes/dot-luv/jquery.ui.theme.css | 410 + .../eggplant/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_55_994d53_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_flat_55_fafafa_40x100.png | Bin 0 -> 282 bytes .../ui-bg_gloss-wave_30_3d3644_500x100.png | Bin 0 -> 5993 bytes .../ui-bg_highlight-soft_100_dcd9de_1x100.png | Bin 0 -> 394 bytes .../ui-bg_highlight-soft_100_eae6ea_1x100.png | Bin 0 -> 425 bytes .../ui-bg_highlight-soft_25_30273a_1x100.png | Bin 0 -> 421 bytes .../ui-bg_highlight-soft_45_5f5964_1x100.png | Bin 0 -> 413 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../images/ui-icons_734d99_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_8d78a5_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_a8a3ae_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ebccce_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/eggplant/jquery-ui.css | 1178 ++ .../themes/eggplant/jquery-ui.min.css | 7 + .../themes/eggplant/jquery.ui.theme.css | 410 + .../excite-bike/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-small_25_c5ddfc_40x40.png | Bin 0 -> 394 bytes .../ui-bg_diagonals-thick_20_e69700_40x40.png | Bin 0 -> 469 bytes .../ui-bg_diagonals-thick_22_1484e6_40x40.png | Bin 0 -> 461 bytes .../ui-bg_diagonals-thick_26_2293f7_40x40.png | Bin 0 -> 458 bytes .../images/ui-bg_flat_0_e69700_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_flat_0_e6b900_40x100.png | Bin 0 -> 274 bytes .../ui-bg_highlight-soft_100_f9f9f9_1x100.png | Bin 0 -> 331 bytes .../ui-bg_inset-hard_100_eeeeee_1x100.png | Bin 0 -> 305 bytes .../images/ui-icons_0a82eb_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_0b54d5_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_5fa5e3_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_fcdd4a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/excite-bike/jquery-ui.css | 1178 ++ .../themes/excite-bike/jquery-ui.min.css | 7 + .../themes/excite-bike/jquery.ui.theme.css | 410 + .../themes/flick/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_55_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 259 bytes .../ui-bg_highlight-soft_100_f6f6f6_1x100.png | Bin 0 -> 330 bytes .../ui-bg_highlight-soft_25_0073ea_1x100.png | Bin 0 -> 387 bytes .../ui-bg_highlight-soft_50_dddddd_1x100.png | Bin 0 -> 332 bytes .../flick/images/ui-icons_0073ea_256x240.png | Bin 0 -> 4601 bytes .../flick/images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../flick/images/ui-icons_666666_256x240.png | Bin 0 -> 6974 bytes .../flick/images/ui-icons_ff0084_256x240.png | Bin 0 -> 4601 bytes .../flick/images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/flick/jquery-ui.css | 1178 ++ .../jquery-ui/themes/flick/jquery-ui.min.css | 7 + .../themes/flick/jquery.ui.theme.css | 410 + .../hot-sneaks/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-small_40_db4865_40x40.png | Bin 0 -> 384 bytes .../ui-bg_diagonals-small_50_93c3cd_40x40.png | Bin 0 -> 385 bytes .../ui-bg_diagonals-small_50_ff3853_40x40.png | Bin 0 -> 382 bytes .../ui-bg_diagonals-small_75_ccd232_40x40.png | Bin 0 -> 385 bytes .../ui-bg_dots-medium_80_ffff38_4x4.png | Bin 0 -> 277 bytes .../images/ui-bg_dots-small_35_35414f_2x2.png | Bin 0 -> 275 bytes .../images/ui-bg_flat_75_ba9217_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 260 bytes .../ui-bg_white-lines_85_f7f7ba_40x100.png | Bin 0 -> 416 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../images/ui-icons_88a206_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_c02669_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_e1e463_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffeb33_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/hot-sneaks/jquery-ui.css | 1178 ++ .../themes/hot-sneaks/jquery-ui.min.css | 7 + .../themes/hot-sneaks/jquery.ui.theme.css | 410 + .../humanity/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_75_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_glass_100_f5f0e5_1x400.png | Bin 0 -> 406 bytes .../images/ui-bg_glass_25_cb842e_1x400.png | Bin 0 -> 387 bytes .../images/ui-bg_glass_70_ede4d4_1x400.png | Bin 0 -> 406 bytes .../ui-bg_highlight-hard_100_f4f0ec_1x100.png | Bin 0 -> 379 bytes .../ui-bg_highlight-hard_65_fee4bd_1x100.png | Bin 0 -> 366 bytes .../ui-bg_highlight-hard_75_f5f5b5_1x100.png | Bin 0 -> 375 bytes .../ui-bg_inset-soft_100_f4f0ec_1x100.png | Bin 0 -> 455 bytes .../images/ui-icons_c47a23_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cb672b_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f08000_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f35f07_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ff7519_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/humanity/jquery-ui.css | 1178 ++ .../themes/humanity/jquery-ui.min.css | 7 + .../themes/humanity/jquery.ui.theme.css | 410 + .../le-frog/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-small_0_aaaaaa_40x40.png | Bin 0 -> 259 bytes .../ui-bg_diagonals-thick_15_444444_40x40.png | Bin 0 -> 366 bytes .../ui-bg_diagonals-thick_95_ffdc2e_40x40.png | Bin 0 -> 463 bytes .../images/ui-bg_glass_55_fbf5d0_1x400.png | Bin 0 -> 388 bytes .../ui-bg_highlight-hard_30_285c00_1x100.png | Bin 0 -> 383 bytes .../ui-bg_highlight-soft_33_3a8104_1x100.png | Bin 0 -> 397 bytes .../ui-bg_highlight-soft_50_4eb305_1x100.png | Bin 0 -> 403 bytes .../ui-bg_highlight-soft_60_4ca20b_1x100.png | Bin 0 -> 416 bytes .../ui-bg_inset-soft_10_285c00_1x100.png | Bin 0 -> 440 bytes .../images/ui-icons_4eb305_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_72b42d_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/le-frog/jquery-ui.css | 1178 ++ .../themes/le-frog/jquery-ui.min.css | 7 + .../themes/le-frog/jquery.ui.theme.css | 410 + .../mint-choc/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_glass_15_5f391b_1x400.png | Bin 0 -> 393 bytes .../ui-bg_gloss-wave_20_1c160d_500x100.png | Bin 0 -> 5845 bytes .../ui-bg_gloss-wave_25_453326_500x100.png | Bin 0 -> 5904 bytes .../ui-bg_gloss-wave_30_44372c_500x100.png | Bin 0 -> 5966 bytes .../ui-bg_highlight-soft_20_201913_1x100.png | Bin 0 -> 438 bytes .../ui-bg_highlight-soft_20_619226_1x100.png | Bin 0 -> 398 bytes .../ui-bg_inset-soft_10_201913_1x100.png | Bin 0 -> 448 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_9bcc60_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_add978_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_e3ddc9_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f1fd86_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/mint-choc/jquery-ui.css | 1178 ++ .../themes/mint-choc/jquery-ui.min.css | 7 + .../themes/mint-choc/jquery.ui.theme.css | 410 + .../overcast/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_55_c0402a_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_flat_55_eeeeee_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_glass_100_f8f8f8_1x400.png | Bin 0 -> 314 bytes .../images/ui-bg_glass_35_dddddd_1x400.png | Bin 0 -> 314 bytes .../images/ui-bg_glass_60_eeeeee_1x400.png | Bin 0 -> 314 bytes .../ui-bg_inset-hard_75_999999_1x100.png | Bin 0 -> 303 bytes .../ui-bg_inset-soft_50_c9c9c9_1x100.png | Bin 0 -> 334 bytes .../images/ui-icons_3383bb_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../images/ui-icons_70b2e1_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_999999_256x240.png | Bin 0 -> 7039 bytes .../images/ui-icons_fbc856_256x240.png | Bin 0 -> 4601 bytes .../jquery-ui/themes/overcast/jquery-ui.css | 1178 ++ .../themes/overcast/jquery-ui.min.css | 7 + .../themes/overcast/jquery.ui.theme.css | 410 + .../images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonal-maze_20_6e4f1c_10x10.png | Bin 0 -> 348 bytes .../ui-bg_diagonal-maze_40_000000_10x10.png | Bin 0 -> 291 bytes .../ui-bg_fine-grain_10_eceadf_60x60.png | Bin 0 -> 10811 bytes .../ui-bg_fine-grain_10_f8f7f6_60x60.png | Bin 0 -> 9956 bytes .../ui-bg_fine-grain_15_eceadf_60x60.png | Bin 0 -> 10581 bytes .../ui-bg_fine-grain_15_f7f3de_60x60.png | Bin 0 -> 10943 bytes .../ui-bg_fine-grain_15_ffffff_60x60.png | Bin 0 -> 3510 bytes .../ui-bg_fine-grain_65_654b24_60x60.png | Bin 0 -> 14497 bytes .../ui-bg_fine-grain_68_b83400_60x60.png | Bin 0 -> 11929 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_3572ac_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_8c291d_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_b83400_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_fbdb93_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/pepper-grinder/jquery-ui.css | 1178 ++ .../themes/pepper-grinder/jquery-ui.min.css | 7 + .../themes/pepper-grinder/jquery.ui.theme.css | 410 + .../redmond/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_55_fbec88_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 0 -> 388 bytes .../images/ui-bg_glass_85_dfeffc_1x400.png | Bin 0 -> 393 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 384 bytes .../ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 0 -> 5876 bytes .../ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 0 -> 385 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 0 -> 344 bytes .../images/ui-icons_217bc0_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_469bdd_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_6da8d5_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_d8e7f3_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f9bd01_256x240.png | Bin 0 -> 4601 bytes .../jquery-ui/themes/redmond/jquery-ui.css | 1178 ++ .../themes/redmond/jquery-ui.min.css | 7 + .../themes/redmond/jquery.ui.theme.css | 410 + .../smoothness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 387 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 259 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 314 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 314 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 384 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 332 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 7044 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../jquery-ui/themes/smoothness/jquery-ui.css | 1178 ++ .../themes/smoothness/jquery-ui.min.css | 7 + .../themes/smoothness/jquery.ui.theme.css | 410 + .../south-street/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_glass_55_fcf0ba_1x400.png | Bin 0 -> 385 bytes .../ui-bg_gloss-wave_100_ece8da_500x100.png | Bin 0 -> 5811 bytes .../ui-bg_highlight-hard_100_f5f3e5_1x100.png | Bin 0 -> 388 bytes .../ui-bg_highlight-hard_100_fafaf4_1x100.png | Bin 0 -> 373 bytes .../ui-bg_highlight-hard_15_459e00_1x100.png | Bin 0 -> 380 bytes .../ui-bg_highlight-hard_95_cccccc_1x100.png | Bin 0 -> 304 bytes .../ui-bg_highlight-soft_25_67b021_1x100.png | Bin 0 -> 405 bytes .../ui-bg_highlight-soft_95_ffedad_1x100.png | Bin 0 -> 403 bytes .../ui-bg_inset-soft_15_2b2922_1x100.png | Bin 0 -> 401 bytes .../images/ui-icons_808080_256x240.png | Bin 0 -> 7039 bytes .../images/ui-icons_847e71_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_8DC262_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_eeeeee_256x240.png | Bin 0 -> 7007 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/south-street/jquery-ui.css | 1178 ++ .../themes/south-street/jquery-ui.min.css | 7 + .../themes/south-street/jquery.ui.theme.css | 410 + .../themes/start/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_55_999999_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_75_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_glass_45_0078ae_1x400.png | Bin 0 -> 398 bytes .../images/ui-bg_glass_55_f8da4e_1x400.png | Bin 0 -> 397 bytes .../images/ui-bg_glass_75_79c9ec_1x400.png | Bin 0 -> 400 bytes .../ui-bg_gloss-wave_45_e14f1c_500x100.png | Bin 0 -> 5916 bytes .../ui-bg_gloss-wave_50_6eac2c_500x100.png | Bin 0 -> 5958 bytes .../ui-bg_gloss-wave_75_2191c0_500x100.png | Bin 0 -> 6029 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 0 -> 344 bytes .../start/images/ui-icons_0078ae_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_056b93_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_d8e7f3_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_e0fdff_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_f5e175_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_f7a50d_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_fcd113_256x240.png | Bin 0 -> 4601 bytes .../jquery-ui/themes/start/jquery-ui.css | 1178 ++ .../jquery-ui/themes/start/jquery-ui.min.css | 7 + .../themes/start/jquery.ui.theme.css | 410 + .../themes/sunny/images/animated-overlay.gif | Bin 0 -> 1738 bytes ...ui-bg_diagonals-medium_20_d34d17_40x40.png | Bin 0 -> 434 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 0 -> 282 bytes .../ui-bg_gloss-wave_45_817865_500x100.png | Bin 0 -> 5942 bytes .../ui-bg_gloss-wave_60_fece2f_500x100.png | Bin 0 -> 5902 bytes .../ui-bg_gloss-wave_70_ffdd57_500x100.png | Bin 0 -> 5595 bytes .../ui-bg_gloss-wave_90_fff9e5_500x100.png | Bin 0 -> 5441 bytes .../ui-bg_highlight-soft_100_feeebd_1x100.png | Bin 0 -> 395 bytes .../ui-bg_inset-soft_30_ffffff_1x100.png | Bin 0 -> 255 bytes .../sunny/images/ui-icons_3d3d3d_256x240.png | Bin 0 -> 6948 bytes .../sunny/images/ui-icons_bd7b00_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_d19405_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_eb990f_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_ed9f26_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_fadc7a_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_ffe180_256x240.png | Bin 0 -> 4601 bytes .../jquery-ui/themes/sunny/jquery-ui.css | 1178 ++ .../jquery-ui/themes/sunny/jquery-ui.min.css | 7 + .../themes/sunny/jquery.ui.theme.css | 410 + .../swanky-purse/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_diamond_10_4f4221_10x8.png | Bin 0 -> 359 bytes .../images/ui-bg_diamond_20_372806_10x8.png | Bin 0 -> 362 bytes .../images/ui-bg_diamond_25_675423_10x8.png | Bin 0 -> 364 bytes .../images/ui-bg_diamond_25_d5ac5d_10x8.png | Bin 0 -> 365 bytes .../images/ui-bg_diamond_8_261803_10x8.png | Bin 0 -> 362 bytes .../images/ui-bg_diamond_8_443113_10x8.png | Bin 0 -> 362 bytes .../images/ui-bg_flat_75_ddd4b0_40x100.png | Bin 0 -> 274 bytes .../ui-bg_highlight-hard_65_fee4bd_1x100.png | Bin 0 -> 366 bytes .../images/ui-icons_070603_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_e8e2b5_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_e9cd86_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_efec9f_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f2ec64_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f9f2bd_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ff7519_256x240.png | Bin 0 -> 4601 bytes .../themes/swanky-purse/jquery-ui.css | 1178 ++ .../themes/swanky-purse/jquery-ui.min.css | 7 + .../themes/swanky-purse/jquery.ui.theme.css | 410 + .../trontastic/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-small_50_262626_40x40.png | Bin 0 -> 304 bytes .../images/ui-bg_flat_0_303030_40x100.png | Bin 0 -> 282 bytes .../images/ui-bg_flat_0_4c4c4c_40x100.png | Bin 0 -> 282 bytes .../images/ui-bg_glass_40_0a0a0a_1x400.png | Bin 0 -> 312 bytes .../images/ui-bg_glass_55_f1fbe5_1x400.png | Bin 0 -> 400 bytes .../images/ui-bg_glass_60_000000_1x400.png | Bin 0 -> 309 bytes .../ui-bg_gloss-wave_55_000000_500x100.png | Bin 0 -> 3878 bytes .../ui-bg_gloss-wave_85_9fda58_500x100.png | Bin 0 -> 5992 bytes .../ui-bg_gloss-wave_95_f6ecd5_500x100.png | Bin 0 -> 5850 bytes .../images/ui-icons_000000_256x240.png | Bin 0 -> 5383 bytes .../images/ui-icons_1f1f1f_256x240.png | Bin 0 -> 6825 bytes .../images/ui-icons_9fda58_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_b8ec79_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../jquery-ui/themes/trontastic/jquery-ui.css | 1178 ++ .../themes/trontastic/jquery-ui.min.css | 7 + .../themes/trontastic/jquery.ui.theme.css | 410 + .../ui-darkness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 0 -> 282 bytes .../images/ui-bg_glass_20_555555_1x400.png | Bin 0 -> 312 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 0 -> 394 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 0 -> 368 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 0 -> 3891 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 0 -> 332 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 0 -> 327 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 0 -> 392 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_a83300_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cccccc_256x240.png | Bin 0 -> 7038 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/ui-darkness/jquery-ui.css | 1178 ++ .../themes/ui-darkness/jquery-ui.min.css | 7 + .../themes/ui-darkness/jquery.ui.theme.css | 410 + .../ui-lightness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 470 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 366 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 257 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 315 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 400 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 259 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 5867 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 380 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/ui-lightness/jquery-ui.css | 1178 ++ .../themes/ui-lightness/jquery-ui.min.css | 7 + .../themes/ui-lightness/jquery.ui.theme.css | 410 + .../themes/vader/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 384 bytes .../ui-bg_gloss-wave_16_121212_500x100.png | Bin 0 -> 3833 bytes .../ui-bg_highlight-hard_15_888888_1x100.png | Bin 0 -> 301 bytes .../ui-bg_highlight-hard_55_555555_1x100.png | Bin 0 -> 303 bytes .../ui-bg_highlight-soft_35_adadad_1x100.png | Bin 0 -> 330 bytes .../ui-bg_highlight-soft_60_dddddd_1x100.png | Bin 0 -> 333 bytes .../ui-bg_inset-soft_15_121212_1x100.png | Bin 0 -> 327 bytes .../vader/images/ui-icons_666666_256x240.png | Bin 0 -> 6974 bytes .../vader/images/ui-icons_aaaaaa_256x240.png | Bin 0 -> 7039 bytes .../vader/images/ui-icons_bbbbbb_256x240.png | Bin 0 -> 7058 bytes .../vader/images/ui-icons_c98000_256x240.png | Bin 0 -> 4601 bytes .../vader/images/ui-icons_cccccc_256x240.png | Bin 0 -> 7038 bytes .../vader/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../vader/images/ui-icons_f29a00_256x240.png | Bin 0 -> 4601 bytes .../jquery-ui/themes/vader/jquery-ui.css | 1178 ++ .../jquery-ui/themes/vader/jquery-ui.min.css | 7 + .../themes/vader/jquery.ui.theme.css | 410 + public/vendor/jquery-ui/ui/.jshintrc | 22 + .../jquery-ui/ui/i18n/jquery-ui-i18n.js | 1645 ++ .../ui/i18n/jquery.ui.datepicker-af.js | 23 + .../ui/i18n/jquery.ui.datepicker-ar-DZ.js | 23 + .../ui/i18n/jquery.ui.datepicker-ar.js | 23 + .../ui/i18n/jquery.ui.datepicker-az.js | 23 + .../ui/i18n/jquery.ui.datepicker-be.js | 23 + .../ui/i18n/jquery.ui.datepicker-bg.js | 24 + .../ui/i18n/jquery.ui.datepicker-bs.js | 23 + .../ui/i18n/jquery.ui.datepicker-ca.js | 23 + .../ui/i18n/jquery.ui.datepicker-cs.js | 23 + .../ui/i18n/jquery.ui.datepicker-cy-GB.js | 23 + .../ui/i18n/jquery.ui.datepicker-da.js | 23 + .../ui/i18n/jquery.ui.datepicker-de.js | 23 + .../ui/i18n/jquery.ui.datepicker-el.js | 23 + .../ui/i18n/jquery.ui.datepicker-en-AU.js | 23 + .../ui/i18n/jquery.ui.datepicker-en-GB.js | 23 + .../ui/i18n/jquery.ui.datepicker-en-NZ.js | 23 + .../ui/i18n/jquery.ui.datepicker-eo.js | 23 + .../ui/i18n/jquery.ui.datepicker-es.js | 23 + .../ui/i18n/jquery.ui.datepicker-et.js | 23 + .../ui/i18n/jquery.ui.datepicker-eu.js | 23 + .../ui/i18n/jquery.ui.datepicker-fa.js | 59 + .../ui/i18n/jquery.ui.datepicker-fi.js | 23 + .../ui/i18n/jquery.ui.datepicker-fo.js | 23 + .../ui/i18n/jquery.ui.datepicker-fr-CA.js | 23 + .../ui/i18n/jquery.ui.datepicker-fr-CH.js | 23 + .../ui/i18n/jquery.ui.datepicker-fr.js | 25 + .../ui/i18n/jquery.ui.datepicker-gl.js | 23 + .../ui/i18n/jquery.ui.datepicker-he.js | 23 + .../ui/i18n/jquery.ui.datepicker-hi.js | 23 + .../ui/i18n/jquery.ui.datepicker-hr.js | 23 + .../ui/i18n/jquery.ui.datepicker-hu.js | 23 + .../ui/i18n/jquery.ui.datepicker-hy.js | 23 + .../ui/i18n/jquery.ui.datepicker-id.js | 23 + .../ui/i18n/jquery.ui.datepicker-is.js | 23 + .../ui/i18n/jquery.ui.datepicker-it.js | 23 + .../ui/i18n/jquery.ui.datepicker-ja.js | 23 + .../ui/i18n/jquery.ui.datepicker-ka.js | 21 + .../ui/i18n/jquery.ui.datepicker-kk.js | 23 + .../ui/i18n/jquery.ui.datepicker-km.js | 23 + .../ui/i18n/jquery.ui.datepicker-ko.js | 23 + .../ui/i18n/jquery.ui.datepicker-ky.js | 24 + .../ui/i18n/jquery.ui.datepicker-lb.js | 23 + .../ui/i18n/jquery.ui.datepicker-lt.js | 23 + .../ui/i18n/jquery.ui.datepicker-lv.js | 23 + .../ui/i18n/jquery.ui.datepicker-mk.js | 23 + .../ui/i18n/jquery.ui.datepicker-ml.js | 23 + .../ui/i18n/jquery.ui.datepicker-ms.js | 23 + .../ui/i18n/jquery.ui.datepicker-nb.js | 22 + .../ui/i18n/jquery.ui.datepicker-nl-BE.js | 23 + .../ui/i18n/jquery.ui.datepicker-nl.js | 23 + .../ui/i18n/jquery.ui.datepicker-nn.js | 22 + .../ui/i18n/jquery.ui.datepicker-no.js | 23 + .../ui/i18n/jquery.ui.datepicker-pl.js | 23 + .../ui/i18n/jquery.ui.datepicker-pt-BR.js | 23 + .../ui/i18n/jquery.ui.datepicker-pt.js | 22 + .../ui/i18n/jquery.ui.datepicker-rm.js | 21 + .../ui/i18n/jquery.ui.datepicker-ro.js | 26 + .../ui/i18n/jquery.ui.datepicker-ru.js | 23 + .../ui/i18n/jquery.ui.datepicker-sk.js | 23 + .../ui/i18n/jquery.ui.datepicker-sl.js | 24 + .../ui/i18n/jquery.ui.datepicker-sq.js | 23 + .../ui/i18n/jquery.ui.datepicker-sr-SR.js | 23 + .../ui/i18n/jquery.ui.datepicker-sr.js | 23 + .../ui/i18n/jquery.ui.datepicker-sv.js | 23 + .../ui/i18n/jquery.ui.datepicker-ta.js | 23 + .../ui/i18n/jquery.ui.datepicker-th.js | 23 + .../ui/i18n/jquery.ui.datepicker-tj.js | 23 + .../ui/i18n/jquery.ui.datepicker-tr.js | 23 + .../ui/i18n/jquery.ui.datepicker-uk.js | 24 + .../ui/i18n/jquery.ui.datepicker-vi.js | 23 + .../ui/i18n/jquery.ui.datepicker-zh-CN.js | 23 + .../ui/i18n/jquery.ui.datepicker-zh-HK.js | 23 + .../ui/i18n/jquery.ui.datepicker-zh-TW.js | 23 + .../vendor/jquery-ui/ui/jquery-ui.custom.js | 15008 ++++++++++++++++ public/vendor/jquery-ui/ui/jquery-ui.js | 15003 +++++++++++++++ .../jquery-ui/ui/jquery.ui.accordion.js | 570 + .../jquery-ui/ui/jquery.ui.autocomplete.js | 606 + .../vendor/jquery-ui/ui/jquery.ui.button.js | 395 + public/vendor/jquery-ui/ui/jquery.ui.core.js | 320 + .../jquery-ui/ui/jquery.ui.datepicker.js | 2038 +++ .../vendor/jquery-ui/ui/jquery.ui.dialog.js | 823 + .../jquery-ui/ui/jquery.ui.draggable.js | 958 + .../jquery-ui/ui/jquery.ui.droppable.js | 389 + .../jquery-ui/ui/jquery.ui.effect-blind.js | 82 + .../jquery-ui/ui/jquery.ui.effect-bounce.js | 113 + .../jquery-ui/ui/jquery.ui.effect-clip.js | 67 + .../jquery-ui/ui/jquery.ui.effect-drop.js | 65 + .../jquery-ui/ui/jquery.ui.effect-explode.js | 97 + .../jquery-ui/ui/jquery.ui.effect-fade.js | 30 + .../jquery-ui/ui/jquery.ui.effect-fold.js | 76 + .../ui/jquery.ui.effect-highlight.js | 50 + .../jquery-ui/ui/jquery.ui.effect-pulsate.js | 63 + .../jquery-ui/ui/jquery.ui.effect-scale.js | 318 + .../jquery-ui/ui/jquery.ui.effect-shake.js | 74 + .../jquery-ui/ui/jquery.ui.effect-slide.js | 64 + .../jquery-ui/ui/jquery.ui.effect-transfer.js | 47 + .../vendor/jquery-ui/ui/jquery.ui.effect.js | 1289 ++ public/vendor/jquery-ui/ui/jquery.ui.menu.js | 627 + public/vendor/jquery-ui/ui/jquery.ui.mouse.js | 169 + .../vendor/jquery-ui/ui/jquery.ui.position.js | 501 + .../jquery-ui/ui/jquery.ui.progressbar.js | 145 + .../jquery-ui/ui/jquery.ui.resizable.js | 978 + .../jquery-ui/ui/jquery.ui.selectable.js | 277 + .../vendor/jquery-ui/ui/jquery.ui.slider.js | 676 + .../vendor/jquery-ui/ui/jquery.ui.sortable.js | 1289 ++ .../vendor/jquery-ui/ui/jquery.ui.spinner.js | 497 + public/vendor/jquery-ui/ui/jquery.ui.tabs.js | 849 + .../vendor/jquery-ui/ui/jquery.ui.tooltip.js | 402 + .../vendor/jquery-ui/ui/jquery.ui.widget.js | 521 + .../ui/minified/i18n/jquery-ui-i18n.min.js | 7 + .../i18n/jquery.ui.datepicker-af.min.js | 5 + .../i18n/jquery.ui.datepicker-ar-DZ.min.js | 5 + .../i18n/jquery.ui.datepicker-ar.min.js | 5 + .../i18n/jquery.ui.datepicker-az.min.js | 5 + .../i18n/jquery.ui.datepicker-be.min.js | 5 + .../i18n/jquery.ui.datepicker-bg.min.js | 5 + .../i18n/jquery.ui.datepicker-bs.min.js | 5 + .../i18n/jquery.ui.datepicker-ca.min.js | 5 + .../i18n/jquery.ui.datepicker-cs.min.js | 5 + .../i18n/jquery.ui.datepicker-cy-GB.min.js | 5 + .../i18n/jquery.ui.datepicker-da.min.js | 5 + .../i18n/jquery.ui.datepicker-de.min.js | 5 + .../i18n/jquery.ui.datepicker-el.min.js | 5 + .../i18n/jquery.ui.datepicker-en-AU.min.js | 5 + .../i18n/jquery.ui.datepicker-en-GB.min.js | 5 + .../i18n/jquery.ui.datepicker-en-NZ.min.js | 5 + .../i18n/jquery.ui.datepicker-eo.min.js | 5 + .../i18n/jquery.ui.datepicker-es.min.js | 5 + .../i18n/jquery.ui.datepicker-et.min.js | 5 + .../i18n/jquery.ui.datepicker-eu.min.js | 5 + .../i18n/jquery.ui.datepicker-fa.min.js | 5 + .../i18n/jquery.ui.datepicker-fi.min.js | 5 + .../i18n/jquery.ui.datepicker-fo.min.js | 5 + .../i18n/jquery.ui.datepicker-fr-CA.min.js | 5 + .../i18n/jquery.ui.datepicker-fr-CH.min.js | 5 + .../i18n/jquery.ui.datepicker-fr.min.js | 5 + .../i18n/jquery.ui.datepicker-gl.min.js | 5 + .../i18n/jquery.ui.datepicker-he.min.js | 5 + .../i18n/jquery.ui.datepicker-hi.min.js | 5 + .../i18n/jquery.ui.datepicker-hr.min.js | 5 + .../i18n/jquery.ui.datepicker-hu.min.js | 5 + .../i18n/jquery.ui.datepicker-hy.min.js | 5 + .../i18n/jquery.ui.datepicker-id.min.js | 5 + .../i18n/jquery.ui.datepicker-is.min.js | 5 + .../i18n/jquery.ui.datepicker-it.min.js | 5 + .../i18n/jquery.ui.datepicker-ja.min.js | 5 + .../i18n/jquery.ui.datepicker-ka.min.js | 5 + .../i18n/jquery.ui.datepicker-kk.min.js | 5 + .../i18n/jquery.ui.datepicker-km.min.js | 5 + .../i18n/jquery.ui.datepicker-ko.min.js | 5 + .../i18n/jquery.ui.datepicker-ky.min.js | 5 + .../i18n/jquery.ui.datepicker-lb.min.js | 5 + .../i18n/jquery.ui.datepicker-lt.min.js | 5 + .../i18n/jquery.ui.datepicker-lv.min.js | 5 + .../i18n/jquery.ui.datepicker-mk.min.js | 5 + .../i18n/jquery.ui.datepicker-ml.min.js | 5 + .../i18n/jquery.ui.datepicker-ms.min.js | 5 + .../i18n/jquery.ui.datepicker-nb.min.js | 5 + .../i18n/jquery.ui.datepicker-nl-BE.min.js | 5 + .../i18n/jquery.ui.datepicker-nl.min.js | 5 + .../i18n/jquery.ui.datepicker-nn.min.js | 5 + .../i18n/jquery.ui.datepicker-no.min.js | 5 + .../i18n/jquery.ui.datepicker-pl.min.js | 5 + .../i18n/jquery.ui.datepicker-pt-BR.min.js | 5 + .../i18n/jquery.ui.datepicker-pt.min.js | 5 + .../i18n/jquery.ui.datepicker-rm.min.js | 5 + .../i18n/jquery.ui.datepicker-ro.min.js | 5 + .../i18n/jquery.ui.datepicker-ru.min.js | 5 + .../i18n/jquery.ui.datepicker-sk.min.js | 5 + .../i18n/jquery.ui.datepicker-sl.min.js | 5 + .../i18n/jquery.ui.datepicker-sq.min.js | 5 + .../i18n/jquery.ui.datepicker-sr-SR.min.js | 5 + .../i18n/jquery.ui.datepicker-sr.min.js | 5 + .../i18n/jquery.ui.datepicker-sv.min.js | 5 + .../i18n/jquery.ui.datepicker-ta.min.js | 5 + .../i18n/jquery.ui.datepicker-th.min.js | 5 + .../i18n/jquery.ui.datepicker-tj.min.js | 5 + .../i18n/jquery.ui.datepicker-tr.min.js | 5 + .../i18n/jquery.ui.datepicker-uk.min.js | 5 + .../i18n/jquery.ui.datepicker-vi.min.js | 5 + .../i18n/jquery.ui.datepicker-zh-CN.min.js | 5 + .../i18n/jquery.ui.datepicker-zh-HK.min.js | 5 + .../i18n/jquery.ui.datepicker-zh-TW.min.js | 5 + .../ui/minified/jquery-ui.custom.min.js | 7 + .../jquery-ui/ui/minified/jquery-ui.min.js | 12 + .../ui/minified/jquery.ui.accordion.min.js | 5 + .../ui/minified/jquery.ui.autocomplete.min.js | 5 + .../ui/minified/jquery.ui.button.min.js | 5 + .../ui/minified/jquery.ui.core.min.js | 5 + .../ui/minified/jquery.ui.datepicker.min.js | 6 + .../ui/minified/jquery.ui.dialog.min.js | 5 + .../ui/minified/jquery.ui.draggable.min.js | 5 + .../ui/minified/jquery.ui.droppable.min.js | 5 + .../ui/minified/jquery.ui.effect-blind.min.js | 5 + .../minified/jquery.ui.effect-bounce.min.js | 5 + .../ui/minified/jquery.ui.effect-clip.min.js | 5 + .../ui/minified/jquery.ui.effect-drop.min.js | 5 + .../minified/jquery.ui.effect-explode.min.js | 5 + .../ui/minified/jquery.ui.effect-fade.min.js | 5 + .../ui/minified/jquery.ui.effect-fold.min.js | 5 + .../jquery.ui.effect-highlight.min.js | 5 + .../minified/jquery.ui.effect-pulsate.min.js | 5 + .../ui/minified/jquery.ui.effect-scale.min.js | 5 + .../ui/minified/jquery.ui.effect-shake.min.js | 5 + .../ui/minified/jquery.ui.effect-slide.min.js | 5 + .../minified/jquery.ui.effect-transfer.min.js | 5 + .../ui/minified/jquery.ui.effect.min.js | 5 + .../ui/minified/jquery.ui.menu.min.js | 5 + .../ui/minified/jquery.ui.mouse.min.js | 5 + .../ui/minified/jquery.ui.position.min.js | 5 + .../ui/minified/jquery.ui.progressbar.min.js | 5 + .../ui/minified/jquery.ui.resizable.min.js | 5 + .../ui/minified/jquery.ui.selectable.min.js | 5 + .../ui/minified/jquery.ui.slider.min.js | 5 + .../ui/minified/jquery.ui.sortable.min.js | 5 + .../ui/minified/jquery.ui.spinner.min.js | 5 + .../ui/minified/jquery.ui.tabs.min.js | 5 + .../ui/minified/jquery.ui.tooltip.min.js | 5 + .../ui/minified/jquery.ui.widget.min.js | 5 + public/vendor/jquery/.bower.json | 37 + public/vendor/jquery/MIT-LICENSE.txt | 21 + public/vendor/jquery/bower.json | 27 + public/vendor/jquery/dist/jquery.js | 10337 +++++++++++ public/vendor/jquery/dist/jquery.min.js | 5 + public/vendor/jquery/dist/jquery.min.map | 1 + public/vendor/jquery/jquery.min.js | 5 + public/vendor/jquery/src/ajax.js | 807 + public/vendor/jquery/src/ajax/jsonp.js | 89 + public/vendor/jquery/src/ajax/load.js | 75 + public/vendor/jquery/src/ajax/parseJSON.js | 51 + public/vendor/jquery/src/ajax/parseXML.js | 31 + public/vendor/jquery/src/ajax/script.js | 93 + public/vendor/jquery/src/ajax/var/nonce.js | 5 + public/vendor/jquery/src/ajax/var/rquery.js | 3 + public/vendor/jquery/src/ajax/xhr.js | 196 + public/vendor/jquery/src/attributes.js | 11 + public/vendor/jquery/src/attributes/attr.js | 271 + .../vendor/jquery/src/attributes/classes.js | 157 + public/vendor/jquery/src/attributes/prop.js | 134 + .../vendor/jquery/src/attributes/support.js | 64 + public/vendor/jquery/src/attributes/val.js | 176 + public/vendor/jquery/src/callbacks.js | 205 + public/vendor/jquery/src/core.js | 542 + public/vendor/jquery/src/core/access.js | 60 + public/vendor/jquery/src/core/init.js | 132 + public/vendor/jquery/src/core/parseHTML.js | 39 + public/vendor/jquery/src/core/ready.js | 151 + .../vendor/jquery/src/core/var/rsingleTag.js | 4 + public/vendor/jquery/src/css.js | 508 + public/vendor/jquery/src/css/addGetHookIf.js | 32 + public/vendor/jquery/src/css/curCSS.js | 117 + .../vendor/jquery/src/css/defaultDisplay.js | 68 + .../jquery/src/css/hiddenVisibleSelectors.js | 20 + public/vendor/jquery/src/css/support.js | 193 + public/vendor/jquery/src/css/swap.js | 28 + public/vendor/jquery/src/css/var/cssExpand.js | 3 + public/vendor/jquery/src/css/var/isHidden.js | 13 + public/vendor/jquery/src/css/var/rmargin.js | 3 + public/vendor/jquery/src/css/var/rnumnonpx.js | 5 + public/vendor/jquery/src/data.js | 332 + public/vendor/jquery/src/data/accepts.js | 21 + public/vendor/jquery/src/data/support.js | 25 + public/vendor/jquery/src/deferred.js | 150 + public/vendor/jquery/src/deprecated.js | 13 + public/vendor/jquery/src/dimensions.js | 50 + public/vendor/jquery/src/effects.js | 648 + public/vendor/jquery/src/effects/Tween.js | 114 + .../jquery/src/effects/animatedSelector.js | 13 + public/vendor/jquery/src/effects/support.js | 76 + public/vendor/jquery/src/event.js | 1029 ++ public/vendor/jquery/src/event/alias.js | 39 + public/vendor/jquery/src/event/support.js | 26 + public/vendor/jquery/src/exports/amd.js | 18 + public/vendor/jquery/src/exports/global.js | 32 + public/vendor/jquery/src/intro.js | 44 + public/vendor/jquery/src/jquery.js | 37 + public/vendor/jquery/src/manipulation.js | 744 + .../jquery/src/manipulation/_evalUrl.js | 18 + .../vendor/jquery/src/manipulation/support.js | 79 + .../src/manipulation/var/rcheckableType.js | 3 + public/vendor/jquery/src/offset.js | 211 + public/vendor/jquery/src/outro.js | 1 + public/vendor/jquery/src/queue.js | 142 + public/vendor/jquery/src/queue/delay.js | 22 + public/vendor/jquery/src/selector-sizzle.js | 14 + public/vendor/jquery/src/selector.js | 1 + public/vendor/jquery/src/serialize.js | 110 + .../vendor/jquery/src/sizzle/dist/sizzle.js | 2015 +++ .../jquery/src/sizzle/dist/sizzle.min.js | 3 + .../jquery/src/sizzle/dist/sizzle.min.map | 1 + public/vendor/jquery/src/support.js | 62 + public/vendor/jquery/src/traversing.js | 200 + .../jquery/src/traversing/findFilter.js | 100 + .../src/traversing/var/rneedsContext.js | 6 + public/vendor/jquery/src/var/class2type.js | 4 + public/vendor/jquery/src/var/concat.js | 5 + public/vendor/jquery/src/var/deletedIds.js | 3 + public/vendor/jquery/src/var/hasOwn.js | 5 + public/vendor/jquery/src/var/indexOf.js | 5 + public/vendor/jquery/src/var/pnum.js | 3 + public/vendor/jquery/src/var/push.js | 5 + public/vendor/jquery/src/var/rnotwhite.js | 3 + public/vendor/jquery/src/var/slice.js | 5 + public/vendor/jquery/src/var/strundefined.js | 3 + public/vendor/jquery/src/var/support.js | 4 + public/vendor/jquery/src/var/toString.js | 5 + public/vendor/jquery/src/var/trim.js | 3 + public/vendor/jquery/src/wrap.js | 75 + public/vendor/jspdf/.bower.json | 14 + public/vendor/jspdf/.gitignore | 1 + public/vendor/jspdf/.gitmodules | 12 + public/vendor/jspdf/CNAME | 1 + public/vendor/jspdf/MIT-LICENSE.txt | 20 + public/vendor/jspdf/README.md | 55 + public/vendor/jspdf/dist/jspdf.amd.min.js | 151 + public/vendor/jspdf/dist/jspdf.min.js | 149 + public/vendor/jspdf/dist/jspdf.source.js | 6191 +++++++ public/vendor/jspdf/doc/files.html | 222 + public/vendor/jspdf/doc/index.html | 234 + .../vendor/jspdf/doc/symbols/FontObject.html | 430 + public/vendor/jspdf/doc/symbols/PubSub.html | 488 + public/vendor/jspdf/doc/symbols/_global_.html | 339 + .../jspdf/doc/symbols/jsPDF-PubSub.html | 566 + .../vendor/jspdf/doc/symbols/jsPDF-jsPDF.html | 326 + public/vendor/jspdf/doc/symbols/jsPDF.html | 1704 ++ .../vendor/jspdf/doc/symbols/jsPDFClass.html | 333 + .../symbols/src/c__work_jsPDF_jspdf.js.html | 1692 ++ .../src/c__work_jsPDF_tools_jspdf.js.html | 552 + .../jspdf/doc/symbols/src/jspdf.js.html | 1548 ++ public/vendor/jspdf/examples/basic.html | 416 + .../bootstrap/css/bootstrap-responsive.css | 1092 ++ .../css/bootstrap-responsive.min.css | 9 + .../examples/bootstrap/css/bootstrap.css | 6039 +++++++ .../examples/bootstrap/css/bootstrap.min.css | 9 + .../img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes .../bootstrap/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes .../jspdf/examples/bootstrap/js/bootstrap.js | 2159 +++ .../examples/bootstrap/js/bootstrap.min.js | 6 + public/vendor/jspdf/examples/css/editor.css | 48 + public/vendor/jspdf/examples/css/main.css | 30 + .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../smoothness/jquery-ui-1.8.17.custom.css | 565 + public/vendor/jspdf/examples/downloadify.html | 45 + public/vendor/jspdf/examples/jaxer.html | 14 + public/vendor/jspdf/examples/js/basic.js | 343 + public/vendor/jspdf/examples/js/circles.js | 11 + public/vendor/jspdf/examples/js/editor.js | 166 + public/vendor/jspdf/examples/js/font-faces.js | 19 + public/vendor/jspdf/examples/js/font-size.js | 6 + public/vendor/jspdf/examples/js/from-html.js | 15 + public/vendor/jspdf/examples/js/images.js | 9 + .../examples/js/jquery/jquery-1.7.1.min.js | 4 + .../js/jquery/jquery-ui-1.8.17.custom.min.js | 356 + .../vendor/jspdf/examples/js/kitchen-sink.js | 3 + public/vendor/jspdf/examples/js/landscape.js | 2 + public/vendor/jspdf/examples/js/lines.js | 26 + public/vendor/jspdf/examples/js/rectangles.js | 30 + .../jspdf/examples/js/string-splitting.js | 40 + .../vendor/jspdf/examples/js/text-colors.js | 17 + .../jspdf/examples/js/theme-ambiance.js | 202 + public/vendor/jspdf/examples/js/triangles.js | 8 + public/vendor/jspdf/examples/js/two-page.js | 5 + public/vendor/jspdf/examples/js/user-input.js | 27 + public/vendor/jspdf/examples/octocat.jpg | Bin 0 -> 63908 bytes public/vendor/jspdf/examples/octocat.png | Bin 0 -> 55219 bytes public/vendor/jspdf/examples/runner.html | 89 + .../vendor/jspdf/examples/thinking-monkey.jpg | Bin 0 -> 67506 bytes public/vendor/jspdf/index.html | 198 + public/vendor/jspdf/jspdf.PLUGINTEMPLATE.js | 45 + public/vendor/jspdf/jspdf.js | 1888 ++ public/vendor/jspdf/jspdf.plugin.addimage.js | 223 + public/vendor/jspdf/jspdf.plugin.cell.js | 372 + public/vendor/jspdf/jspdf.plugin.from_html.js | 594 + .../jspdf/jspdf.plugin.ie_below_9_shim.js | 59 + .../vendor/jspdf/jspdf.plugin.javascript.js | 52 + .../jspdf/jspdf.plugin.sillysvgrenderer.js | 181 + .../jspdf/jspdf.plugin.split_text_to_size.js | 298 + .../jspdf.plugin.standard_fonts_metrics.js | 395 + public/vendor/jspdf/libs/Deflate/adler32cs.js | 182 + public/vendor/jspdf/libs/Deflate/deflate.js | 2053 +++ .../vendor/jspdf/libs/Downloadify/LICENSE.txt | 22 + .../jspdf/libs/Downloadify/README.textile | 113 + .../libs/Downloadify/images/download.png | Bin 0 -> 2500 bytes .../libs/Downloadify/js/downloadify.min.js | 3 + .../jspdf/libs/Downloadify/js/swfobject.js | 4 + .../libs/Downloadify/media/downloadify.swf | Bin 0 -> 2625 bytes .../jspdf/libs/Downloadify/src/Downloadify.as | 173 + .../src/com/dynamicflash/util/Base64.as | 135 + .../com/dynamicflash/util/tests/Base64Test.as | 60 + .../jspdf/libs/Downloadify/src/downloadify.js | 213 + .../vendor/jspdf/libs/Downloadify/test.html | 84 + public/vendor/jspdf/libs/README | 1 + public/vendor/jspdf/test/001_blankpdf.pdf | 146 + public/vendor/jspdf/test/002_twopagedoc.pdf | 182 + .../jspdf/test/002_twopagedoc_oldapi.pdf | 182 + .../vendor/jspdf/test/003_demolandscape.pdf | 153 + public/vendor/jspdf/test/004_fontsizes.pdf | 160 + .../vendor/jspdf/test/005_demofonttypes.pdf | 181 + .../vendor/jspdf/test/006_demotestcolors.pdf | 181 + public/vendor/jspdf/test/007_demometadata.pdf | 158 + .../vendor/jspdf/test/008_demorectangles.pdf | 158 + public/vendor/jspdf/test/009_demoliness.pdf | 162 + public/vendor/jspdf/test/010_democircles.pdf | 162 + .../vendor/jspdf/test/011_multilinetext.pdf | 157 + .../vendor/jspdf/test/012_multiplelines.pdf | 166 + .../jspdf/test/013_sillysvgrenderer.pdf | 216 + .../jspdf/test/013_sillysvgrenderer.svg | 1 + public/vendor/jspdf/test/014_addImage.jpeg | Bin 0 -> 7923 bytes .../jspdf/test/014_addImage.jpeg.base64.txt | 1 + .../jspdf/test/014_addImage.pdf.base64.txt | 1 + public/vendor/jspdf/test/014_addImage.txt | 1 + public/vendor/jspdf/test/015_splittext.js | 54 + public/vendor/jspdf/test/015_splittext.pdf | 211 + public/vendor/jspdf/test/components_tests.js | 130 + public/vendor/jspdf/test/index.htm | 6 + .../vendor/jspdf/test/libs/curl-0.5.4.min.js | 20 + public/vendor/jspdf/test/libs/custom_fill.js | 115 + public/vendor/jspdf/test/libs/qunit.css | 232 + public/vendor/jspdf/test/libs/qunit.js | 1632 ++ .../vendor/jspdf/test/pdf_generate_tests.js | 405 + public/vendor/jspdf/test/test.html | 34 + public/vendor/jspdf/test/test_min.html | 36 + .../tools/jsdoc_template/allclasses.tmpl | 17 + .../jspdf/tools/jsdoc_template/allfiles.tmpl | 56 + .../jspdf/tools/jsdoc_template/class.tmpl | 643 + .../jspdf/tools/jsdoc_template/index.tmpl | 39 + .../jspdf/tools/jsdoc_template/publish.js | 201 + .../tools/jsdoc_template/static/default.css | 162 + .../tools/jsdoc_template/static/header.html | 2 + .../tools/jsdoc_template/static/index.html | 19 + .../jspdf/tools/jsdoc_template/symbol.tmpl | 32 + public/vendor/jspdf/wscript.py | 155 + public/vendor/knockout-mapping/.bower.json | 14 + public/vendor/knockout-mapping/.gitignore | 10 + public/vendor/knockout-mapping/HISTORY.md | 41 + public/vendor/knockout-mapping/Package.nuspec | 18 + public/vendor/knockout-mapping/README.md | 1 + .../vendor/knockout-mapping/build/build-linux | 13 + .../output/knockout.mapping-latest.debug.js | 809 + .../build/output/knockout.mapping-latest.js | 22 + .../knockout-mapping/build/tools/curl.exe | Bin 0 -> 287232 bytes .../build/tools/searchReplace.js | 32 + .../knockout-mapping/build/version-header.js | 3 + .../knockout-mapping/knockout.mapping.js | 806 + public/vendor/knockout-mapping/spec/issues.js | 316 + .../vendor/knockout-mapping/spec/lib/json2.js | 482 + .../spec/lib/qunit-1.10.0.css | 235 + .../knockout-mapping/spec/lib/qunit-1.10.0.js | 1977 ++ .../knockout-mapping/spec/mappingBehaviors.js | 1814 ++ .../spec/proxyDependentObservableBehaviors.js | 682 + .../vendor/knockout-mapping/spec/runner.html | 45 + public/vendor/knockout-sortable/.bower.json | 25 + public/vendor/knockout-sortable/README.md | 112 + public/vendor/knockout-sortable/bower.json | 15 + .../build/knockout-sortable.js | 327 + .../build/knockout-sortable.min.js | 2 + public/vendor/knockout.js/.bower.json | 24 + public/vendor/knockout.js/README.md | 4 + public/vendor/knockout.js/bower.json | 14 + public/vendor/knockout.js/knockout.debug.js | 4225 +++++ public/vendor/knockout.js/knockout.js | 94 + public/vendor/pdfjs/.bower.json | 13 + public/vendor/pdfjs/.gitattributes | 1 + public/vendor/pdfjs/.gitignore | 7 + public/vendor/pdfjs/.gitmodules | 3 + public/vendor/pdfjs/.jshintrc | 22 + public/vendor/pdfjs/.travis.yml | 3 + public/vendor/pdfjs/AUTHORS | 24 + public/vendor/pdfjs/CONTRIBUTING.md | 14 + public/vendor/pdfjs/LICENSE | 178 + public/vendor/pdfjs/README.md | 133 + .../vendor/pdfjs/examples/acroforms/forms.js | 153 + .../pdfjs/examples/acroforms/index.html | 43 + .../pdfjs/examples/helloworld/README.md | 18 + .../vendor/pdfjs/examples/helloworld/hello.js | 37 + .../pdfjs/examples/helloworld/helloworld.pdf | 68 + .../pdfjs/examples/helloworld/index.html | 31 + .../examples/text-selection/css/minimal.css | 57 + .../pdfjs/examples/text-selection/index.html | 29 + .../examples/text-selection/js/minimal.js | 95 + .../text-selection/pdf/TestDocument.pdf | Bin 0 -> 35153 bytes .../extensions/b2g/images/div_line_left.png | Bin 0 -> 174 bytes .../b2g/images/div_line_left@1.5x.png | Bin 0 -> 196 bytes .../b2g/images/div_line_left@2x.png | Bin 0 -> 319 bytes .../extensions/b2g/images/div_line_right.png | Bin 0 -> 173 bytes .../b2g/images/div_line_right@1.5x.png | Bin 0 -> 193 bytes .../b2g/images/div_line_right@2x.png | Bin 0 -> 319 bytes .../extensions/b2g/images/document_bg.png | Bin 0 -> 609 bytes .../extensions/b2g/images/icon_next_page.png | Bin 0 -> 325 bytes .../b2g/images/icon_next_page@1.5x.png | Bin 0 -> 343 bytes .../b2g/images/icon_previous_page.png | Bin 0 -> 384 bytes .../b2g/images/icon_previous_page@1.5x.png | Bin 0 -> 396 bytes .../extensions/b2g/images/icon_zoom_in.png | Bin 0 -> 640 bytes .../b2g/images/icon_zoom_in@1.5x.png | Bin 0 -> 1229 bytes .../extensions/b2g/images/icon_zoom_out.png | Bin 0 -> 564 bytes .../b2g/images/icon_zoom_out@1.5x.png | Bin 0 -> 1090 bytes .../pdfjs/extensions/b2g/images/spinner.png | Bin 0 -> 3225 bytes .../b2g/images/toolbar_background.png | Bin 0 -> 4695 bytes public/vendor/pdfjs/extensions/b2g/viewer.css | 257 + .../vendor/pdfjs/extensions/b2g/viewer.html | 224 + .../pdfjs/extensions/chromium/.gitignore | 1 + .../chrome.tabs.executeScriptInFrame.js | 283 + .../extensions/chromium/contentscript.js | 39 + .../extensions/chromium/extension-router.js | 130 + .../extensions/chromium/feature-detect.js | 121 + .../pdfjs/extensions/chromium/icon128.png | Bin 0 -> 3463 bytes .../pdfjs/extensions/chromium/icon16.png | Bin 0 -> 622 bytes .../pdfjs/extensions/chromium/icon19.png | Bin 0 -> 712 bytes .../pdfjs/extensions/chromium/icon38.png | Bin 0 -> 1330 bytes .../pdfjs/extensions/chromium/icon48.png | Bin 0 -> 1691 bytes .../pdfjs/extensions/chromium/manifest.json | 63 + .../extensions/chromium/pageActionPopup.html | 44 + .../extensions/chromium/pageActionPopup.js | 25 + .../extensions/chromium/pdfHandler-v2.js | 277 + .../extensions/chromium/pdfHandler-vcros.js | 95 + .../pdfjs/extensions/chromium/pdfHandler.html | 22 + .../pdfjs/extensions/chromium/pdfHandler.js | 219 + .../pdfjs/extensions/firefox/.gitignore | 3 + .../pdfjs/extensions/firefox/README.mozilla | 4 + .../pdfjs/extensions/firefox/bootstrap.js | 178 + .../firefox/chrome-mozcentral.manifest | 1 + .../pdfjs/extensions/firefox/chrome.manifest | 3 + .../extensions/firefox/content/PdfJs-stub.jsm | 22 + .../extensions/firefox/content/PdfJs.jsm | 280 + .../firefox/content/PdfJsTelemetry-addon.jsm | 72 + .../firefox/content/PdfJsTelemetry.jsm | 59 + .../firefox/content/PdfRedirector.jsm | 133 + .../firefox/content/PdfStreamConverter.jsm | 958 + .../vendor/pdfjs/extensions/firefox/icon.png | Bin 0 -> 1612 bytes .../pdfjs/extensions/firefox/icon64.png | Bin 0 -> 2089 bytes .../pdfjs/extensions/firefox/install.rdf | 56 + .../pdfjs/extensions/firefox/tools/l10n.js | 133 + .../pdfjs/extensions/firefox/update.rdf | 26 + public/vendor/pdfjs/external/.gitignore | 1 + .../pdfjs/external/bcmaps/.gitattributes | 1 + .../pdfjs/external/bcmaps/78-EUC-H.bcmap | Bin 0 -> 2404 bytes .../pdfjs/external/bcmaps/78-EUC-V.bcmap | Bin 0 -> 173 bytes .../vendor/pdfjs/external/bcmaps/78-H.bcmap | Bin 0 -> 2379 bytes .../pdfjs/external/bcmaps/78-RKSJ-H.bcmap | Bin 0 -> 2398 bytes .../pdfjs/external/bcmaps/78-RKSJ-V.bcmap | Bin 0 -> 173 bytes .../vendor/pdfjs/external/bcmaps/78-V.bcmap | Bin 0 -> 169 bytes .../pdfjs/external/bcmaps/78ms-RKSJ-H.bcmap | Bin 0 -> 2651 bytes .../pdfjs/external/bcmaps/78ms-RKSJ-V.bcmap | Bin 0 -> 290 bytes .../pdfjs/external/bcmaps/83pv-RKSJ-H.bcmap | Bin 0 -> 905 bytes .../pdfjs/external/bcmaps/90ms-RKSJ-H.bcmap | Bin 0 -> 721 bytes .../pdfjs/external/bcmaps/90ms-RKSJ-V.bcmap | Bin 0 -> 290 bytes .../pdfjs/external/bcmaps/90msp-RKSJ-H.bcmap | Bin 0 -> 715 bytes .../pdfjs/external/bcmaps/90msp-RKSJ-V.bcmap | Bin 0 -> 291 bytes .../pdfjs/external/bcmaps/90pv-RKSJ-H.bcmap | Bin 0 -> 982 bytes .../pdfjs/external/bcmaps/90pv-RKSJ-V.bcmap | Bin 0 -> 260 bytes .../vendor/pdfjs/external/bcmaps/Add-H.bcmap | Bin 0 -> 2419 bytes .../pdfjs/external/bcmaps/Add-RKSJ-H.bcmap | Bin 0 -> 2413 bytes .../pdfjs/external/bcmaps/Add-RKSJ-V.bcmap | Bin 0 -> 287 bytes .../vendor/pdfjs/external/bcmaps/Add-V.bcmap | Bin 0 -> 282 bytes .../pdfjs/external/bcmaps/Adobe-CNS1-0.bcmap | Bin 0 -> 317 bytes .../pdfjs/external/bcmaps/Adobe-CNS1-1.bcmap | Bin 0 -> 371 bytes .../pdfjs/external/bcmaps/Adobe-CNS1-2.bcmap | Bin 0 -> 376 bytes .../pdfjs/external/bcmaps/Adobe-CNS1-3.bcmap | Bin 0 -> 401 bytes .../pdfjs/external/bcmaps/Adobe-CNS1-4.bcmap | Bin 0 -> 405 bytes .../pdfjs/external/bcmaps/Adobe-CNS1-5.bcmap | Bin 0 -> 406 bytes .../pdfjs/external/bcmaps/Adobe-CNS1-6.bcmap | Bin 0 -> 406 bytes .../external/bcmaps/Adobe-CNS1-UCS2.bcmap | Bin 0 -> 41193 bytes .../pdfjs/external/bcmaps/Adobe-GB1-0.bcmap | Bin 0 -> 217 bytes .../pdfjs/external/bcmaps/Adobe-GB1-1.bcmap | Bin 0 -> 250 bytes .../pdfjs/external/bcmaps/Adobe-GB1-2.bcmap | Bin 0 -> 465 bytes .../pdfjs/external/bcmaps/Adobe-GB1-3.bcmap | Bin 0 -> 470 bytes .../pdfjs/external/bcmaps/Adobe-GB1-4.bcmap | Bin 0 -> 601 bytes .../pdfjs/external/bcmaps/Adobe-GB1-5.bcmap | Bin 0 -> 625 bytes .../external/bcmaps/Adobe-GB1-UCS2.bcmap | Bin 0 -> 33974 bytes .../external/bcmaps/Adobe-Japan1-0.bcmap | Bin 0 -> 225 bytes .../external/bcmaps/Adobe-Japan1-1.bcmap | Bin 0 -> 226 bytes .../external/bcmaps/Adobe-Japan1-2.bcmap | Bin 0 -> 233 bytes .../external/bcmaps/Adobe-Japan1-3.bcmap | Bin 0 -> 242 bytes .../external/bcmaps/Adobe-Japan1-4.bcmap | Bin 0 -> 337 bytes .../external/bcmaps/Adobe-Japan1-5.bcmap | Bin 0 -> 430 bytes .../external/bcmaps/Adobe-Japan1-6.bcmap | Bin 0 -> 485 bytes .../external/bcmaps/Adobe-Japan1-UCS2.bcmap | Bin 0 -> 40951 bytes .../external/bcmaps/Adobe-Korea1-0.bcmap | Bin 0 -> 241 bytes .../external/bcmaps/Adobe-Korea1-1.bcmap | Bin 0 -> 386 bytes .../external/bcmaps/Adobe-Korea1-2.bcmap | Bin 0 -> 391 bytes .../external/bcmaps/Adobe-Korea1-UCS2.bcmap | Bin 0 -> 23293 bytes .../vendor/pdfjs/external/bcmaps/B5-H.bcmap | Bin 0 -> 1086 bytes .../vendor/pdfjs/external/bcmaps/B5-V.bcmap | Bin 0 -> 142 bytes .../vendor/pdfjs/external/bcmaps/B5pc-H.bcmap | Bin 0 -> 1099 bytes .../vendor/pdfjs/external/bcmaps/B5pc-V.bcmap | Bin 0 -> 144 bytes .../pdfjs/external/bcmaps/CNS-EUC-H.bcmap | Bin 0 -> 1780 bytes .../pdfjs/external/bcmaps/CNS-EUC-V.bcmap | Bin 0 -> 1920 bytes .../vendor/pdfjs/external/bcmaps/CNS1-H.bcmap | Bin 0 -> 706 bytes .../vendor/pdfjs/external/bcmaps/CNS1-V.bcmap | Bin 0 -> 143 bytes .../vendor/pdfjs/external/bcmaps/CNS2-H.bcmap | Bin 0 -> 504 bytes .../vendor/pdfjs/external/bcmaps/CNS2-V.bcmap | 3 + .../pdfjs/external/bcmaps/ETHK-B5-H.bcmap | Bin 0 -> 4426 bytes .../pdfjs/external/bcmaps/ETHK-B5-V.bcmap | Bin 0 -> 158 bytes .../pdfjs/external/bcmaps/ETen-B5-H.bcmap | Bin 0 -> 1125 bytes .../pdfjs/external/bcmaps/ETen-B5-V.bcmap | Bin 0 -> 158 bytes .../pdfjs/external/bcmaps/ETenms-B5-H.bcmap | 3 + .../pdfjs/external/bcmaps/ETenms-B5-V.bcmap | Bin 0 -> 172 bytes .../vendor/pdfjs/external/bcmaps/EUC-H.bcmap | Bin 0 -> 578 bytes .../vendor/pdfjs/external/bcmaps/EUC-V.bcmap | Bin 0 -> 170 bytes .../vendor/pdfjs/external/bcmaps/Ext-H.bcmap | Bin 0 -> 2536 bytes .../pdfjs/external/bcmaps/Ext-RKSJ-H.bcmap | Bin 0 -> 2542 bytes .../pdfjs/external/bcmaps/Ext-RKSJ-V.bcmap | Bin 0 -> 218 bytes .../vendor/pdfjs/external/bcmaps/Ext-V.bcmap | Bin 0 -> 215 bytes .../pdfjs/external/bcmaps/GB-EUC-H.bcmap | Bin 0 -> 549 bytes .../pdfjs/external/bcmaps/GB-EUC-V.bcmap | Bin 0 -> 179 bytes .../vendor/pdfjs/external/bcmaps/GB-H.bcmap | 4 + .../vendor/pdfjs/external/bcmaps/GB-V.bcmap | Bin 0 -> 175 bytes .../pdfjs/external/bcmaps/GBK-EUC-H.bcmap | Bin 0 -> 14692 bytes .../pdfjs/external/bcmaps/GBK-EUC-V.bcmap | Bin 0 -> 180 bytes .../pdfjs/external/bcmaps/GBK2K-H.bcmap | Bin 0 -> 19662 bytes .../pdfjs/external/bcmaps/GBK2K-V.bcmap | Bin 0 -> 219 bytes .../pdfjs/external/bcmaps/GBKp-EUC-H.bcmap | Bin 0 -> 14686 bytes .../pdfjs/external/bcmaps/GBKp-EUC-V.bcmap | Bin 0 -> 181 bytes .../pdfjs/external/bcmaps/GBT-EUC-H.bcmap | Bin 0 -> 7290 bytes .../pdfjs/external/bcmaps/GBT-EUC-V.bcmap | Bin 0 -> 180 bytes .../vendor/pdfjs/external/bcmaps/GBT-H.bcmap | Bin 0 -> 7269 bytes .../vendor/pdfjs/external/bcmaps/GBT-V.bcmap | Bin 0 -> 176 bytes .../pdfjs/external/bcmaps/GBTpc-EUC-H.bcmap | Bin 0 -> 7298 bytes .../pdfjs/external/bcmaps/GBTpc-EUC-V.bcmap | Bin 0 -> 182 bytes .../pdfjs/external/bcmaps/GBpc-EUC-H.bcmap | Bin 0 -> 557 bytes .../pdfjs/external/bcmaps/GBpc-EUC-V.bcmap | Bin 0 -> 181 bytes public/vendor/pdfjs/external/bcmaps/H.bcmap | Bin 0 -> 553 bytes .../pdfjs/external/bcmaps/HKdla-B5-H.bcmap | Bin 0 -> 2654 bytes .../pdfjs/external/bcmaps/HKdla-B5-V.bcmap | Bin 0 -> 148 bytes .../pdfjs/external/bcmaps/HKdlb-B5-H.bcmap | Bin 0 -> 2414 bytes .../pdfjs/external/bcmaps/HKdlb-B5-V.bcmap | Bin 0 -> 148 bytes .../pdfjs/external/bcmaps/HKgccs-B5-H.bcmap | Bin 0 -> 2292 bytes .../pdfjs/external/bcmaps/HKgccs-B5-V.bcmap | Bin 0 -> 149 bytes .../pdfjs/external/bcmaps/HKm314-B5-H.bcmap | Bin 0 -> 1772 bytes .../pdfjs/external/bcmaps/HKm314-B5-V.bcmap | Bin 0 -> 149 bytes .../pdfjs/external/bcmaps/HKm471-B5-H.bcmap | Bin 0 -> 2171 bytes .../pdfjs/external/bcmaps/HKm471-B5-V.bcmap | Bin 0 -> 149 bytes .../pdfjs/external/bcmaps/HKscs-B5-H.bcmap | Bin 0 -> 4437 bytes .../pdfjs/external/bcmaps/HKscs-B5-V.bcmap | Bin 0 -> 159 bytes .../pdfjs/external/bcmaps/Hankaku.bcmap | Bin 0 -> 132 bytes .../pdfjs/external/bcmaps/Hiragana.bcmap | Bin 0 -> 124 bytes .../pdfjs/external/bcmaps/KSC-EUC-H.bcmap | Bin 0 -> 1848 bytes .../pdfjs/external/bcmaps/KSC-EUC-V.bcmap | Bin 0 -> 164 bytes .../vendor/pdfjs/external/bcmaps/KSC-H.bcmap | Bin 0 -> 1831 bytes .../pdfjs/external/bcmaps/KSC-Johab-H.bcmap | Bin 0 -> 16791 bytes .../pdfjs/external/bcmaps/KSC-Johab-V.bcmap | Bin 0 -> 166 bytes .../vendor/pdfjs/external/bcmaps/KSC-V.bcmap | Bin 0 -> 160 bytes .../pdfjs/external/bcmaps/KSCms-UHC-H.bcmap | Bin 0 -> 2787 bytes .../external/bcmaps/KSCms-UHC-HW-H.bcmap | Bin 0 -> 2789 bytes .../external/bcmaps/KSCms-UHC-HW-V.bcmap | Bin 0 -> 169 bytes .../pdfjs/external/bcmaps/KSCms-UHC-V.bcmap | Bin 0 -> 166 bytes .../pdfjs/external/bcmaps/KSCpc-EUC-H.bcmap | Bin 0 -> 2024 bytes .../pdfjs/external/bcmaps/KSCpc-EUC-V.bcmap | Bin 0 -> 166 bytes .../pdfjs/external/bcmaps/Katakana.bcmap | Bin 0 -> 100 bytes public/vendor/pdfjs/external/bcmaps/LICENSE | 36 + .../vendor/pdfjs/external/bcmaps/NWP-H.bcmap | Bin 0 -> 2765 bytes .../vendor/pdfjs/external/bcmaps/NWP-V.bcmap | Bin 0 -> 252 bytes .../vendor/pdfjs/external/bcmaps/RKSJ-H.bcmap | Bin 0 -> 534 bytes .../vendor/pdfjs/external/bcmaps/RKSJ-V.bcmap | Bin 0 -> 170 bytes .../vendor/pdfjs/external/bcmaps/Roman.bcmap | Bin 0 -> 96 bytes .../pdfjs/external/bcmaps/UniCNS-UCS2-H.bcmap | Bin 0 -> 48280 bytes .../pdfjs/external/bcmaps/UniCNS-UCS2-V.bcmap | Bin 0 -> 156 bytes .../external/bcmaps/UniCNS-UTF16-H.bcmap | Bin 0 -> 50419 bytes .../external/bcmaps/UniCNS-UTF16-V.bcmap | Bin 0 -> 156 bytes .../external/bcmaps/UniCNS-UTF32-H.bcmap | Bin 0 -> 52679 bytes .../external/bcmaps/UniCNS-UTF32-V.bcmap | Bin 0 -> 160 bytes .../pdfjs/external/bcmaps/UniCNS-UTF8-H.bcmap | Bin 0 -> 53629 bytes .../pdfjs/external/bcmaps/UniCNS-UTF8-V.bcmap | Bin 0 -> 157 bytes .../pdfjs/external/bcmaps/UniGB-UCS2-H.bcmap | Bin 0 -> 43366 bytes .../pdfjs/external/bcmaps/UniGB-UCS2-V.bcmap | Bin 0 -> 193 bytes .../pdfjs/external/bcmaps/UniGB-UTF16-H.bcmap | Bin 0 -> 44086 bytes .../pdfjs/external/bcmaps/UniGB-UTF16-V.bcmap | Bin 0 -> 178 bytes .../pdfjs/external/bcmaps/UniGB-UTF32-H.bcmap | Bin 0 -> 45738 bytes .../pdfjs/external/bcmaps/UniGB-UTF32-V.bcmap | Bin 0 -> 182 bytes .../pdfjs/external/bcmaps/UniGB-UTF8-H.bcmap | Bin 0 -> 46837 bytes .../pdfjs/external/bcmaps/UniGB-UTF8-V.bcmap | Bin 0 -> 181 bytes .../pdfjs/external/bcmaps/UniJIS-UCS2-H.bcmap | Bin 0 -> 25439 bytes .../external/bcmaps/UniJIS-UCS2-HW-H.bcmap | Bin 0 -> 119 bytes .../external/bcmaps/UniJIS-UCS2-HW-V.bcmap | Bin 0 -> 680 bytes .../pdfjs/external/bcmaps/UniJIS-UCS2-V.bcmap | Bin 0 -> 664 bytes .../external/bcmaps/UniJIS-UTF16-H.bcmap | Bin 0 -> 39443 bytes .../external/bcmaps/UniJIS-UTF16-V.bcmap | Bin 0 -> 643 bytes .../external/bcmaps/UniJIS-UTF32-H.bcmap | Bin 0 -> 40539 bytes .../external/bcmaps/UniJIS-UTF32-V.bcmap | Bin 0 -> 677 bytes .../pdfjs/external/bcmaps/UniJIS-UTF8-H.bcmap | Bin 0 -> 41695 bytes .../pdfjs/external/bcmaps/UniJIS-UTF8-V.bcmap | Bin 0 -> 678 bytes .../external/bcmaps/UniJIS2004-UTF16-H.bcmap | Bin 0 -> 39534 bytes .../external/bcmaps/UniJIS2004-UTF16-V.bcmap | Bin 0 -> 647 bytes .../external/bcmaps/UniJIS2004-UTF32-H.bcmap | Bin 0 -> 40630 bytes .../external/bcmaps/UniJIS2004-UTF32-V.bcmap | Bin 0 -> 681 bytes .../external/bcmaps/UniJIS2004-UTF8-H.bcmap | Bin 0 -> 41779 bytes .../external/bcmaps/UniJIS2004-UTF8-V.bcmap | Bin 0 -> 682 bytes .../external/bcmaps/UniJISPro-UCS2-HW-V.bcmap | Bin 0 -> 705 bytes .../external/bcmaps/UniJISPro-UCS2-V.bcmap | Bin 0 -> 689 bytes .../external/bcmaps/UniJISPro-UTF8-V.bcmap | Bin 0 -> 726 bytes .../external/bcmaps/UniJISX0213-UTF32-H.bcmap | Bin 0 -> 40517 bytes .../external/bcmaps/UniJISX0213-UTF32-V.bcmap | Bin 0 -> 684 bytes .../bcmaps/UniJISX02132004-UTF32-H.bcmap | Bin 0 -> 40608 bytes .../bcmaps/UniJISX02132004-UTF32-V.bcmap | Bin 0 -> 688 bytes .../pdfjs/external/bcmaps/UniKS-UCS2-H.bcmap | Bin 0 -> 25783 bytes .../pdfjs/external/bcmaps/UniKS-UCS2-V.bcmap | Bin 0 -> 178 bytes .../pdfjs/external/bcmaps/UniKS-UTF16-H.bcmap | Bin 0 -> 26327 bytes .../pdfjs/external/bcmaps/UniKS-UTF16-V.bcmap | Bin 0 -> 164 bytes .../pdfjs/external/bcmaps/UniKS-UTF32-H.bcmap | Bin 0 -> 26451 bytes .../pdfjs/external/bcmaps/UniKS-UTF32-V.bcmap | Bin 0 -> 168 bytes .../pdfjs/external/bcmaps/UniKS-UTF8-H.bcmap | Bin 0 -> 27790 bytes .../pdfjs/external/bcmaps/UniKS-UTF8-V.bcmap | Bin 0 -> 169 bytes public/vendor/pdfjs/external/bcmaps/V.bcmap | Bin 0 -> 166 bytes .../pdfjs/external/bcmaps/WP-Symbol.bcmap | Bin 0 -> 179 bytes .../vendor/pdfjs/external/builder/builder.js | 237 + .../pdfjs/external/cmapscompress/README.md | 171 + .../pdfjs/external/cmapscompress/compress.js | 437 + .../pdfjs/external/cmapscompress/optimize.js | 211 + .../pdfjs/external/cmapscompress/parse.js | 101 + .../pdfjs/external/crlfchecker/crlfchecker.js | 29 + .../pdfjs/external/importL10n/locales.js | 88 + .../vendor/pdfjs/external/jasmine/MIT.LICENSE | 20 + .../pdfjs/external/jasmine/jasmine-html.js | 676 + .../vendor/pdfjs/external/jasmine/jasmine.css | 81 + .../vendor/pdfjs/external/jasmine/jasmine.js | 2476 +++ .../external/jasmine/jasmine_favicon.png | Bin 0 -> 776 bytes public/vendor/pdfjs/external/jpgjs/LICENSE | 17 + public/vendor/pdfjs/external/jpgjs/jpg.js | 961 + public/vendor/pdfjs/external/shelljs/LICENSE | 26 + .../vendor/pdfjs/external/shelljs/README.md | 512 + .../vendor/pdfjs/external/shelljs/global.js | 3 + public/vendor/pdfjs/external/shelljs/make.js | 48 + .../pdfjs/external/shelljs/package.json | 32 + public/vendor/pdfjs/external/shelljs/shell.js | 1880 ++ .../vendor/pdfjs/external/webL10n/README.md | 3 + public/vendor/pdfjs/external/webL10n/l10n.js | 1004 ++ public/vendor/pdfjs/l10n/README.md | 5 + .../vendor/pdfjs/l10n/ach/chrome.properties | 18 + .../vendor/pdfjs/l10n/ach/viewer.properties | 97 + public/vendor/pdfjs/l10n/af/chrome.properties | 18 + public/vendor/pdfjs/l10n/af/viewer.properties | 140 + public/vendor/pdfjs/l10n/ak/chrome.properties | 18 + public/vendor/pdfjs/l10n/ak/viewer.properties | 123 + public/vendor/pdfjs/l10n/an/chrome.properties | 19 + public/vendor/pdfjs/l10n/an/viewer.properties | 161 + public/vendor/pdfjs/l10n/ar/chrome.properties | 19 + public/vendor/pdfjs/l10n/ar/metadata.inc | 8 + public/vendor/pdfjs/l10n/ar/viewer.properties | 161 + public/vendor/pdfjs/l10n/as/chrome.properties | 19 + public/vendor/pdfjs/l10n/as/viewer.properties | 161 + .../vendor/pdfjs/l10n/ast/chrome.properties | 7 + .../vendor/pdfjs/l10n/ast/viewer.properties | 73 + public/vendor/pdfjs/l10n/az/chrome.properties | 18 + public/vendor/pdfjs/l10n/az/viewer.properties | 139 + public/vendor/pdfjs/l10n/be/chrome.properties | 4 + public/vendor/pdfjs/l10n/be/viewer.properties | 103 + public/vendor/pdfjs/l10n/bg/chrome.properties | 18 + public/vendor/pdfjs/l10n/bg/viewer.properties | 124 + .../vendor/pdfjs/l10n/bn-BD/chrome.properties | 18 + public/vendor/pdfjs/l10n/bn-BD/metadata.inc | 8 + .../vendor/pdfjs/l10n/bn-BD/viewer.properties | 139 + .../vendor/pdfjs/l10n/bn-IN/chrome.properties | 18 + .../vendor/pdfjs/l10n/bn-IN/viewer.properties | 139 + public/vendor/pdfjs/l10n/br/chrome.properties | 19 + public/vendor/pdfjs/l10n/br/viewer.properties | 161 + public/vendor/pdfjs/l10n/bs/chrome.properties | 8 + public/vendor/pdfjs/l10n/bs/viewer.properties | 125 + public/vendor/pdfjs/l10n/ca/chrome.properties | 19 + public/vendor/pdfjs/l10n/ca/metadata.inc | 8 + public/vendor/pdfjs/l10n/ca/viewer.properties | 161 + public/vendor/pdfjs/l10n/cs/chrome.properties | 19 + public/vendor/pdfjs/l10n/cs/metadata.inc | 8 + public/vendor/pdfjs/l10n/cs/viewer.properties | 161 + .../vendor/pdfjs/l10n/csb/chrome.properties | 8 + .../vendor/pdfjs/l10n/csb/viewer.properties | 134 + public/vendor/pdfjs/l10n/cy/chrome.properties | 19 + public/vendor/pdfjs/l10n/cy/metadata.inc | 8 + public/vendor/pdfjs/l10n/cy/viewer.properties | 161 + public/vendor/pdfjs/l10n/da/chrome.properties | 9 + public/vendor/pdfjs/l10n/da/metadata.inc | 8 + public/vendor/pdfjs/l10n/da/viewer.properties | 161 + public/vendor/pdfjs/l10n/de/chrome.properties | 19 + public/vendor/pdfjs/l10n/de/metadata.inc | 8 + public/vendor/pdfjs/l10n/de/viewer.properties | 161 + public/vendor/pdfjs/l10n/el/chrome.properties | 9 + public/vendor/pdfjs/l10n/el/metadata.inc | 8 + public/vendor/pdfjs/l10n/el/viewer.properties | 131 + .../vendor/pdfjs/l10n/en-GB/chrome.properties | 19 + .../vendor/pdfjs/l10n/en-GB/viewer.properties | 161 + .../vendor/pdfjs/l10n/en-US/chrome.properties | 19 + public/vendor/pdfjs/l10n/en-US/metadata.inc | 8 + .../vendor/pdfjs/l10n/en-US/viewer.properties | 161 + .../vendor/pdfjs/l10n/en-ZA/chrome.properties | 19 + .../vendor/pdfjs/l10n/en-ZA/viewer.properties | 161 + public/vendor/pdfjs/l10n/eo/chrome.properties | 19 + public/vendor/pdfjs/l10n/eo/viewer.properties | 161 + .../vendor/pdfjs/l10n/es-AR/chrome.properties | 19 + .../vendor/pdfjs/l10n/es-AR/viewer.properties | 167 + .../vendor/pdfjs/l10n/es-CL/chrome.properties | 19 + .../vendor/pdfjs/l10n/es-CL/viewer.properties | 126 + .../vendor/pdfjs/l10n/es-ES/chrome.properties | 8 + .../vendor/pdfjs/l10n/es-ES/viewer.properties | 107 + .../vendor/pdfjs/l10n/es-MX/chrome.properties | 19 + .../vendor/pdfjs/l10n/es-MX/viewer.properties | 161 + public/vendor/pdfjs/l10n/et/chrome.properties | 19 + public/vendor/pdfjs/l10n/et/viewer.properties | 161 + public/vendor/pdfjs/l10n/eu/chrome.properties | 18 + public/vendor/pdfjs/l10n/eu/viewer.properties | 136 + public/vendor/pdfjs/l10n/fa/chrome.properties | 18 + public/vendor/pdfjs/l10n/fa/metadata.inc | 8 + public/vendor/pdfjs/l10n/fa/viewer.properties | 102 + public/vendor/pdfjs/l10n/ff/chrome.properties | 18 + public/vendor/pdfjs/l10n/ff/viewer.properties | 123 + public/vendor/pdfjs/l10n/fi/chrome.properties | 19 + public/vendor/pdfjs/l10n/fi/metadata.inc | 8 + public/vendor/pdfjs/l10n/fi/viewer.properties | 161 + public/vendor/pdfjs/l10n/fr/chrome.properties | 18 + public/vendor/pdfjs/l10n/fr/metadata.inc | 7 + public/vendor/pdfjs/l10n/fr/viewer.properties | 161 + .../vendor/pdfjs/l10n/fy-NL/chrome.properties | 9 + .../vendor/pdfjs/l10n/fy-NL/viewer.properties | 167 + .../vendor/pdfjs/l10n/ga-IE/chrome.properties | 19 + .../vendor/pdfjs/l10n/ga-IE/viewer.properties | 161 + public/vendor/pdfjs/l10n/gd/chrome.properties | 19 + public/vendor/pdfjs/l10n/gd/viewer.properties | 161 + public/vendor/pdfjs/l10n/gl/chrome.properties | 8 + public/vendor/pdfjs/l10n/gl/viewer.properties | 124 + .../vendor/pdfjs/l10n/gu-IN/chrome.properties | 10 + .../vendor/pdfjs/l10n/gu-IN/viewer.properties | 108 + public/vendor/pdfjs/l10n/he/chrome.properties | 20 + public/vendor/pdfjs/l10n/he/metadata.inc | 8 + public/vendor/pdfjs/l10n/he/viewer.properties | 150 + .../vendor/pdfjs/l10n/hi-IN/chrome.properties | 18 + .../vendor/pdfjs/l10n/hi-IN/viewer.properties | 139 + public/vendor/pdfjs/l10n/hr/chrome.properties | 18 + public/vendor/pdfjs/l10n/hr/viewer.properties | 139 + public/vendor/pdfjs/l10n/hu/chrome.properties | 19 + public/vendor/pdfjs/l10n/hu/viewer.properties | 161 + .../vendor/pdfjs/l10n/hy-AM/chrome.properties | 19 + .../vendor/pdfjs/l10n/hy-AM/viewer.properties | 161 + public/vendor/pdfjs/l10n/id/chrome.properties | 19 + public/vendor/pdfjs/l10n/id/viewer.properties | 167 + public/vendor/pdfjs/l10n/is/chrome.properties | 19 + public/vendor/pdfjs/l10n/is/viewer.properties | 161 + public/vendor/pdfjs/l10n/it/chrome.properties | 8 + public/vendor/pdfjs/l10n/it/metadata.inc | 8 + public/vendor/pdfjs/l10n/it/viewer.properties | 107 + public/vendor/pdfjs/l10n/ja/chrome.properties | 19 + public/vendor/pdfjs/l10n/ja/metadata.inc | 8 + public/vendor/pdfjs/l10n/ja/viewer.properties | 161 + public/vendor/pdfjs/l10n/ka/chrome.properties | 18 + public/vendor/pdfjs/l10n/ka/viewer.properties | 124 + public/vendor/pdfjs/l10n/kk/chrome.properties | 19 + public/vendor/pdfjs/l10n/kk/viewer.properties | 161 + public/vendor/pdfjs/l10n/km/chrome.properties | 19 + public/vendor/pdfjs/l10n/km/viewer.properties | 161 + public/vendor/pdfjs/l10n/kn/chrome.properties | 18 + public/vendor/pdfjs/l10n/kn/viewer.properties | 123 + public/vendor/pdfjs/l10n/ko/chrome.properties | 19 + public/vendor/pdfjs/l10n/ko/metadata.inc | 8 + public/vendor/pdfjs/l10n/ko/viewer.properties | 161 + public/vendor/pdfjs/l10n/ku/chrome.properties | 18 + public/vendor/pdfjs/l10n/ku/viewer.properties | 136 + public/vendor/pdfjs/l10n/lg/chrome.properties | 18 + public/vendor/pdfjs/l10n/lg/viewer.properties | 100 + .../vendor/pdfjs/l10n/lij/chrome.properties | 7 + .../vendor/pdfjs/l10n/lij/viewer.properties | 94 + public/vendor/pdfjs/l10n/lt/chrome.properties | 19 + public/vendor/pdfjs/l10n/lt/metadata.inc | 8 + public/vendor/pdfjs/l10n/lt/viewer.properties | 161 + public/vendor/pdfjs/l10n/lv/chrome.properties | 9 + public/vendor/pdfjs/l10n/lv/viewer.properties | 157 + .../vendor/pdfjs/l10n/mai/chrome.properties | 18 + .../vendor/pdfjs/l10n/mai/viewer.properties | 123 + public/vendor/pdfjs/l10n/mk/chrome.properties | 9 + public/vendor/pdfjs/l10n/mk/viewer.properties | 126 + public/vendor/pdfjs/l10n/ml/chrome.properties | 18 + public/vendor/pdfjs/l10n/ml/viewer.properties | 136 + public/vendor/pdfjs/l10n/mn/chrome.properties | 15 + public/vendor/pdfjs/l10n/mn/viewer.properties | 65 + public/vendor/pdfjs/l10n/mr/chrome.properties | 18 + public/vendor/pdfjs/l10n/mr/viewer.properties | 119 + public/vendor/pdfjs/l10n/ms/chrome.properties | 19 + public/vendor/pdfjs/l10n/ms/viewer.properties | 161 + public/vendor/pdfjs/l10n/my/chrome.properties | 18 + public/vendor/pdfjs/l10n/my/viewer.properties | 123 + .../vendor/pdfjs/l10n/nb-NO/chrome.properties | 19 + .../vendor/pdfjs/l10n/nb-NO/viewer.properties | 161 + public/vendor/pdfjs/l10n/nl/chrome.properties | 19 + public/vendor/pdfjs/l10n/nl/metadata.inc | 8 + public/vendor/pdfjs/l10n/nl/viewer.properties | 161 + .../vendor/pdfjs/l10n/nn-NO/chrome.properties | 8 + .../vendor/pdfjs/l10n/nn-NO/viewer.properties | 136 + .../vendor/pdfjs/l10n/nso/chrome.properties | 18 + .../vendor/pdfjs/l10n/nso/viewer.properties | 123 + public/vendor/pdfjs/l10n/oc/chrome.properties | 19 + public/vendor/pdfjs/l10n/oc/viewer.properties | 161 + public/vendor/pdfjs/l10n/or/chrome.properties | 18 + public/vendor/pdfjs/l10n/or/viewer.properties | 139 + .../vendor/pdfjs/l10n/pa-IN/chrome.properties | 10 + .../vendor/pdfjs/l10n/pa-IN/viewer.properties | 175 + public/vendor/pdfjs/l10n/pl/chrome.properties | 9 + public/vendor/pdfjs/l10n/pl/metadata.inc | 8 + public/vendor/pdfjs/l10n/pl/viewer.properties | 149 + .../vendor/pdfjs/l10n/pt-BR/chrome.properties | 19 + public/vendor/pdfjs/l10n/pt-BR/metadata.inc | 8 + .../vendor/pdfjs/l10n/pt-BR/viewer.properties | 161 + .../vendor/pdfjs/l10n/pt-PT/chrome.properties | 19 + .../vendor/pdfjs/l10n/pt-PT/viewer.properties | 166 + public/vendor/pdfjs/l10n/rm/chrome.properties | 8 + public/vendor/pdfjs/l10n/rm/viewer.properties | 127 + public/vendor/pdfjs/l10n/ro/chrome.properties | 27 + public/vendor/pdfjs/l10n/ro/metadata.inc | 8 + public/vendor/pdfjs/l10n/ro/viewer.properties | 156 + public/vendor/pdfjs/l10n/ru/chrome.properties | 8 + public/vendor/pdfjs/l10n/ru/metadata.inc | 8 + public/vendor/pdfjs/l10n/ru/viewer.properties | 107 + public/vendor/pdfjs/l10n/rw/chrome.properties | 18 + public/vendor/pdfjs/l10n/rw/viewer.properties | 123 + .../vendor/pdfjs/l10n/sah/chrome.properties | 18 + .../vendor/pdfjs/l10n/sah/viewer.properties | 122 + public/vendor/pdfjs/l10n/si/chrome.properties | 17 + public/vendor/pdfjs/l10n/si/viewer.properties | 98 + public/vendor/pdfjs/l10n/sk/chrome.properties | 19 + public/vendor/pdfjs/l10n/sk/viewer.properties | 161 + public/vendor/pdfjs/l10n/sl/chrome.properties | 8 + public/vendor/pdfjs/l10n/sl/viewer.properties | 136 + .../vendor/pdfjs/l10n/son/chrome.properties | 18 + .../vendor/pdfjs/l10n/son/viewer.properties | 120 + public/vendor/pdfjs/l10n/sq/chrome.properties | 19 + public/vendor/pdfjs/l10n/sq/viewer.properties | 160 + public/vendor/pdfjs/l10n/sr/chrome.properties | 19 + public/vendor/pdfjs/l10n/sr/metadata.inc | 8 + public/vendor/pdfjs/l10n/sr/viewer.properties | 161 + .../vendor/pdfjs/l10n/sv-SE/chrome.properties | 19 + public/vendor/pdfjs/l10n/sv-SE/metadata.inc | 7 + .../vendor/pdfjs/l10n/sv-SE/viewer.properties | 161 + public/vendor/pdfjs/l10n/sw/chrome.properties | 18 + public/vendor/pdfjs/l10n/sw/viewer.properties | 121 + .../vendor/pdfjs/l10n/ta-LK/chrome.properties | 3 + .../vendor/pdfjs/l10n/ta-LK/viewer.properties | 50 + public/vendor/pdfjs/l10n/ta/chrome.properties | 19 + public/vendor/pdfjs/l10n/ta/viewer.properties | 161 + public/vendor/pdfjs/l10n/te/chrome.properties | 18 + public/vendor/pdfjs/l10n/te/viewer.properties | 145 + public/vendor/pdfjs/l10n/th/chrome.properties | 19 + public/vendor/pdfjs/l10n/th/viewer.properties | 161 + public/vendor/pdfjs/l10n/tl/chrome.properties | 17 + public/vendor/pdfjs/l10n/tl/viewer.properties | 83 + public/vendor/pdfjs/l10n/tn/chrome.properties | 15 + public/vendor/pdfjs/l10n/tn/viewer.properties | 68 + public/vendor/pdfjs/l10n/tr/chrome.properties | 19 + public/vendor/pdfjs/l10n/tr/metadata.inc | 8 + public/vendor/pdfjs/l10n/tr/viewer.properties | 161 + public/vendor/pdfjs/l10n/uk/chrome.properties | 18 + public/vendor/pdfjs/l10n/uk/viewer.properties | 136 + public/vendor/pdfjs/l10n/ur/chrome.properties | 19 + public/vendor/pdfjs/l10n/ur/viewer.properties | 161 + public/vendor/pdfjs/l10n/vi/chrome.properties | 18 + public/vendor/pdfjs/l10n/vi/metadata.inc | 8 + public/vendor/pdfjs/l10n/vi/viewer.properties | 120 + public/vendor/pdfjs/l10n/wo/chrome.properties | 18 + public/vendor/pdfjs/l10n/wo/viewer.properties | 116 + public/vendor/pdfjs/l10n/xh/chrome.properties | 19 + public/vendor/pdfjs/l10n/xh/viewer.properties | 161 + .../vendor/pdfjs/l10n/zh-CN/chrome.properties | 19 + public/vendor/pdfjs/l10n/zh-CN/metadata.inc | 8 + .../vendor/pdfjs/l10n/zh-CN/viewer.properties | 161 + .../vendor/pdfjs/l10n/zh-TW/chrome.properties | 20 + public/vendor/pdfjs/l10n/zh-TW/metadata.inc | 8 + .../vendor/pdfjs/l10n/zh-TW/viewer.properties | 162 + public/vendor/pdfjs/l10n/zu/chrome.properties | 18 + public/vendor/pdfjs/l10n/zu/viewer.properties | 124 + public/vendor/pdfjs/make.js | 1341 ++ public/vendor/pdfjs/package.json | 21 + .../pdfjs/src/core/arithmetic_decoder.js | 185 + public/vendor/pdfjs/src/core/bidi.js | 463 + public/vendor/pdfjs/src/core/charsets.js | 119 + .../vendor/pdfjs/src/core/chunked_stream.js | 526 + public/vendor/pdfjs/src/core/cidmaps.js | 6948 +++++++ public/vendor/pdfjs/src/core/cmap.js | 853 + public/vendor/pdfjs/src/core/core.js | 544 + public/vendor/pdfjs/src/core/crypto.js | 701 + public/vendor/pdfjs/src/core/evaluator.js | 1996 ++ public/vendor/pdfjs/src/core/font_renderer.js | 713 + public/vendor/pdfjs/src/core/fonts.js | 6907 +++++++ public/vendor/pdfjs/src/core/glyphlist.js | 4226 +++++ public/vendor/pdfjs/src/core/image.js | 597 + public/vendor/pdfjs/src/core/jbig2.js | 1101 ++ public/vendor/pdfjs/src/core/jpx.js | 1858 ++ public/vendor/pdfjs/src/core/metrics.js | 2961 +++ public/vendor/pdfjs/src/core/network.js | 242 + public/vendor/pdfjs/src/core/obj.js | 1452 ++ public/vendor/pdfjs/src/core/parser.js | 876 + public/vendor/pdfjs/src/core/pattern.js | 831 + public/vendor/pdfjs/src/core/pdf_manager.js | 217 + public/vendor/pdfjs/src/core/ps_parser.js | 214 + public/vendor/pdfjs/src/core/stream.js | 2446 +++ public/vendor/pdfjs/src/core/worker.js | 455 + public/vendor/pdfjs/src/display/api.js | 1280 ++ public/vendor/pdfjs/src/display/canvas.js | 2267 +++ .../vendor/pdfjs/src/display/font_loader.js | 321 + public/vendor/pdfjs/src/display/metadata.js | 99 + .../pdfjs/src/display/pattern_helper.js | 427 + public/vendor/pdfjs/src/display/webgl.js | 428 + public/vendor/pdfjs/src/images/logo.svg | 41 + public/vendor/pdfjs/src/pdf.js | 50 + public/vendor/pdfjs/src/shared/annotation.js | 855 + .../pdfjs/src/shared/cffStandardStrings.js | 314 + public/vendor/pdfjs/src/shared/colorspace.js | 935 + public/vendor/pdfjs/src/shared/fonts_utils.js | 433 + public/vendor/pdfjs/src/shared/function.js | 731 + public/vendor/pdfjs/src/shared/util.js | 1417 ++ public/vendor/pdfjs/src/worker_loader.js | 81 + public/vendor/pdfjs/test/.gitignore | 4 + public/vendor/pdfjs/test/downloadutils.js | 173 + public/vendor/pdfjs/test/driver.js | 457 + public/vendor/pdfjs/test/features/index.html | 116 + public/vendor/pdfjs/test/features/tests.js | 720 + .../vendor/pdfjs/test/features/worker-stub.js | 45 + .../vendor/pdfjs/test/font/font_core_spec.js | 17 + .../vendor/pdfjs/test/font/font_fpgm_spec.js | 23 + .../vendor/pdfjs/test/font/font_os2_spec.js | 40 + .../vendor/pdfjs/test/font/font_post_spec.js | 57 + public/vendor/pdfjs/test/font/font_test.html | 102 + public/vendor/pdfjs/test/font/fontutils.js | 92 + public/vendor/pdfjs/test/font/ttxdriver.js | 86 + .../vendor/pdfjs/test/mozcentral/Makefile.in | 19 + .../test/mozcentral/browser_pdfjs_main.js | 81 + .../mozcentral/browser_pdfjs_savedialog.js | 65 + .../pdfjs/test/mozcentral/file_pdfjs_test.pdf | Bin 0 -> 14234 bytes public/vendor/pdfjs/test/pdfs/.gitattributes | 1 + public/vendor/pdfjs/test/pdfs/.gitignore | 70 + .../pdfjs/test/pdfs/20130226130259.pdf.link | 1 + .../pdfjs/test/pdfs/ArabicCIDTrueType.pdf | Bin 0 -> 39370 bytes .../pdfjs/test/pdfs/DiwanProfile.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/JST2007-5.pdf.link | 1 + .../test/pdfs/P020121130574743273239.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/S2.pdf | 2549 +++ .../pdfjs/test/pdfs/SFAA_Japanese.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/TAMReview.pdf | Bin 0 -> 674629 bytes .../test/pdfs/TaroUTR50SortedList112.pdf.link | 1 + .../pdfjs/test/pdfs/ThuluthFeatures.pdf | Bin 0 -> 117677 bytes .../pdfjs/test/pdfs/aboutstacks.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/alphatrans.pdf | Bin 0 -> 16910 bytes .../pdfjs/test/pdfs/annotation-as.pdf.link | 1 + .../test/pdfs/arial_unicode_ab_cidfont.pdf | Bin 0 -> 13110 bytes .../test/pdfs/arial_unicode_en_cidfont.pdf | Bin 0 -> 15779 bytes .../vendor/pdfjs/test/pdfs/artofwar.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/asciihexdecode.pdf | 55 + public/vendor/pdfjs/test/pdfs/basicapi.pdf | Bin 0 -> 105779 bytes .../vendor/pdfjs/test/pdfs/bpl13210.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/bug766138.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/bug808084.pdf.link | 2 + public/vendor/pdfjs/test/pdfs/bug859204.pdf | Bin 0 -> 42569 bytes public/vendor/pdfjs/test/pdfs/bug860632.pdf | Bin 0 -> 33087 bytes public/vendor/pdfjs/test/pdfs/bug864847.pdf | 98 + .../vendor/pdfjs/test/pdfs/bug867484.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/bug868745.pdf | Bin 0 -> 23766 bytes .../vendor/pdfjs/test/pdfs/bug878194.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/bug887152.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/bug888437.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/bug889327.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/bug900822.pdf | Bin 0 -> 166510 bytes public/vendor/pdfjs/test/pdfs/bug903856.pdf | Bin 0 -> 8439 bytes .../vendor/pdfjs/test/pdfs/bug921760.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/bug946506.pdf | Bin 0 -> 20555 bytes public/vendor/pdfjs/test/pdfs/cable.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/canvas.pdf | Bin 0 -> 150904 bytes .../vendor/pdfjs/test/pdfs/close-path-bug.pdf | 69 + public/vendor/pdfjs/test/pdfs/cmykjpeg.pdf | 2178 +++ .../pdfjs/test/pdfs/complex_ttf_font.pdf | 575 + public/vendor/pdfjs/test/pdfs/devicen.pdf | Bin 0 -> 15751 bytes .../vendor/pdfjs/test/pdfs/ecma262.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/endchar.pdf | Bin 0 -> 18985 bytes public/vendor/pdfjs/test/pdfs/extgstate.pdf | 116 + public/vendor/pdfjs/test/pdfs/f1040.pdf.link | 1 + .../pdfjs/test/pdfs/filled-background.pdf | 114 + .../vendor/pdfjs/test/pdfs/fips197.pdf.link | 1 + .../pdfjs/test/pdfs/fit11-talk.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/freeculture.pdf | Bin 0 -> 2598727 bytes .../pdfjs/test/pdfs/geothermal.pdf.link | 1 + .../pdfjs/test/pdfs/german-umlaut.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/gesamt.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/gradientfill.pdf | Bin 0 -> 1444 bytes .../vendor/pdfjs/test/pdfs/helloworld-bad.pdf | 68 + public/vendor/pdfjs/test/pdfs/hmm.pdf.link | 1 + .../pdfjs/test/pdfs/html5checker.pdf.link | 1 + .../pdfjs/test/pdfs/hudsonsurvey.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/i9.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/ibwa-bad.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/ichiji.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/intelisa.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue1002.pdf | Bin 0 -> 19172 bytes .../vendor/pdfjs/test/pdfs/issue1010.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1015.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1049.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1055.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1096.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1127.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1133.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1155.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1169.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue1171.pdf | Bin 0 -> 1939 bytes .../vendor/pdfjs/test/pdfs/issue1233.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1243.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue1249.pdf | Bin 0 -> 68783 bytes .../vendor/pdfjs/test/pdfs/issue1257.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1293.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1309.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1317.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue1350.pdf | 2184 +++ .../vendor/pdfjs/test/pdfs/issue1419.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1466.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1512.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1597.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1629.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1655.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1658.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1685.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1687.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1709.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1721.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1729.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1796.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1810.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1878.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue1905.pdf | Bin 0 -> 918339 bytes .../vendor/pdfjs/test/pdfs/issue1912.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue1936.pdf.link | 2 + .../vendor/pdfjs/test/pdfs/issue1998.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2006.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue2074.pdf | Bin 0 -> 39478 bytes public/vendor/pdfjs/test/pdfs/issue2099-1.pdf | 137 + .../vendor/pdfjs/test/pdfs/issue2128.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2129.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2139.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2337.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2386.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue2391-1.pdf | 131 + public/vendor/pdfjs/test/pdfs/issue2391-2.pdf | 130 + .../vendor/pdfjs/test/pdfs/issue2442.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2531.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2537.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2627.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2642.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2770.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2799.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2829.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue2833.pdf | Bin 0 -> 5615 bytes .../vendor/pdfjs/test/pdfs/issue2853.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue2881.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue2956.pdf | Bin 0 -> 103556 bytes .../vendor/pdfjs/test/pdfs/issue2984.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue3025.pdf | Bin 0 -> 7467 bytes .../vendor/pdfjs/test/pdfs/issue3062.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue3064.pdf.link | 2 + .../vendor/pdfjs/test/pdfs/issue3115.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue3205.pdf.link | 2 + .../vendor/pdfjs/test/pdfs/issue3207.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue3263.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue3371.pdf | Bin 0 -> 12323 bytes .../vendor/pdfjs/test/pdfs/issue3384.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue3405.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue3427.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue3438.pdf | Bin 0 -> 70033 bytes .../vendor/pdfjs/test/pdfs/issue3666.pdf.link | 2 + .../vendor/pdfjs/test/pdfs/issue3848.pdf.link | 2 + .../vendor/pdfjs/test/pdfs/issue3879.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue3885.pdf | Bin 0 -> 6988 bytes .../vendor/pdfjs/test/pdfs/issue3903.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue3925.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/issue3999.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue4246.pdf | Bin 0 -> 7068 bytes .../vendor/pdfjs/test/pdfs/issue4436.pdf.link | 2 + public/vendor/pdfjs/test/pdfs/issue4461.pdf | 35 + .../vendor/pdfjs/test/pdfs/issue818.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue840.pdf | Bin 0 -> 152333 bytes .../vendor/pdfjs/test/pdfs/issue845.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue918.pdf | Bin 0 -> 52483 bytes .../vendor/pdfjs/test/pdfs/issue919.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/issue925.pdf | Bin 0 -> 80185 bytes public/vendor/pdfjs/test/pdfs/jai.pdf.link | 1 + .../pdfjs/test/pdfs/javauninstall-7.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/kdchart.pdf.link | 1 + .../test/pdfs/link-annotation-border.pdf.link | 1 + .../pdfjs/test/pdfs/liveprogramming.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/mao.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/mixedfonts.pdf | Bin 0 -> 405432 bytes .../vendor/pdfjs/test/pdfs/noembed-eucjp.pdf | Bin 0 -> 1472 bytes .../pdfjs/test/pdfs/noembed-identity-2.pdf | Bin 0 -> 2147 bytes .../pdfjs/test/pdfs/noembed-identity.pdf | Bin 0 -> 3054 bytes .../vendor/pdfjs/test/pdfs/noembed-jis7.pdf | Bin 0 -> 15306 bytes .../vendor/pdfjs/test/pdfs/noembed-sjis.pdf | Bin 0 -> 1472 bytes public/vendor/pdfjs/test/pdfs/ocs.pdf.link | 1 + .../pdfjs/test/pdfs/ohkubo-SS04.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/pal-o47.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/pdf.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/pdfjsbad1586.pdf | Bin 0 -> 7911 bytes .../pdfjs/test/pdfs/pdfkit_compressed.pdf | Bin 0 -> 8286 bytes public/vendor/pdfjs/test/pdfs/pdkids.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/personwithdog.pdf | 2846 +++ .../vendor/pdfjs/test/pdfs/piperine.pdf.link | 1 + .../pdfjs/test/pdfs/preistabelle.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/protectip.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/rotated.pdf | Bin 0 -> 12963 bytes public/vendor/pdfjs/test/pdfs/rotation.pdf | Bin 0 -> 6605 bytes public/vendor/pdfjs/test/pdfs/scan-bad.pdf | Bin 0 -> 29832 bytes .../vendor/pdfjs/test/pdfs/shading_extend.pdf | Bin 0 -> 9514 bytes .../vendor/pdfjs/test/pdfs/shavian.pdf.link | 1 + .../pdfjs/test/pdfs/simpletype3font.pdf | 141 + public/vendor/pdfjs/test/pdfs/sizes.pdf | Bin 0 -> 13739 bytes public/vendor/pdfjs/test/pdfs/smaskdim.pdf | Bin 0 -> 29745 bytes .../vendor/pdfjs/test/pdfs/tcpdf_033.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/tracemonkey.pdf | Bin 0 -> 1016315 bytes .../vendor/pdfjs/test/pdfs/tutorial.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/txt2pdf.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/type4psfunc.pdf | Bin 0 -> 25751 bytes public/vendor/pdfjs/test/pdfs/unix01.pdf.link | 1 + .../pdfjs/test/pdfs/usmanm-bad.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/vertical.pdf | Bin 0 -> 6905 bytes public/vendor/pdfjs/test/pdfs/vesta.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/wdsg_fitc.pdf.link | 1 + .../pdfjs/test/pdfs/wnv_chinese.pdf.link | 1 + public/vendor/pdfjs/test/pdfs/yo01.pdf.link | 1 + .../vendor/pdfjs/test/pdfs/zerowidthline.pdf | Bin 0 -> 6569 bytes public/vendor/pdfjs/test/reporter.js | 50 + .../resources/browser_manifests/.gitignore | 2 + .../browser_manifest.json.linux | 10 + .../browser_manifest.json.mac | 14 + .../browser_manifest.json.windows | 10 + .../vendor/pdfjs/test/resources/favicon.ico | Bin 0 -> 1406 bytes .../chrome.manifest | 4 + .../specialpowers/content/specialpowers.js | 372 + .../components/SpecialPowersObserver.js | 293 + .../special-powers@mozilla.org/install.rdf | 26 + .../pdfjs/test/resources/firefox/prefs.js | 1 + .../pdfjs/test/resources/firefox/user.js | 40 + .../pdfjs/test/resources/reftest-analyzer.css | 177 + .../test/resources/reftest-analyzer.html | 175 + .../pdfjs/test/resources/reftest-analyzer.js | 482 + .../pdfjs/test/stats/results/.gitignore | 5 + public/vendor/pdfjs/test/stats/statcmp.py | 198 + public/vendor/pdfjs/test/test.js | 723 + public/vendor/pdfjs/test/test_manifest.json | 1588 ++ public/vendor/pdfjs/test/test_slave.html | 50 + public/vendor/pdfjs/test/testutils.js | 146 + public/vendor/pdfjs/test/ttx/README.md | 3 + public/vendor/pdfjs/test/unit/api_spec.js | 114 + public/vendor/pdfjs/test/unit/cmap_spec.js | 103 + public/vendor/pdfjs/test/unit/crypto_spec.js | 253 + .../vendor/pdfjs/test/unit/evaluator_spec.js | 181 + public/vendor/pdfjs/test/unit/font_spec.js | 399 + .../vendor/pdfjs/test/unit/function_spec.js | 237 + .../vendor/pdfjs/test/unit/metadata_spec.js | 19 + public/vendor/pdfjs/test/unit/obj_spec.js | 151 + public/vendor/pdfjs/test/unit/parser_spec.js | 77 + public/vendor/pdfjs/test/unit/stream_spec.js | 44 + public/vendor/pdfjs/test/unit/testreporter.js | 79 + public/vendor/pdfjs/test/unit/unit_test.html | 107 + public/vendor/pdfjs/test/unit/util_spec.js | 81 + public/vendor/pdfjs/test/webbrowser.js | 162 + public/vendor/pdfjs/test/webserver.js | 255 + public/vendor/pdfjs/web/.gitignore | 4 + public/vendor/pdfjs/web/chromecom.js | 48 + public/vendor/pdfjs/web/compatibility.js | 559 + .../web/compressed.tracemonkey-pldi-09.pdf | Bin 0 -> 1016315 bytes public/vendor/pdfjs/web/debugger.js | 628 + .../vendor/pdfjs/web/default_preferences.js | 27 + .../vendor/pdfjs/web/document_properties.js | 208 + public/vendor/pdfjs/web/download_manager.js | 90 + public/vendor/pdfjs/web/firefoxcom.js | 120 + public/vendor/pdfjs/web/grab_to_pan.js | 216 + public/vendor/pdfjs/web/hand_tool.js | 75 + .../pdfjs/web/images/annotation-check.svg | 11 + .../pdfjs/web/images/annotation-comment.svg | 16 + .../pdfjs/web/images/annotation-help.svg | 26 + .../pdfjs/web/images/annotation-insert.svg | 10 + .../pdfjs/web/images/annotation-key.svg | 11 + .../web/images/annotation-newparagraph.svg | 11 + .../pdfjs/web/images/annotation-noicon.svg | 7 + .../pdfjs/web/images/annotation-note.svg | 42 + .../pdfjs/web/images/annotation-paragraph.svg | 16 + .../web/images/findbarButton-next-rtl.png | Bin 0 -> 199 bytes .../web/images/findbarButton-next-rtl@2x.png | Bin 0 -> 304 bytes .../pdfjs/web/images/findbarButton-next.png | Bin 0 -> 193 bytes .../web/images/findbarButton-next@2x.png | Bin 0 -> 296 bytes .../web/images/findbarButton-previous-rtl.png | Bin 0 -> 193 bytes .../images/findbarButton-previous-rtl@2x.png | Bin 0 -> 296 bytes .../web/images/findbarButton-previous.png | Bin 0 -> 199 bytes .../web/images/findbarButton-previous@2x.png | Bin 0 -> 304 bytes public/vendor/pdfjs/web/images/grab.cur | Bin 0 -> 326 bytes public/vendor/pdfjs/web/images/grabbing.cur | Bin 0 -> 326 bytes .../vendor/pdfjs/web/images/loading-icon.gif | Bin 0 -> 2545 bytes .../vendor/pdfjs/web/images/loading-small.png | Bin 0 -> 3612 bytes ...ondaryToolbarButton-documentProperties.png | Bin 0 -> 403 bytes ...aryToolbarButton-documentProperties@2x.png | Bin 0 -> 933 bytes .../secondaryToolbarButton-firstPage.png | Bin 0 -> 179 bytes .../secondaryToolbarButton-firstPage@2x.png | Bin 0 -> 266 bytes .../secondaryToolbarButton-handTool.png | Bin 0 -> 301 bytes .../secondaryToolbarButton-handTool@2x.png | Bin 0 -> 583 bytes .../secondaryToolbarButton-lastPage.png | Bin 0 -> 175 bytes .../secondaryToolbarButton-lastPage@2x.png | Bin 0 -> 276 bytes .../secondaryToolbarButton-rotateCcw.png | Bin 0 -> 360 bytes .../secondaryToolbarButton-rotateCcw@2x.png | Bin 0 -> 731 bytes .../secondaryToolbarButton-rotateCw.png | Bin 0 -> 359 bytes .../secondaryToolbarButton-rotateCw@2x.png | Bin 0 -> 714 bytes public/vendor/pdfjs/web/images/shadow.png | Bin 0 -> 290 bytes public/vendor/pdfjs/web/images/texture.png | Bin 0 -> 2418 bytes .../web/images/toolbarButton-bookmark.png | Bin 0 -> 174 bytes .../web/images/toolbarButton-bookmark@2x.png | Bin 0 -> 260 bytes .../web/images/toolbarButton-download.png | Bin 0 -> 259 bytes .../web/images/toolbarButton-download@2x.png | Bin 0 -> 425 bytes .../web/images/toolbarButton-menuArrows.png | Bin 0 -> 108 bytes .../images/toolbarButton-menuArrows@2x.png | Bin 0 -> 152 bytes .../web/images/toolbarButton-openFile.png | Bin 0 -> 295 bytes .../web/images/toolbarButton-openFile@2x.png | Bin 0 -> 550 bytes .../web/images/toolbarButton-pageDown-rtl.png | Bin 0 -> 242 bytes .../images/toolbarButton-pageDown-rtl@2x.png | Bin 0 -> 398 bytes .../web/images/toolbarButton-pageDown.png | Bin 0 -> 238 bytes .../web/images/toolbarButton-pageDown@2x.png | Bin 0 -> 396 bytes .../web/images/toolbarButton-pageUp-rtl.png | Bin 0 -> 245 bytes .../images/toolbarButton-pageUp-rtl@2x.png | Bin 0 -> 405 bytes .../pdfjs/web/images/toolbarButton-pageUp.png | Bin 0 -> 246 bytes .../web/images/toolbarButton-pageUp@2x.png | Bin 0 -> 403 bytes .../images/toolbarButton-presentationMode.png | Bin 0 -> 321 bytes .../toolbarButton-presentationMode@2x.png | Bin 0 -> 586 bytes .../pdfjs/web/images/toolbarButton-print.png | Bin 0 -> 257 bytes .../web/images/toolbarButton-print@2x.png | Bin 0 -> 464 bytes .../pdfjs/web/images/toolbarButton-search.png | Bin 0 -> 309 bytes .../web/images/toolbarButton-search@2x.png | Bin 0 -> 653 bytes ...olbarButton-secondaryToolbarToggle-rtl.png | Bin 0 -> 246 bytes ...arButton-secondaryToolbarToggle-rtl@2x.png | Bin 0 -> 456 bytes .../toolbarButton-secondaryToolbarToggle.png | Bin 0 -> 243 bytes ...oolbarButton-secondaryToolbarToggle@2x.png | Bin 0 -> 458 bytes .../toolbarButton-sidebarToggle-rtl.png | Bin 0 -> 225 bytes .../toolbarButton-sidebarToggle-rtl@2x.png | Bin 0 -> 344 bytes .../images/toolbarButton-sidebarToggle.png | Bin 0 -> 225 bytes .../images/toolbarButton-sidebarToggle@2x.png | Bin 0 -> 331 bytes .../images/toolbarButton-viewOutline-rtl.png | Bin 0 -> 177 bytes .../toolbarButton-viewOutline-rtl@2x.png | Bin 0 -> 394 bytes .../web/images/toolbarButton-viewOutline.png | Bin 0 -> 178 bytes .../images/toolbarButton-viewOutline@2x.png | Bin 0 -> 331 bytes .../images/toolbarButton-viewThumbnail.png | Bin 0 -> 185 bytes .../images/toolbarButton-viewThumbnail@2x.png | Bin 0 -> 220 bytes .../pdfjs/web/images/toolbarButton-zoomIn.png | Bin 0 -> 136 bytes .../web/images/toolbarButton-zoomIn@2x.png | Bin 0 -> 160 bytes .../web/images/toolbarButton-zoomOut.png | Bin 0 -> 88 bytes .../web/images/toolbarButton-zoomOut@2x.png | Bin 0 -> 109 bytes public/vendor/pdfjs/web/index.html.template | 97 + .../pdfjs/web/mozPrintCallback_polyfill.js | 144 + public/vendor/pdfjs/web/page_view.js | 687 + public/vendor/pdfjs/web/password_prompt.js | 96 + public/vendor/pdfjs/web/pdf_find_bar.js | 174 + .../vendor/pdfjs/web/pdf_find_controller.js | 355 + public/vendor/pdfjs/web/pdf_history.js | 378 + public/vendor/pdfjs/web/preferences.js | 188 + public/vendor/pdfjs/web/presentation_mode.js | 251 + public/vendor/pdfjs/web/secondary_toolbar.js | 162 + public/vendor/pdfjs/web/text_layer_builder.js | 386 + public/vendor/pdfjs/web/thumbnail_view.js | 196 + public/vendor/pdfjs/web/ui_utils.js | 259 + public/vendor/pdfjs/web/view_history.js | 113 + .../viewer-snippet-b2g-activity-header.html | 6 + .../web/viewer-snippet-chrome-extension.html | 5 + .../web/viewer-snippet-firefox-extension.html | 4 + .../pdfjs/web/viewer-snippet-minified.html | 3 + ...wer-snippet-mozPrintCallback-polyfill.html | 71 + public/vendor/pdfjs/web/viewer-snippet.html | 4 + public/vendor/pdfjs/web/viewer.css | 1949 ++ public/vendor/pdfjs/web/viewer.html | 384 + public/vendor/pdfjs/web/viewer.js | 2467 +++ public/vendor/typeahead.js/.bower.json | 20 + public/vendor/typeahead.js/.gitignore | 8 + public/vendor/typeahead.js/.jshintrc | 17 + public/vendor/typeahead.js/.travis.yml | 5 + public/vendor/typeahead.js/CHANGELOG.md | 121 + public/vendor/typeahead.js/CONTRIBUTING.md | 34 + public/vendor/typeahead.js/Gruntfile.js | 234 + public/vendor/typeahead.js/LICENSE | 19 + public/vendor/typeahead.js/README.md | 359 + public/vendor/typeahead.js/component.json | 10 + public/vendor/typeahead.js/dist/typeahead.js | 1139 ++ .../vendor/typeahead.js/dist/typeahead.min.js | 7 + public/vendor/typeahead.js/package.json | 47 + public/vendor/typeahead.js/src/dataset.js | 322 + .../vendor/typeahead.js/src/dropdown_view.js | 284 + public/vendor/typeahead.js/src/event_bus.js | 30 + .../vendor/typeahead.js/src/event_target.js | 47 + public/vendor/typeahead.js/src/input_view.js | 203 + .../typeahead.js/src/persistent_storage.js | 122 + .../vendor/typeahead.js/src/request_cache.js | 43 + public/vendor/typeahead.js/src/transport.js | 141 + public/vendor/typeahead.js/src/typeahead.js | 89 + .../vendor/typeahead.js/src/typeahead_view.js | 358 + public/vendor/typeahead.js/src/utils.js | 160 + public/vendor/typeahead.js/src/version.js | 7 + .../vendor/typeahead.js/test/dataset_spec.js | 475 + .../typeahead.js/test/dropdown_view_spec.js | 610 + .../typeahead.js/test/event_target_spec.js | 73 + .../test/helpers/jasmine-jquery.js | 551 + .../typeahead.js/test/helpers/mock-ajax.js | 207 + .../test/helpers/mock_components.js | 73 + .../typeahead.js/test/input_view_spec.js | 319 + .../test/persistent_storage_spec.js | 125 + .../vendor/typeahead.js/test/playground.html | 179 + .../typeahead.js/test/request_cache_spec.js | 41 + .../typeahead.js/test/transport_spec.js | 198 + .../typeahead.js/test/typeahead_view_spec.js | 662 + .../typeahead.js/test/vendor/hogan-2.0.0.js | 576 + .../typeahead.js/test/vendor/jquery-1.9.1.js | 9597 ++++++++++ .../typeahead.js/typeahead.js.jquery.json | 40 + public/vendor/underscore/.bower.json | 33 + public/vendor/underscore/.editorconfig | 14 + public/vendor/underscore/.gitignore | 2 + public/vendor/underscore/LICENSE | 23 + public/vendor/underscore/README.md | 22 + public/vendor/underscore/bower.json | 8 + public/vendor/underscore/component.json | 10 + public/vendor/underscore/package.json | 27 + public/vendor/underscore/underscore.js | 1343 ++ 3415 files changed, 595091 insertions(+), 6 deletions(-) create mode 100644 public/vendor/accounting/.bower.json create mode 100644 public/vendor/accounting/accounting.js create mode 100644 public/vendor/accounting/accounting.min.js create mode 100644 public/vendor/accounting/demo-resources/js/libs/jquery.min.js create mode 100644 public/vendor/accounting/demo-resources/js/prettify.js create mode 100644 public/vendor/accounting/demo-resources/style.css create mode 100644 public/vendor/accounting/index.html create mode 100644 public/vendor/accounting/license create mode 100644 public/vendor/accounting/package.json create mode 100644 public/vendor/accounting/readme.md create mode 100644 public/vendor/accounting/tests/jasmine/core/formatMoneySpec.js create mode 100644 public/vendor/accounting/tests/jasmine/core/formatNumberSpec.js create mode 100644 public/vendor/accounting/tests/jasmine/core/unformatSpec.js create mode 100644 public/vendor/accounting/tests/jasmine/lib/jasmine/MIT.LICENSE create mode 100644 public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine-html.js create mode 100644 public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine.css create mode 100644 public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine.js create mode 100644 public/vendor/accounting/tests/jasmine/runner.html create mode 100644 public/vendor/accounting/tests/qunit/methods.js create mode 100644 public/vendor/accounting/tests/qunit/speed.js create mode 100644 public/vendor/accounting/tests/qunit/test.html create mode 100644 public/vendor/accounting/tests/qunit/vendor/jquery.js create mode 100644 public/vendor/accounting/tests/qunit/vendor/jslitmus.js create mode 100644 public/vendor/accounting/tests/qunit/vendor/qunit.css create mode 100644 public/vendor/accounting/tests/qunit/vendor/qunit.js create mode 100644 public/vendor/bootstrap-datepicker/.bower.json create mode 100644 public/vendor/bootstrap-datepicker/.gitignore create mode 100644 public/vendor/bootstrap-datepicker/.hgignore create mode 100644 public/vendor/bootstrap-datepicker/.hgtags create mode 100644 public/vendor/bootstrap-datepicker/.jscs.json create mode 100644 public/vendor/bootstrap-datepicker/.jshintrc create mode 100644 public/vendor/bootstrap-datepicker/.travis.yml create mode 100644 public/vendor/bootstrap-datepicker/CHANGELOG.md create mode 100644 public/vendor/bootstrap-datepicker/CONTRIBUTING.md create mode 100644 public/vendor/bootstrap-datepicker/LICENSE create mode 100644 public/vendor/bootstrap-datepicker/README.md create mode 100644 public/vendor/bootstrap-datepicker/bower.json create mode 100644 public/vendor/bootstrap-datepicker/build/build.less create mode 100644 public/vendor/bootstrap-datepicker/build/build3.less create mode 100644 public/vendor/bootstrap-datepicker/build/build_standalone.less create mode 100644 public/vendor/bootstrap-datepicker/build/build_standalone3.less create mode 100644 public/vendor/bootstrap-datepicker/composer.json create mode 100644 public/vendor/bootstrap-datepicker/css/datepicker.css create mode 100644 public/vendor/bootstrap-datepicker/css/datepicker3.css create mode 100644 public/vendor/bootstrap-datepicker/docs/Makefile create mode 100644 public/vendor/bootstrap-datepicker/docs/REAME.md create mode 100644 public/vendor/bootstrap-datepicker/docs/_static/demo_head.png create mode 100644 public/vendor/bootstrap-datepicker/docs/conf.py create mode 100644 public/vendor/bootstrap-datepicker/docs/events.rst create mode 100644 public/vendor/bootstrap-datepicker/docs/i18n.rst create mode 100644 public/vendor/bootstrap-datepicker/docs/index.rst create mode 100644 public/vendor/bootstrap-datepicker/docs/keyboard.rst create mode 100644 public/vendor/bootstrap-datepicker/docs/make.bat create mode 100644 public/vendor/bootstrap-datepicker/docs/markup.rst create mode 100644 public/vendor/bootstrap-datepicker/docs/methods.rst create mode 100644 public/vendor/bootstrap-datepicker/docs/options.rst create mode 100644 public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ar.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cy.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.et.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fa.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.gl.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ka.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kk.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.mk.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl-BE.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ua.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.vi.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js create mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js create mode 100644 public/vendor/bootstrap-datepicker/less/datepicker.less create mode 100644 public/vendor/bootstrap-datepicker/less/datepicker3.less create mode 100644 public/vendor/bootstrap-datepicker/tests/README.md create mode 100644 public/vendor/bootstrap-datepicker/tests/_coverage.html create mode 100644 public/vendor/bootstrap-datepicker/tests/assets/coverage.js create mode 100644 public/vendor/bootstrap-datepicker/tests/assets/jquery-1.7.1.min.js create mode 100644 public/vendor/bootstrap-datepicker/tests/assets/mock.js create mode 100644 public/vendor/bootstrap-datepicker/tests/assets/qunit-logging.js create mode 100644 public/vendor/bootstrap-datepicker/tests/assets/qunit.css create mode 100644 public/vendor/bootstrap-datepicker/tests/assets/qunit.js create mode 100644 public/vendor/bootstrap-datepicker/tests/assets/utils.js create mode 100644 public/vendor/bootstrap-datepicker/tests/run-qunit.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/calendar-weeks.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/component.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/data-api.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/events.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/formats.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/inline.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/keyboard_navigation/2011.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/keyboard_navigation/2012.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/keyboard_navigation/all.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/methods.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/mouse_navigation/2011.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/mouse_navigation/2012.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/mouse_navigation/all.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/noconflict.js create mode 100644 public/vendor/bootstrap-datepicker/tests/suites/options.js create mode 100644 public/vendor/bootstrap-datepicker/tests/tests.html create mode 100644 public/vendor/bootstrap/.bower.json create mode 100644 public/vendor/bootstrap/Gruntfile.js create mode 100644 public/vendor/bootstrap/LICENSE create mode 100644 public/vendor/bootstrap/README.md create mode 100644 public/vendor/bootstrap/bower.json create mode 100644 public/vendor/bootstrap/dist/css/bootstrap-theme.css create mode 100644 public/vendor/bootstrap/dist/css/bootstrap-theme.css.map create mode 100644 public/vendor/bootstrap/dist/css/bootstrap-theme.min.css create mode 100644 public/vendor/bootstrap/dist/css/bootstrap.css create mode 100644 public/vendor/bootstrap/dist/css/bootstrap.css.map create mode 100644 public/vendor/bootstrap/dist/css/bootstrap.min.css create mode 100644 public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot create mode 100644 public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.svg create mode 100644 public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf create mode 100644 public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff create mode 100644 public/vendor/bootstrap/dist/js/bootstrap.js create mode 100644 public/vendor/bootstrap/dist/js/bootstrap.min.js create mode 100644 public/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot create mode 100644 public/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg create mode 100644 public/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf create mode 100644 public/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff create mode 100644 public/vendor/bootstrap/grunt/bs-glyphicons-data-generator.js create mode 100644 public/vendor/bootstrap/grunt/bs-lessdoc-parser.js create mode 100644 public/vendor/bootstrap/grunt/bs-raw-files-generator.js create mode 100644 public/vendor/bootstrap/grunt/shrinkwrap.js create mode 100644 public/vendor/bootstrap/js/affix.js create mode 100644 public/vendor/bootstrap/js/alert.js create mode 100644 public/vendor/bootstrap/js/button.js create mode 100644 public/vendor/bootstrap/js/carousel.js create mode 100644 public/vendor/bootstrap/js/collapse.js create mode 100644 public/vendor/bootstrap/js/dropdown.js create mode 100644 public/vendor/bootstrap/js/modal.js create mode 100644 public/vendor/bootstrap/js/popover.js create mode 100644 public/vendor/bootstrap/js/scrollspy.js create mode 100644 public/vendor/bootstrap/js/tab.js create mode 100644 public/vendor/bootstrap/js/tooltip.js create mode 100644 public/vendor/bootstrap/js/transition.js create mode 100644 public/vendor/bootstrap/less/alerts.less create mode 100644 public/vendor/bootstrap/less/badges.less create mode 100644 public/vendor/bootstrap/less/bootstrap.less create mode 100644 public/vendor/bootstrap/less/breadcrumbs.less create mode 100644 public/vendor/bootstrap/less/button-groups.less create mode 100644 public/vendor/bootstrap/less/buttons.less create mode 100644 public/vendor/bootstrap/less/carousel.less create mode 100644 public/vendor/bootstrap/less/close.less create mode 100644 public/vendor/bootstrap/less/code.less create mode 100644 public/vendor/bootstrap/less/component-animations.less create mode 100644 public/vendor/bootstrap/less/dropdowns.less create mode 100644 public/vendor/bootstrap/less/forms.less create mode 100644 public/vendor/bootstrap/less/glyphicons.less create mode 100644 public/vendor/bootstrap/less/grid.less create mode 100644 public/vendor/bootstrap/less/input-groups.less create mode 100644 public/vendor/bootstrap/less/jumbotron.less create mode 100644 public/vendor/bootstrap/less/labels.less create mode 100644 public/vendor/bootstrap/less/list-group.less create mode 100644 public/vendor/bootstrap/less/media.less create mode 100644 public/vendor/bootstrap/less/mixins.less create mode 100644 public/vendor/bootstrap/less/modals.less create mode 100644 public/vendor/bootstrap/less/navbar.less create mode 100644 public/vendor/bootstrap/less/navs.less create mode 100644 public/vendor/bootstrap/less/normalize.less create mode 100644 public/vendor/bootstrap/less/pager.less create mode 100644 public/vendor/bootstrap/less/pagination.less create mode 100644 public/vendor/bootstrap/less/panels.less create mode 100644 public/vendor/bootstrap/less/popovers.less create mode 100644 public/vendor/bootstrap/less/print.less create mode 100644 public/vendor/bootstrap/less/progress-bars.less create mode 100644 public/vendor/bootstrap/less/responsive-utilities.less create mode 100644 public/vendor/bootstrap/less/scaffolding.less create mode 100644 public/vendor/bootstrap/less/tables.less create mode 100644 public/vendor/bootstrap/less/theme.less create mode 100644 public/vendor/bootstrap/less/thumbnails.less create mode 100644 public/vendor/bootstrap/less/tooltip.less create mode 100644 public/vendor/bootstrap/less/type.less create mode 100644 public/vendor/bootstrap/less/utilities.less create mode 100644 public/vendor/bootstrap/less/variables.less create mode 100644 public/vendor/bootstrap/less/wells.less create mode 100644 public/vendor/bootstrap/package.json create mode 100644 public/vendor/bootstrap/test-infra/README.md create mode 100644 public/vendor/bootstrap/test-infra/npm-shrinkwrap.canonical.json create mode 100644 public/vendor/bootstrap/test-infra/requirements.txt create mode 100644 public/vendor/bootstrap/test-infra/s3_cache.py create mode 100644 public/vendor/bootstrap/test-infra/sauce_browsers.yml create mode 100644 public/vendor/bootstrap/test-infra/uncached-npm-install.sh create mode 100644 public/vendor/datatables-bootstrap3/.bower.json create mode 100644 public/vendor/datatables-bootstrap3/BS3/Datatables.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/assets/css/datatables.css create mode 100644 public/vendor/datatables-bootstrap3/BS3/assets/images/sort_asc.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/assets/images/sort_asc_disabled.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/assets/images/sort_both.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/assets/images/sort_desc.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/assets/images/sort_desc_disabled.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/assets/js/datatables.js create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/css/datatables.css create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/images/sort_asc.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/images/sort_asc_disabled.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/images/sort_both.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/images/sort_desc.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/images/sort_desc_disabled.png create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/js/datatables.js create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/pagination_four_buttons.html create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/pagination_full.html create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/pagination_normal.html create mode 100644 public/vendor/datatables-bootstrap3/BS3/examples/pagination_two_buttons.html create mode 100644 public/vendor/datatables-bootstrap3/BS3/index.html create mode 100644 public/vendor/datatables-bootstrap3/README.md create mode 100644 public/vendor/datatables/.bower.json create mode 100644 public/vendor/datatables/.gitignore create mode 100644 public/vendor/datatables/Readme.txt create mode 100644 public/vendor/datatables/component.json create mode 100644 public/vendor/datatables/examples/advanced_init/column_render.html create mode 100644 public/vendor/datatables/examples/advanced_init/complex_header.html create mode 100644 public/vendor/datatables/examples/advanced_init/defaults.html create mode 100644 public/vendor/datatables/examples/advanced_init/dom_multiple_elements.html create mode 100644 public/vendor/datatables/examples/advanced_init/dom_toolbar.html create mode 100644 public/vendor/datatables/examples/advanced_init/dt_events.html create mode 100644 public/vendor/datatables/examples/advanced_init/events_live.html create mode 100644 public/vendor/datatables/examples/advanced_init/events_post_init.html create mode 100644 public/vendor/datatables/examples/advanced_init/events_pre_init.html create mode 100644 public/vendor/datatables/examples/advanced_init/footer_callback.html create mode 100644 public/vendor/datatables/examples/advanced_init/highlight.html create mode 100644 public/vendor/datatables/examples/advanced_init/html_sort.html create mode 100644 public/vendor/datatables/examples/advanced_init/language_file.html create mode 100644 public/vendor/datatables/examples/advanced_init/length_menu.html create mode 100644 public/vendor/datatables/examples/advanced_init/localstorage.html create mode 100644 public/vendor/datatables/examples/advanced_init/row_callback.html create mode 100644 public/vendor/datatables/examples/advanced_init/row_grouping.html create mode 100644 public/vendor/datatables/examples/advanced_init/sorting_control.html create mode 100644 public/vendor/datatables/examples/ajax/ajax.html create mode 100644 public/vendor/datatables/examples/ajax/custom_data_property.html create mode 100644 public/vendor/datatables/examples/ajax/deep.html create mode 100644 public/vendor/datatables/examples/ajax/defer_render.html create mode 100644 public/vendor/datatables/examples/ajax/null_data_source.html create mode 100644 public/vendor/datatables/examples/ajax/objects.html create mode 100644 public/vendor/datatables/examples/ajax/objects_subarrays.html create mode 100644 public/vendor/datatables/examples/ajax/sources/array_only.txt create mode 100644 public/vendor/datatables/examples/ajax/sources/arrays.txt create mode 100644 public/vendor/datatables/examples/ajax/sources/arrays_subobjects.txt create mode 100644 public/vendor/datatables/examples/ajax/sources/custom_prop.txt create mode 100644 public/vendor/datatables/examples/ajax/sources/deep.txt create mode 100644 public/vendor/datatables/examples/ajax/sources/objects.txt create mode 100644 public/vendor/datatables/examples/ajax/sources/objects_subarrays.txt create mode 100644 public/vendor/datatables/examples/api/add_row.html create mode 100644 public/vendor/datatables/examples/api/api_in_init.html create mode 100644 public/vendor/datatables/examples/api/counter_column.html create mode 100644 public/vendor/datatables/examples/api/editable.html create mode 100644 public/vendor/datatables/examples/api/form.html create mode 100644 public/vendor/datatables/examples/api/highlight.html create mode 100644 public/vendor/datatables/examples/api/multi_filter.html create mode 100644 public/vendor/datatables/examples/api/multi_filter_select.html create mode 100644 public/vendor/datatables/examples/api/regex.html create mode 100644 public/vendor/datatables/examples/api/row_details.html create mode 100644 public/vendor/datatables/examples/api/select_row.html create mode 100644 public/vendor/datatables/examples/api/select_single_row.html create mode 100644 public/vendor/datatables/examples/api/show_hide.html create mode 100644 public/vendor/datatables/examples/api/tabs_and_scrolling.html create mode 100644 public/vendor/datatables/examples/basic_init/alt_pagination.html create mode 100644 public/vendor/datatables/examples/basic_init/base.html create mode 100644 public/vendor/datatables/examples/basic_init/base_themeroller.html create mode 100644 public/vendor/datatables/examples/basic_init/complex_header.html create mode 100644 public/vendor/datatables/examples/basic_init/dom.html create mode 100644 public/vendor/datatables/examples/basic_init/filter_only.html create mode 100644 public/vendor/datatables/examples/basic_init/flexible_width.html create mode 100644 public/vendor/datatables/examples/basic_init/hidden_columns.html create mode 100644 public/vendor/datatables/examples/basic_init/language.html create mode 100644 public/vendor/datatables/examples/basic_init/multi_col_sort.html create mode 100644 public/vendor/datatables/examples/basic_init/multiple_tables.html create mode 100644 public/vendor/datatables/examples/basic_init/scroll_x.html create mode 100644 public/vendor/datatables/examples/basic_init/scroll_xy.html create mode 100644 public/vendor/datatables/examples/basic_init/scroll_y.html create mode 100644 public/vendor/datatables/examples/basic_init/scroll_y_infinite.html create mode 100644 public/vendor/datatables/examples/basic_init/scroll_y_theme.html create mode 100644 public/vendor/datatables/examples/basic_init/state_save.html create mode 100644 public/vendor/datatables/examples/basic_init/table_sorting.html create mode 100644 public/vendor/datatables/examples/basic_init/themes.html create mode 100644 public/vendor/datatables/examples/basic_init/zero_config.html create mode 100644 public/vendor/datatables/examples/data_sources/ajax.html create mode 100644 public/vendor/datatables/examples/data_sources/dom.html create mode 100644 public/vendor/datatables/examples/data_sources/js_array.html create mode 100644 public/vendor/datatables/examples/data_sources/server_side.html create mode 100644 public/vendor/datatables/examples/examples_support/data.sql create mode 100644 public/vendor/datatables/examples/examples_support/de_DE.txt create mode 100644 public/vendor/datatables/examples/examples_support/details_close.png create mode 100644 public/vendor/datatables/examples/examples_support/details_open.png create mode 100644 public/vendor/datatables/examples/examples_support/editable_ajax.php create mode 100644 public/vendor/datatables/examples/examples_support/index.html create mode 100644 public/vendor/datatables/examples/examples_support/infiniteScroll.php create mode 100644 public/vendor/datatables/examples/examples_support/jquery-ui-tabs.js create mode 100644 public/vendor/datatables/examples/examples_support/jquery.jeditable.js create mode 100644 public/vendor/datatables/examples/examples_support/jquery.tooltip.css create mode 100644 public/vendor/datatables/examples/examples_support/jquery.tooltip.js create mode 100644 public/vendor/datatables/examples/examples_support/syntax/css/shCore.css create mode 100644 public/vendor/datatables/examples/examples_support/syntax/images/arrow.jpg create mode 100644 public/vendor/datatables/examples/examples_support/syntax/images/extended.png create mode 100644 public/vendor/datatables/examples/examples_support/syntax/js/shCore.js create mode 100644 public/vendor/datatables/examples/examples_support/syntax/license/Syntax Highlighter create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-icons_2e83ff_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-icons_454545_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-icons_888888_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/datatables/examples/examples_support/themes/ui-lightness/jquery-ui-1.8.4.custom.css create mode 100644 public/vendor/datatables/examples/index.html create mode 100644 public/vendor/datatables/examples/plug-ins/dom_sort.html create mode 100644 public/vendor/datatables/examples/plug-ins/html_sort.html create mode 100644 public/vendor/datatables/examples/plug-ins/paging_plugin.html create mode 100644 public/vendor/datatables/examples/plug-ins/plugin_api.html create mode 100644 public/vendor/datatables/examples/plug-ins/range_filtering.html create mode 100644 public/vendor/datatables/examples/plug-ins/sorting_plugin.html create mode 100644 public/vendor/datatables/examples/plug-ins/sorting_sType.html create mode 100644 public/vendor/datatables/examples/server_side/custom_vars.html create mode 100644 public/vendor/datatables/examples/server_side/defer_loading.html create mode 100644 public/vendor/datatables/examples/server_side/editable.html create mode 100644 public/vendor/datatables/examples/server_side/ids.html create mode 100644 public/vendor/datatables/examples/server_side/jsonp.html create mode 100644 public/vendor/datatables/examples/server_side/object_data.html create mode 100644 public/vendor/datatables/examples/server_side/pipeline.html create mode 100644 public/vendor/datatables/examples/server_side/post.html create mode 100644 public/vendor/datatables/examples/server_side/row_details.html create mode 100644 public/vendor/datatables/examples/server_side/scripts/custom_data_property.php create mode 100644 public/vendor/datatables/examples/server_side/scripts/details_col.php create mode 100644 public/vendor/datatables/examples/server_side/scripts/filter_col.php create mode 100644 public/vendor/datatables/examples/server_side/scripts/id.php create mode 100644 public/vendor/datatables/examples/server_side/scripts/id_jsonp.php create mode 100644 public/vendor/datatables/examples/server_side/scripts/jsonp.php create mode 100644 public/vendor/datatables/examples/server_side/scripts/objects.php create mode 100644 public/vendor/datatables/examples/server_side/scripts/objects_jsonp.php create mode 100644 public/vendor/datatables/examples/server_side/scripts/post.php create mode 100644 public/vendor/datatables/examples/server_side/scripts/server_processing.php create mode 100644 public/vendor/datatables/examples/server_side/select_rows.html create mode 100644 public/vendor/datatables/examples/server_side/server_side.html create mode 100644 public/vendor/datatables/license-bsd.txt create mode 100644 public/vendor/datatables/license-gpl2.txt create mode 100644 public/vendor/datatables/media/css/demo_page.css create mode 100644 public/vendor/datatables/media/css/demo_table.css create mode 100644 public/vendor/datatables/media/css/demo_table_jui.css create mode 100644 public/vendor/datatables/media/css/jquery.dataTables.css create mode 100644 public/vendor/datatables/media/css/jquery.dataTables_themeroller.css create mode 100644 public/vendor/datatables/media/images/Sorting icons.psd create mode 100644 public/vendor/datatables/media/images/back_disabled.png create mode 100644 public/vendor/datatables/media/images/back_enabled.png create mode 100644 public/vendor/datatables/media/images/back_enabled_hover.png create mode 100644 public/vendor/datatables/media/images/favicon.ico create mode 100644 public/vendor/datatables/media/images/forward_disabled.png create mode 100644 public/vendor/datatables/media/images/forward_enabled.png create mode 100644 public/vendor/datatables/media/images/forward_enabled_hover.png create mode 100644 public/vendor/datatables/media/images/sort_asc.png create mode 100644 public/vendor/datatables/media/images/sort_asc_disabled.png create mode 100644 public/vendor/datatables/media/images/sort_both.png create mode 100644 public/vendor/datatables/media/images/sort_desc.png create mode 100644 public/vendor/datatables/media/images/sort_desc_disabled.png create mode 100644 public/vendor/datatables/media/js/jquery.dataTables.js create mode 100644 public/vendor/datatables/media/js/jquery.js create mode 100644 public/vendor/datatables/media/src/DataTables.js create mode 100644 public/vendor/datatables/media/src/api/api.internal.js create mode 100644 public/vendor/datatables/media/src/api/api.methods.js create mode 100644 public/vendor/datatables/media/src/api/api.static.js create mode 100644 public/vendor/datatables/media/src/core/core.ajax.js create mode 100644 public/vendor/datatables/media/src/core/core.columns.js create mode 100644 public/vendor/datatables/media/src/core/core.constructor.js create mode 100644 public/vendor/datatables/media/src/core/core.data.js create mode 100644 public/vendor/datatables/media/src/core/core.draw.js create mode 100644 public/vendor/datatables/media/src/core/core.filter.js create mode 100644 public/vendor/datatables/media/src/core/core.info.js create mode 100644 public/vendor/datatables/media/src/core/core.init.js create mode 100644 public/vendor/datatables/media/src/core/core.length.js create mode 100644 public/vendor/datatables/media/src/core/core.page.js create mode 100644 public/vendor/datatables/media/src/core/core.processing.js create mode 100644 public/vendor/datatables/media/src/core/core.scrolling.js create mode 100644 public/vendor/datatables/media/src/core/core.sizing.js create mode 100644 public/vendor/datatables/media/src/core/core.sort.js create mode 100644 public/vendor/datatables/media/src/core/core.state.js create mode 100644 public/vendor/datatables/media/src/core/core.support.js create mode 100644 public/vendor/datatables/media/src/ext/ext.classes.js create mode 100644 public/vendor/datatables/media/src/ext/ext.paging.js create mode 100644 public/vendor/datatables/media/src/ext/ext.sorting.js create mode 100644 public/vendor/datatables/media/src/ext/ext.types.js create mode 100644 public/vendor/datatables/media/src/model/model.column.js create mode 100644 public/vendor/datatables/media/src/model/model.defaults.columns.js create mode 100644 public/vendor/datatables/media/src/model/model.defaults.js create mode 100644 public/vendor/datatables/media/src/model/model.ext.js create mode 100644 public/vendor/datatables/media/src/model/model.row.js create mode 100644 public/vendor/datatables/media/src/model/model.search.js create mode 100644 public/vendor/datatables/media/src/model/model.settings.js create mode 100644 public/vendor/datatables/media/unit_testing/controller.js create mode 100644 public/vendor/datatables/media/unit_testing/controller.php create mode 100644 public/vendor/datatables/media/unit_testing/index.html create mode 100644 public/vendor/datatables/media/unit_testing/performance/draw.html create mode 100644 public/vendor/datatables/media/unit_testing/performance/large.php create mode 100644 public/vendor/datatables/media/unit_testing/performance/page.html create mode 100644 public/vendor/datatables/media/unit_testing/performance/sort.html create mode 100644 public/vendor/datatables/media/unit_testing/templates/-complex_header.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/2512.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/6776.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/complex_header_2.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/deferred_table.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/dom_data.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/dom_data_th.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/dom_data_two_headers.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/dymanic_table.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/empty_table.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/html_table.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/js_data.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/js_data_mixed_types.php create mode 100644 public/vendor/datatables/media/unit_testing/templates/two_tables.php create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/-complex_header.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/-iDraw.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2512.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2530-2.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2530.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2569.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2600.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2608.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2635.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2746-stable-sort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2799.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2840-restore-table-width.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/2914-state-save-sort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/5396-fnUpdate-arrays-mData.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/5396-fnUpdate-arrays.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/5508-xscroll-zero-content.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/6776-scrolling-table-grows.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/_getDataFunctions.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/_setDataFunctions.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/_zero_config.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aaSorting.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aaSortingFixed.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.bSearchable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.bVisible.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.bVisible2.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.sClass.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.sName.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.sTitle.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/aoSearchCols.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/asStripClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bAutoWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bFilter.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bInfiniteScroll.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bJQueryUI.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bLengthChange.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bServerSide.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bSortCellsTop.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/bSortClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnCookieCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnCreatedCell.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnCreatedRow.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnDeleteRow.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnDrawCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnFilter.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnFooterCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnHeaderCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnInfoCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnInitComplete.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnRowCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnSetColumnVis.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/fnSetColumnVis2.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/html-autodetect-sort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/iDisplayLength.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oLanguage.oPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoEmpty.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoPostFix.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oLanguage.sLengthMenu.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oLanguage.sProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oLanguage.sSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oLanguage.sUrl.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oLanguage.sZeroRecords.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/oSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/sAjaxSource.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/sDom.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/sPaginationType.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/sScrollXY.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/th_in_body.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/39-nested-null.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/6872-default-content-missing-props.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/8549--string-sorting-nonstrings.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/_zero_config.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aaSorting.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aaSortingFixed.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.bSearchable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.bSortable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.bUseRendered.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.bVisible.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.fnRender.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.iDataSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.sClass.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.sName.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.sTitle.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoColumns.sWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/aoSearchCols.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/asStripClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/bAutoWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/bFilter.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/bInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/bLengthChange.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/bPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/bProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/bServerSide.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/bSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/bSortClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/fnCreatedCell.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/fnCreatedRow.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/fnDrawCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/fnFooterCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/fnHeaderCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/fnInitComplete.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/fnRowCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/iDisplayLength.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/js_data_mixed_types.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oLanguage.oPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oLanguage.sInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoEmpty.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoPostFix.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oLanguage.sLengthMenu.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oLanguage.sProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oLanguage.sSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oLanguage.sUrl.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oLanguage.sZeroRecords.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/oSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/sAjaxSource.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/sDom.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/2_js/sPaginationType.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/_zero_config.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aaSorting.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aaSortingFixed.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSearchable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSortable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.bUseRendered.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.bVisible.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.fnRender.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.iDataSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.sClass.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.sName.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.sTitle.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoColumns.sWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/aoSearchCols.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/asStripClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/bAutoWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/bFilter.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/bInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/bLengthChange.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/bPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/bProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/bServerSide.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/bSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/bSortClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnCreatedCell.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnCreatedRow.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnDrawCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnInitComplete.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnRowCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnServerData.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/iDisplayLength.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.oPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoEmpty.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoPostFix.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.sLengthMenu.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.sLoadingRecords.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.sProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.sSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.sUrl.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oLanguage.sZeroRecords.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/oSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/sAjaxDataProp.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/sAjaxDataProp2.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/sAjaxSource.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/sDom.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/sPaginationType.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/-iDraw.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/2440.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/2569.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/2600.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/_zero_config.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aaSorting.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aaSortingFixed.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSearchable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoColumns.bUseRendered.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoColumns.bVisible.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoColumns.fnRender.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoColumns.sName.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoColumns.sTitle.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoColumns.sWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/aoSearchCols.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/asStripClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bAutoWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bFilter.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bLengthChange.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bServerSide.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/bSortClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnCreatedCell.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnCreatedRow.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnDrawCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnHeaderCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnInitComplete.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnRowCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/iDeferLoading.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/iDisplayLength.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oLanguage.oPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoEmpty.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoPostFix.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oLanguage.sLengthMenu.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oLanguage.sProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oLanguage.sSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oLanguage.sUrl.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oLanguage.sZeroRecords.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/oSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/sAjaxDataProp.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/sAjaxSource.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/sDom.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/sPaginationType.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_null_source.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aaSorting.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aaSortingFixed.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bSearchable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bSortable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bUseRendered.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bVisible.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.fnRender.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.iDataSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sClass.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sName.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sTitle.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/aoSearchCols.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/asStripClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/bAutoWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/bFilter.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/bInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/bLengthChange.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/bPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/bProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/bServerSide.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/bSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/bSortClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/fnDrawCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/fnHeaderCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/fnInitComplete.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/fnRowCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/fnServerData.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/iDisplayLength.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.oPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfoEmpty.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfoPostFix.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sLengthMenu.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sUrl.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sZeroRecords.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/oSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/sAjaxSource.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/sDom.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/5_ajax_objects/sPaginationType.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/_zero_config.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aaSorting.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aaSortingFixed.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bSearchable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bSortable.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bUseRendered.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bVisible.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.fnRender.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.iDataSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sClass.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sName.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sTitle.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/aoSearchCols.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/asStripClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/bAutoWidth.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/bFilter.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/bInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/bLengthChange.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/bPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/bProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/bServerSide.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/bSort.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/bSortClasses.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/fnDrawCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/fnHeaderCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/fnInitComplete.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/fnRowCallback.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/fnServerData.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/iDisplayLength.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.oPaginate.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfo.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfoEmpty.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfoPostFix.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sLengthMenu.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sProcessing.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sUrl.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sZeroRecords.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/oSearch.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp2.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/sAjaxSource.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/sDom.js create mode 100644 public/vendor/datatables/media/unit_testing/tests_onhold/6_delayed_rendering/sPaginationType.js create mode 100644 public/vendor/datatables/media/unit_testing/unit_test.js create mode 100644 public/vendor/datatables/package.json create mode 100644 public/vendor/datatables/scripts/jshint.config create mode 100644 public/vendor/datatables/scripts/make.sh create mode 100644 public/vendor/datatables/scripts/unit_tests.sh create mode 100644 public/vendor/font-awesome/.bower.json create mode 100644 public/vendor/font-awesome/.gitignore create mode 100644 public/vendor/font-awesome/CONTRIBUTING.md create mode 100644 public/vendor/font-awesome/Gemfile create mode 100644 public/vendor/font-awesome/Gemfile.lock create mode 100644 public/vendor/font-awesome/README.md create mode 100644 public/vendor/font-awesome/_config.yml create mode 100644 public/vendor/font-awesome/component.json create mode 100644 public/vendor/font-awesome/composer.json create mode 100644 public/vendor/font-awesome/css/font-awesome.css create mode 100644 public/vendor/font-awesome/css/font-awesome.min.css create mode 100644 public/vendor/font-awesome/fonts/FontAwesome.otf create mode 100644 public/vendor/font-awesome/fonts/fontawesome-webfont.eot create mode 100644 public/vendor/font-awesome/fonts/fontawesome-webfont.svg create mode 100644 public/vendor/font-awesome/fonts/fontawesome-webfont.ttf create mode 100644 public/vendor/font-awesome/fonts/fontawesome-webfont.woff create mode 100644 public/vendor/font-awesome/less/bordered-pulled.less create mode 100644 public/vendor/font-awesome/less/core.less create mode 100644 public/vendor/font-awesome/less/extras.less create mode 100644 public/vendor/font-awesome/less/fixed-width.less create mode 100644 public/vendor/font-awesome/less/font-awesome.less create mode 100644 public/vendor/font-awesome/less/icons.less create mode 100644 public/vendor/font-awesome/less/larger.less create mode 100644 public/vendor/font-awesome/less/list.less create mode 100644 public/vendor/font-awesome/less/mixins.less create mode 100644 public/vendor/font-awesome/less/path.less create mode 100644 public/vendor/font-awesome/less/rotated-flipped.less create mode 100644 public/vendor/font-awesome/less/spinning.less create mode 100644 public/vendor/font-awesome/less/stacked.less create mode 100644 public/vendor/font-awesome/less/variables.less create mode 100644 public/vendor/font-awesome/package.json create mode 100644 public/vendor/font-awesome/scss/_bordered-pulled.scss create mode 100644 public/vendor/font-awesome/scss/_core.scss create mode 100644 public/vendor/font-awesome/scss/_extras.scss create mode 100644 public/vendor/font-awesome/scss/_fixed-width.scss create mode 100644 public/vendor/font-awesome/scss/_icons.scss create mode 100644 public/vendor/font-awesome/scss/_larger.scss create mode 100644 public/vendor/font-awesome/scss/_list.scss create mode 100644 public/vendor/font-awesome/scss/_mixins.scss create mode 100644 public/vendor/font-awesome/scss/_path.scss create mode 100644 public/vendor/font-awesome/scss/_rotated-flipped.scss create mode 100644 public/vendor/font-awesome/scss/_spinning.scss create mode 100644 public/vendor/font-awesome/scss/_stacked.scss create mode 100644 public/vendor/font-awesome/scss/_variables.scss create mode 100644 public/vendor/font-awesome/scss/font-awesome.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/CNAME create mode 100644 public/vendor/font-awesome/src/3.2.1/Makefile create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/css/prettify.css create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/css/pygments.css create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/css/site.css create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome.zip create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/css/font-awesome-ie7.css create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/css/font-awesome-ie7.min.css create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/css/font-awesome.css create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/css/font-awesome.min.css create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/font/FontAwesome.otf create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/font/fontawesome-webfont.eot create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/font/fontawesome-webfont.svg create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/font/fontawesome-webfont.ttf create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/font/fontawesome-webfont.woff create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/less/bootstrap.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/less/core.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/less/extras.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/less/font-awesome-ie7.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/less/font-awesome.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/less/icons.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/less/mixins.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/less/path.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/less/variables.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/scss/_bootstrap.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/scss/_core.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/scss/_extras.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/scss/_icons.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/scss/_mixins.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/scss/_path.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/scss/_variables.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/scss/font-awesome-ie7.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/font-awesome/scss/font-awesome.scss create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/ico/favicon.ico create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/img/contribution-sample.png create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/img/fort_awesome.jpg create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/img/glyphicons-halflings-white.png create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/img/glyphicons-halflings.png create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/img/icon-flag.pdf create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/js/ZeroClipboard-1.1.7.min.js create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/js/ZeroClipboard-1.1.7.swf create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/js/backbone.min.js create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/js/bootstrap-2.3.1.min.js create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/js/bootstrap-222.min.js create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/js/jquery-1.7.1.min.js create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/js/prettify.min.js create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/js/site.js create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/js/underscore.min.js create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/accordion.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/alerts.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/bootstrap.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/breadcrumbs.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/button-groups.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/buttons.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/carousel.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/close.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/code.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/component-animations.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/dropdowns.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/forms.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/grid.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/hero-unit.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/labels-badges.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/layouts.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/media.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/mixins.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/modals.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/navbar.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/navs.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/pager.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/pagination.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/popovers.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/progress-bars.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/reset.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/responsive-1200px-min.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/responsive-767px-max.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/responsive-768px-979px.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/responsive-navbar.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/responsive-utilities.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/responsive.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/scaffolding.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/sprites.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/tables.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/thumbnails.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/tooltip.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/type.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/utilities.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/variables.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/bootstrap-2.3.2/wells.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/lazy.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/mixins.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/responsive-1200px-min.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/responsive-767px-max.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/responsive-768px-979px.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/responsive-navbar.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/responsive.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/site.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/sticky-footer.less create mode 100644 public/vendor/font-awesome/src/3.2.1/assets/less/variables.less create mode 100644 public/vendor/font-awesome/src/3.2.1/cheatsheet/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/community/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/design.html create mode 100644 public/vendor/font-awesome/src/3.2.1/examples/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/get-started/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/adjust/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/adn/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/align-center/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/align-justify/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/align-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/align-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/ambulance/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/anchor/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/android/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/angle-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/angle-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/angle-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/angle-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/apple/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/archive/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/arrow-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/arrow-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/arrow-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/arrow-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/asterisk/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/backward/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/ban-circle/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bar-chart/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/barcode/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/beaker/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/beer/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bell-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bell/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bitbucket-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bitbucket/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bold/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bolt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/book/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bookmark-empty/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bookmark/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/briefcase/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/btc/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bug/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/building/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bullhorn/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/bullseye/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/calendar-empty/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/calendar/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/camera-retro/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/camera/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/caret-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/caret-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/caret-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/caret-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/certificate/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/check-empty/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/check-minus/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/check-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/check/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/chevron-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/chevron-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/chevron-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/chevron-sign-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/chevron-sign-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/chevron-sign-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/chevron-sign-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/chevron-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/circle-arrow-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/circle-arrow-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/circle-arrow-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/circle-arrow-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/circle-blank/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/circle/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/cloud-download/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/cloud-upload/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/cloud/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/cny/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/code-fork/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/code/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/coffee/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/cog/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/cogs/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/collapse-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/collapse-top/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/collapse/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/columns/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/comment-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/comment/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/comments-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/comments/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/compass/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/copy/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/credit-card/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/crop/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/css3/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/cut/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/dashboard/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/desktop/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/double-angle-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/double-angle-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/double-angle-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/double-angle-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/download-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/download/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/dribbble/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/dropbox/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/edit-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/edit/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/eject/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/ellipsis-horizontal/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/ellipsis-vertical/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/envelope-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/envelope/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/eraser/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/eur/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/exchange/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/exclamation-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/exclamation/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/expand-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/expand/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/external-link-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/external-link/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/eye-close/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/eye-open/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/facebook-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/facebook/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/facetime-video/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/fast-backward/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/fast-forward/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/female/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/fighter-jet/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/file-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/file-text-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/file-text/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/file/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/film/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/filter/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/fire-extinguisher/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/fire/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/flag-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/flag-checkered/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/flag/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/flickr/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/folder-close-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/folder-close/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/folder-open-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/folder-open/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/font/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/food/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/forward/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/foursquare/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/frown/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/fullscreen/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/gamepad/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/gbp/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/gift/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/github-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/github-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/github/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/gittip/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/glass/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/globe/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/google-plus-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/google-plus/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/group/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/h-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/hand-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/hand-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/hand-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/hand-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/hdd/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/headphones/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/heart-empty/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/heart/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/home/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/hospital/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/html5/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/inbox/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/indent-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/indent-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/info-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/info/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/inr/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/instagram/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/italic/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/jpy/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/key/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/keyboard/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/krw/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/laptop/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/leaf/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/legal/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/lemon/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/level-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/level-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/lightbulb/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/link/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/linkedin-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/linkedin/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/linux/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/list-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/list-ol/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/list-ul/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/list/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/location-arrow/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/lock/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/long-arrow-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/long-arrow-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/long-arrow-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/long-arrow-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/magic/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/magnet/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/mail-reply-all/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/male/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/map-marker/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/maxcdn/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/medkit/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/meh/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/microphone-off/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/microphone/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/minus-sign-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/minus-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/minus/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/mobile-phone/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/money/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/moon/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/move/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/music/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/off/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/ok-circle/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/ok-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/ok/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/paper-clip/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/paste/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/pause/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/pencil/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/phone-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/phone/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/picture/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/pinterest-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/pinterest/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/plane/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/play-circle/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/play-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/play/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/plus-sign-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/plus-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/plus/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/print/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/pushpin/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/puzzle-piece/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/qrcode/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/question-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/question/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/quote-left/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/quote-right/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/random/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/refresh/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/remove-circle/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/remove-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/remove/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/renren/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/reorder/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/repeat/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/reply-all/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/reply/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/resize-full/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/resize-horizontal/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/resize-small/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/resize-vertical/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/retweet/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/road/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/rocket/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/rss-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/rss/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/save/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/screenshot/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/search/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/share-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/share-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/share/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/shield/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/shopping-cart/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sign-blank/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/signal/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/signin/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/signout/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sitemap/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/skype/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/smile/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sort-by-alphabet-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sort-by-alphabet/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sort-by-attributes-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sort-by-attributes/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sort-by-order-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sort-by-order/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sort-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sort-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sort/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/spinner/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/stackexchange/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/star-empty/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/star-half-empty/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/star-half/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/star/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/step-backward/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/step-forward/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/stethoscope/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/stop/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/strikethrough/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/subscript/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/suitcase/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/sun/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/superscript/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/table/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/tablet/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/tag/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/tags/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/tasks/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/terminal/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/text-height/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/text-width/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/th-large/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/th-list/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/th/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/thumbs-down-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/thumbs-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/thumbs-up-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/thumbs-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/ticket/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/time/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/tint/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/trash/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/trello/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/trophy/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/truck/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/tumblr-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/tumblr/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/twitter-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/twitter/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/umbrella/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/underline/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/undo/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/unlink/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/unlock-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/unlock/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/upload-alt/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/upload/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/usd/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/user-md/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/user/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/vk/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/volume-down/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/volume-off/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/volume-up/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/warning-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/weibo/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/windows/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/wrench/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/xing-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/xing/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/youtube-play/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/youtube-sign/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/youtube/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/zoom-in/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icon/zoom-out/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/icons.yml create mode 100644 public/vendor/font-awesome/src/3.2.1/icons/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/license/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/test/index.html create mode 100644 public/vendor/font-awesome/src/3.2.1/whats-new/index.html create mode 100644 public/vendor/font-awesome/src/CNAME create mode 100644 public/vendor/font-awesome/src/Makefile create mode 100644 public/vendor/font-awesome/src/_includes/ads/carbon-dark-vertical.html create mode 100644 public/vendor/font-awesome/src/_includes/ads/carbon-light-horizontal.html create mode 100644 public/vendor/font-awesome/src/_includes/ads/carbon-light-vertical.html create mode 100644 public/vendor/font-awesome/src/_includes/brand-license.html create mode 100644 public/vendor/font-awesome/src/_includes/community/getting-support.html create mode 100644 public/vendor/font-awesome/src/_includes/community/project-milestones.html create mode 100644 public/vendor/font-awesome/src/_includes/community/reporting-bugs.html create mode 100644 public/vendor/font-awesome/src/_includes/community/requesting-new-icons.html create mode 100644 public/vendor/font-awesome/src/_includes/community/submitting-pull-requests.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/bootstrap.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/bordered-pulled.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/custom.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/fixed-width.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/inline.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/larger.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/list.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/rotated-flipped.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/spinning.html create mode 100644 public/vendor/font-awesome/src/_includes/examples/stacked.html create mode 100644 public/vendor/font-awesome/src/_includes/footer.html create mode 100644 public/vendor/font-awesome/src/_includes/icons/brand.html create mode 100644 public/vendor/font-awesome/src/_includes/icons/currency.html create mode 100644 public/vendor/font-awesome/src/_includes/icons/directional.html create mode 100644 public/vendor/font-awesome/src/_includes/icons/form-control.html create mode 100644 public/vendor/font-awesome/src/_includes/icons/medical.html create mode 100644 public/vendor/font-awesome/src/_includes/icons/new.html create mode 100644 public/vendor/font-awesome/src/_includes/icons/text-editor.html create mode 100644 public/vendor/font-awesome/src/_includes/icons/video-player.html create mode 100644 public/vendor/font-awesome/src/_includes/icons/web-application.html create mode 100644 public/vendor/font-awesome/src/_includes/jumbotron-carousel.html create mode 100644 public/vendor/font-awesome/src/_includes/jumbotron.html create mode 100644 public/vendor/font-awesome/src/_includes/license-code.less create mode 100644 public/vendor/font-awesome/src/_includes/navbar.html create mode 100644 public/vendor/font-awesome/src/_includes/new-features.html create mode 100644 public/vendor/font-awesome/src/_includes/new-naming.html create mode 100644 public/vendor/font-awesome/src/_includes/new-upgrading.html create mode 100644 public/vendor/font-awesome/src/_includes/stripe-ad.html create mode 100644 public/vendor/font-awesome/src/_includes/stripe-social.html create mode 100644 public/vendor/font-awesome/src/_includes/tell-me-thanks.html create mode 100644 public/vendor/font-awesome/src/_includes/tests/rotated-flipped-inside-anchor.html create mode 100644 public/vendor/font-awesome/src/_includes/tests/rotated-flipped-inside-btn.html create mode 100644 public/vendor/font-awesome/src/_includes/tests/rotated-flipped.html create mode 100644 public/vendor/font-awesome/src/_includes/tests/stacked-inside-anchor.html create mode 100644 public/vendor/font-awesome/src/_includes/tests/stacked.html create mode 100644 public/vendor/font-awesome/src/_includes/thanks-to.html create mode 100644 public/vendor/font-awesome/src/_includes/why.html create mode 100644 public/vendor/font-awesome/src/_layouts/base.html create mode 100644 public/vendor/font-awesome/src/_layouts/icon.html create mode 100644 public/vendor/font-awesome/src/_plugins/icon_page_generator.rb create mode 100644 public/vendor/font-awesome/src/_plugins/site.rb create mode 100644 public/vendor/font-awesome/src/assets/css/prettify.css create mode 100644 public/vendor/font-awesome/src/assets/css/pygments.css create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/fonts/FontAwesome.otf create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/fonts/fontawesome-webfont.eot create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/fonts/fontawesome-webfont.svg create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/fonts/fontawesome-webfont.ttf create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/fonts/fontawesome-webfont.woff create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/bordered-pulled.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/core.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/fixed-width.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/font-awesome.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/icons.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/larger.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/list.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/mixins.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/path.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/rotated-flipped.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/spinning.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/stacked.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/less/variables.less create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_bordered-pulled.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_core.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_fixed-width.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_icons.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_larger.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_list.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_mixins.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_path.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_rotated-flipped.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_spinning.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_stacked.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/_variables.scss create mode 100644 public/vendor/font-awesome/src/assets/font-awesome/scss/font-awesome.scss create mode 100644 public/vendor/font-awesome/src/assets/ico/favicon.ico create mode 100644 public/vendor/font-awesome/src/assets/js/ZeroClipboard-1.1.7.min.js create mode 100644 public/vendor/font-awesome/src/assets/js/ZeroClipboard-1.1.7.swf create mode 100644 public/vendor/font-awesome/src/assets/js/backbone.min.js create mode 100644 public/vendor/font-awesome/src/assets/js/bootstrap-2.3.1.min.js create mode 100644 public/vendor/font-awesome/src/assets/js/bootstrap-222.min.js create mode 100644 public/vendor/font-awesome/src/assets/js/bootstrap-3.0.0.min.js create mode 100644 public/vendor/font-awesome/src/assets/js/html5shiv.js create mode 100644 public/vendor/font-awesome/src/assets/js/jquery-1.10.2.js create mode 100644 public/vendor/font-awesome/src/assets/js/jquery-1.10.2.min.js create mode 100644 public/vendor/font-awesome/src/assets/js/jquery-1.10.2.min.map create mode 100644 public/vendor/font-awesome/src/assets/js/jquery-1.7.1.min.js create mode 100644 public/vendor/font-awesome/src/assets/js/prettify.min.js create mode 100644 public/vendor/font-awesome/src/assets/js/respond.min.js create mode 100644 public/vendor/font-awesome/src/assets/js/site.js create mode 100644 public/vendor/font-awesome/src/assets/js/underscore.min.js create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/alerts.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/badges.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/bootstrap.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/breadcrumbs.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/button-groups.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/buttons.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/carousel.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/close.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/code.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/component-animations.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/dropdowns.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/forms.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/glyphicons.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/grid.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/input-groups.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/jumbotron.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/labels.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/list-group.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/media.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/mixins.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/modals.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/navbar.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/navs.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/normalize.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/pager.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/pagination.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/panels.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/popovers.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/print.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/progress-bars.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/responsive-utilities.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/scaffolding.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/tables.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/theme.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/thumbnails.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/tooltip.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/type.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/utilities.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/variables.less create mode 100644 public/vendor/font-awesome/src/assets/less/bootstrap-3.0.0/wells.less create mode 100644 public/vendor/font-awesome/src/assets/less/site.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/bootstrap/buttons.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/bootstrap/jumbotron.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/bootstrap/navbar.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/bootstrap/type.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/bootstrap/variables.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/bootstrap/wells.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/carbonad.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/example-rating.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/feature-list.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/fontawesome-icon-list.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/footer.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/jumbotron-carousel.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/layout.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/lazy.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/responsive/screen-lg.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/responsive/screen-md.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/responsive/screen-sm.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/responsive/screen-xs.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/social-buttons.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/stripe-ad.less create mode 100644 public/vendor/font-awesome/src/assets/less/site/textured-bg.less create mode 100644 public/vendor/font-awesome/src/cheatsheet.html create mode 100644 public/vendor/font-awesome/src/community.html create mode 100644 public/vendor/font-awesome/src/design.html create mode 100644 public/vendor/font-awesome/src/examples.html create mode 100644 public/vendor/font-awesome/src/get-started.html create mode 100644 public/vendor/font-awesome/src/glyphicons-test.html create mode 100644 public/vendor/font-awesome/src/icons.html create mode 100644 public/vendor/font-awesome/src/icons.yml create mode 100644 public/vendor/font-awesome/src/index.html create mode 100644 public/vendor/font-awesome/src/license.html create mode 100644 public/vendor/font-awesome/src/test-2.3.2.html create mode 100644 public/vendor/font-awesome/src/test.html create mode 100644 public/vendor/font-awesome/src/whats-new.html create mode 100644 public/vendor/jquery-ui/.bower.json create mode 100644 public/vendor/jquery-ui/.gitignore create mode 100644 public/vendor/jquery-ui/AUTHORS.txt create mode 100644 public/vendor/jquery-ui/MIT-LICENSE.txt create mode 100644 public/vendor/jquery-ui/README.md create mode 100644 public/vendor/jquery-ui/bower.json create mode 100644 public/vendor/jquery-ui/component.json create mode 100644 public/vendor/jquery-ui/composer.json create mode 100644 public/vendor/jquery-ui/package.json create mode 100644 public/vendor/jquery-ui/themes/base/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-icons_2e83ff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-icons_454545_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-icons_888888_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.accordion.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.all.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.autocomplete.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.base.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.button.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.core.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.datepicker.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.dialog.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.menu.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.progressbar.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.resizable.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.selectable.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.slider.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.spinner.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.tabs.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/base/jquery.ui.tooltip.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-icons_2e83ff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-icons_454545_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-icons_888888_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.accordion.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.autocomplete.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.button.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.core.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.datepicker.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.dialog.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.menu.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.progressbar.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.resizable.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.selectable.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.slider.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.spinner.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.tabs.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.theme.min.css create mode 100644 public/vendor/jquery-ui/themes/base/minified/jquery.ui.tooltip.min.css create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-bg_diagonals-thick_8_333333_40x40.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-bg_flat_65_ffffff_40x100.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-bg_glass_40_111111_1x400.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-bg_glass_55_1c1c1c_1x400.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_40_aaaaaa_1x100.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-bg_highlight-soft_50_aaaaaa_1x100.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_45_cd0a0a_1x100.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_55_ffeb80_1x100.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-icons_4ca300_256x240.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-icons_bbbbbb_256x240.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-icons_ededed_256x240.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-icons_ffcf29_256x240.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/black-tie/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/black-tie/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/black-tie/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-bg_diagonals-thick_75_f3d8d8_40x40.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-bg_dots-small_65_a6a6a6_2x2.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-bg_flat_0_333333_40x100.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-bg_flat_65_ffffff_40x100.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-bg_glass_55_fbf8ee_1x400.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_eeeeee_1x100.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_f6f6f6_1x100.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-bg_highlight-soft_15_cc0000_1x100.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-icons_004276_256x240.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-icons_cc0000_256x240.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/blitzer/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/blitzer/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/blitzer/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-bg_glass_50_3baae3_1x400.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-icons_2694e8_256x240.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-icons_2e83ff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-icons_3d80b3_256x240.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-icons_72a7cf_256x240.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/cupertino/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/cupertino/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/cupertino/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-bg_flat_30_cccccc_40x100.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-bg_flat_50_5c5c5c_40x100.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-bg_glass_40_ffc73d_1x400.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-bg_highlight-hard_20_0972a5_1x100.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_33_003147_1x100.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_35_222222_1x100.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_44_444444_1x100.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_80_eeeeee_1x100.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-bg_loop_25_000000_21x21.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-icons_4b8e0b_256x240.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-icons_a83300_256x240.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-icons_cccccc_256x240.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/dark-hive/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/dark-hive/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/dark-hive/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-bg_diagonals-thick_15_0b3e6f_40x40.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-bg_dots-medium_30_0b58a2_4x4.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_20_333333_2x2.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_30_a32d00_2x2.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_40_00498f_2x2.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-bg_flat_40_292929_40x100.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-bg_gloss-wave_20_111111_500x100.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-icons_00498f_256x240.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-icons_98d2fb_256x240.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-icons_9ccdfc_256x240.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/dot-luv/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/dot-luv/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/dot-luv/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-bg_flat_0_eeeeee_40x100.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-bg_flat_55_994d53_40x100.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-bg_flat_55_fafafa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-bg_gloss-wave_30_3d3644_500x100.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_dcd9de_1x100.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_eae6ea_1x100.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_25_30273a_1x100.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_45_5f5964_1x100.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-icons_454545_256x240.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-icons_734d99_256x240.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-icons_8d78a5_256x240.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-icons_a8a3ae_256x240.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-icons_ebccce_256x240.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/eggplant/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/eggplant/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/eggplant/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-small_25_c5ddfc_40x40.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_20_e69700_40x40.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_22_1484e6_40x40.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_26_2293f7_40x40.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e69700_40x100.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e6b900_40x100.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-bg_highlight-soft_100_f9f9f9_1x100.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-bg_inset-hard_100_eeeeee_1x100.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-icons_0a82eb_256x240.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-icons_0b54d5_256x240.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-icons_5fa5e3_256x240.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-icons_fcdd4a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/excite-bike/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/excite-bike/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/excite-bike/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/flick/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-bg_flat_0_eeeeee_40x100.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-bg_flat_55_ffffff_40x100.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-icons_0073ea_256x240.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-icons_454545_256x240.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-icons_666666_256x240.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-icons_ff0084_256x240.png create mode 100644 public/vendor/jquery-ui/themes/flick/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/flick/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/flick/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/flick/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_40_db4865_40x40.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_93c3cd_40x40.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_ff3853_40x40.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_75_ccd232_40x40.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-medium_80_ffff38_4x4.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-small_35_35414f_2x2.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ba9217_40x100.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-bg_white-lines_85_f7f7ba_40x100.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-icons_454545_256x240.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-icons_88a206_256x240.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-icons_c02669_256x240.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-icons_e1e463_256x240.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-icons_ffeb33_256x240.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/hot-sneaks/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/humanity/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-bg_flat_75_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-bg_glass_100_f5f0e5_1x400.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-bg_glass_25_cb842e_1x400.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-bg_glass_70_ede4d4_1x400.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_100_f4f0ec_1x100.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_65_fee4bd_1x100.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_75_f5f5b5_1x100.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-bg_inset-soft_100_f4f0ec_1x100.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-icons_c47a23_256x240.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-icons_cb672b_256x240.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-icons_f08000_256x240.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-icons_f35f07_256x240.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-icons_ff7519_256x240.png create mode 100644 public/vendor/jquery-ui/themes/humanity/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/humanity/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/humanity/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/humanity/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_15_444444_40x40.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_95_ffdc2e_40x40.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-bg_glass_55_fbf5d0_1x400.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-bg_highlight-hard_30_285c00_1x100.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_33_3a8104_1x100.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_50_4eb305_1x100.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_60_4ca20b_1x100.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-bg_inset-soft_10_285c00_1x100.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-icons_4eb305_256x240.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-icons_72b42d_256x240.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/le-frog/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/le-frog/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/le-frog/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-icons_9bcc60_256x240.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-icons_add978_256x240.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-icons_e3ddc9_256x240.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-icons_f1fd86_256x240.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/mint-choc/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/mint-choc/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/mint-choc/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/overcast/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-bg_flat_0_eeeeee_40x100.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-bg_flat_55_c0402a_40x100.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-bg_flat_55_eeeeee_40x100.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-bg_glass_100_f8f8f8_1x400.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-bg_glass_35_dddddd_1x400.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-bg_glass_60_eeeeee_1x400.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-bg_inset-hard_75_999999_1x100.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-bg_inset-soft_50_c9c9c9_1x100.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-icons_3383bb_256x240.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-icons_454545_256x240.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-icons_70b2e1_256x240.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-icons_999999_256x240.png create mode 100644 public/vendor/jquery-ui/themes/overcast/images/ui-icons_fbc856_256x240.png create mode 100644 public/vendor/jquery-ui/themes/overcast/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/overcast/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/overcast/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_20_6e4f1c_10x10.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_40_000000_10x10.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_eceadf_60x60.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_f8f7f6_60x60.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_eceadf_60x60.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_f7f3de_60x60.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_ffffff_60x60.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_65_654b24_60x60.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_68_b83400_60x60.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-icons_3572ac_256x240.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-icons_8c291d_256x240.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-icons_b83400_256x240.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-icons_fbdb93_256x240.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/pepper-grinder/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/redmond/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-icons_217bc0_256x240.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-icons_2e83ff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-icons_469bdd_256x240.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-icons_6da8d5_256x240.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-icons_d8e7f3_256x240.png create mode 100644 public/vendor/jquery-ui/themes/redmond/images/ui-icons_f9bd01_256x240.png create mode 100644 public/vendor/jquery-ui/themes/redmond/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/redmond/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/redmond/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-icons_2e83ff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-icons_454545_256x240.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-icons_888888_256x240.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/smoothness/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/smoothness/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/smoothness/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/south-street/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-bg_glass_55_fcf0ba_1x400.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-bg_gloss-wave_100_ece8da_500x100.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_f5f3e5_1x100.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_fafaf4_1x100.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_15_459e00_1x100.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_95_cccccc_1x100.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_25_67b021_1x100.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_95_ffedad_1x100.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-bg_inset-soft_15_2b2922_1x100.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-icons_808080_256x240.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-icons_847e71_256x240.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-icons_8DC262_256x240.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-icons_eeeeee_256x240.png create mode 100644 public/vendor/jquery-ui/themes/south-street/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/south-street/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/south-street/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/south-street/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/start/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-bg_flat_55_999999_40x100.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-bg_flat_75_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-bg_glass_45_0078ae_1x400.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-bg_glass_55_f8da4e_1x400.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-bg_glass_75_79c9ec_1x400.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-icons_0078ae_256x240.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-icons_056b93_256x240.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-icons_d8e7f3_256x240.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-icons_e0fdff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-icons_f5e175_256x240.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-icons_f7a50d_256x240.png create mode 100644 public/vendor/jquery-ui/themes/start/images/ui-icons_fcd113_256x240.png create mode 100644 public/vendor/jquery-ui/themes/start/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/start/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/start/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/sunny/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-bg_diagonals-medium_20_d34d17_40x40.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-bg_flat_30_cccccc_40x100.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-bg_flat_50_5c5c5c_40x100.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_45_817865_500x100.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_60_fece2f_500x100.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_70_ffdd57_500x100.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_90_fff9e5_500x100.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-bg_highlight-soft_100_feeebd_1x100.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-bg_inset-soft_30_ffffff_1x100.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-icons_3d3d3d_256x240.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-icons_bd7b00_256x240.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-icons_d19405_256x240.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-icons_eb990f_256x240.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-icons_ed9f26_256x240.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-icons_fadc7a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/sunny/images/ui-icons_ffe180_256x240.png create mode 100644 public/vendor/jquery-ui/themes/sunny/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/sunny/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/sunny/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_10_4f4221_10x8.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_20_372806_10x8.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_675423_10x8.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_d5ac5d_10x8.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_261803_10x8.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_443113_10x8.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-bg_flat_75_ddd4b0_40x100.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-bg_highlight-hard_65_fee4bd_1x100.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-icons_070603_256x240.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-icons_e8e2b5_256x240.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-icons_e9cd86_256x240.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-icons_efec9f_256x240.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-icons_f2ec64_256x240.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-icons_f9f2bd_256x240.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/images/ui-icons_ff7519_256x240.png create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/swanky-purse/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-bg_diagonals-small_50_262626_40x40.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-bg_flat_0_303030_40x100.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-bg_flat_0_4c4c4c_40x100.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-bg_glass_40_0a0a0a_1x400.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-bg_glass_55_f1fbe5_1x400.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-bg_glass_60_000000_1x400.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_55_000000_500x100.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_85_9fda58_500x100.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_95_f6ecd5_500x100.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-icons_000000_256x240.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-icons_1f1f1f_256x240.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-icons_9fda58_256x240.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-icons_b8ec79_256x240.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/trontastic/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/trontastic/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/trontastic/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-icons_a83300_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-icons_cccccc_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/ui-darkness/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/ui-lightness/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/themes/vader/images/animated-overlay.gif create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-bg_gloss-wave_16_121212_500x100.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-bg_highlight-hard_15_888888_1x100.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-bg_highlight-hard_55_555555_1x100.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-bg_highlight-soft_35_adadad_1x100.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-bg_highlight-soft_60_dddddd_1x100.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-bg_inset-soft_15_121212_1x100.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-icons_666666_256x240.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-icons_aaaaaa_256x240.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-icons_bbbbbb_256x240.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-icons_c98000_256x240.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-icons_cccccc_256x240.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/jquery-ui/themes/vader/images/ui-icons_f29a00_256x240.png create mode 100644 public/vendor/jquery-ui/themes/vader/jquery-ui.css create mode 100644 public/vendor/jquery-ui/themes/vader/jquery-ui.min.css create mode 100644 public/vendor/jquery-ui/themes/vader/jquery.ui.theme.css create mode 100644 public/vendor/jquery-ui/ui/.jshintrc create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery-ui-i18n.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-af.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ar-DZ.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ar.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-az.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-be.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-bg.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-bs.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ca.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-cs.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-cy-GB.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-da.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-de.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-el.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-en-AU.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-en-GB.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-en-NZ.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-eo.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-es.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-et.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-eu.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-fa.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-fi.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-fo.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-fr-CA.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-fr-CH.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-fr.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-gl.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-he.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-hi.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-hr.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-hu.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-hy.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-id.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-is.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-it.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ja.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ka.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-kk.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-km.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ko.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ky.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-lb.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-lt.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-lv.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-mk.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ml.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ms.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-nb.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-nl-BE.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-nl.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-nn.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-no.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-pl.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-pt-BR.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-pt.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-rm.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ro.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ru.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-sk.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-sl.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-sq.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-sr-SR.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-sr.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-sv.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-ta.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-th.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-tj.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-tr.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-uk.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-vi.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-zh-CN.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-zh-HK.js create mode 100644 public/vendor/jquery-ui/ui/i18n/jquery.ui.datepicker-zh-TW.js create mode 100644 public/vendor/jquery-ui/ui/jquery-ui.custom.js create mode 100644 public/vendor/jquery-ui/ui/jquery-ui.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.accordion.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.autocomplete.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.button.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.core.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.datepicker.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.dialog.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.draggable.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.droppable.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-blind.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-bounce.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-clip.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-drop.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-explode.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-fade.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-fold.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-highlight.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-pulsate.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-scale.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-shake.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-slide.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect-transfer.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.effect.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.menu.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.mouse.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.position.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.progressbar.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.resizable.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.selectable.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.slider.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.sortable.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.spinner.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.tabs.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.tooltip.js create mode 100644 public/vendor/jquery-ui/ui/jquery.ui.widget.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery-ui-i18n.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-af.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ar-DZ.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ar.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-az.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-be.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-bg.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-bs.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ca.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-cs.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-cy-GB.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-da.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-de.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-el.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-en-AU.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-en-GB.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-en-NZ.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-eo.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-es.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-et.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-eu.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fa.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fi.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fo.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fr-CA.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fr-CH.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fr.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-gl.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-he.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-hi.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-hr.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-hu.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-hy.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-id.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-is.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-it.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ja.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ka.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-kk.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-km.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ko.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ky.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-lb.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-lt.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-lv.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-mk.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ml.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ms.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-nb.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-nl-BE.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-nl.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-nn.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-no.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-pl.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-pt-BR.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-pt.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-rm.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ro.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ru.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sk.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sl.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sq.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sr-SR.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sr.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sv.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ta.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-th.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-tj.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-tr.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-uk.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-vi.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-zh-CN.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-zh-HK.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-zh-TW.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery-ui.custom.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery-ui.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.accordion.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.autocomplete.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.button.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.core.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.datepicker.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.dialog.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.draggable.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.droppable.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-blind.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-bounce.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-clip.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-drop.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-explode.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-fade.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-fold.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-highlight.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-pulsate.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-scale.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-shake.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-slide.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect-transfer.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.effect.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.menu.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.mouse.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.position.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.progressbar.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.resizable.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.selectable.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.slider.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.sortable.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.spinner.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.tabs.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.tooltip.min.js create mode 100644 public/vendor/jquery-ui/ui/minified/jquery.ui.widget.min.js create mode 100644 public/vendor/jquery/.bower.json create mode 100644 public/vendor/jquery/MIT-LICENSE.txt create mode 100644 public/vendor/jquery/bower.json create mode 100644 public/vendor/jquery/dist/jquery.js create mode 100644 public/vendor/jquery/dist/jquery.min.js create mode 100644 public/vendor/jquery/dist/jquery.min.map create mode 100644 public/vendor/jquery/jquery.min.js create mode 100644 public/vendor/jquery/src/ajax.js create mode 100644 public/vendor/jquery/src/ajax/jsonp.js create mode 100644 public/vendor/jquery/src/ajax/load.js create mode 100644 public/vendor/jquery/src/ajax/parseJSON.js create mode 100644 public/vendor/jquery/src/ajax/parseXML.js create mode 100644 public/vendor/jquery/src/ajax/script.js create mode 100644 public/vendor/jquery/src/ajax/var/nonce.js create mode 100644 public/vendor/jquery/src/ajax/var/rquery.js create mode 100644 public/vendor/jquery/src/ajax/xhr.js create mode 100644 public/vendor/jquery/src/attributes.js create mode 100644 public/vendor/jquery/src/attributes/attr.js create mode 100644 public/vendor/jquery/src/attributes/classes.js create mode 100644 public/vendor/jquery/src/attributes/prop.js create mode 100644 public/vendor/jquery/src/attributes/support.js create mode 100644 public/vendor/jquery/src/attributes/val.js create mode 100644 public/vendor/jquery/src/callbacks.js create mode 100644 public/vendor/jquery/src/core.js create mode 100644 public/vendor/jquery/src/core/access.js create mode 100644 public/vendor/jquery/src/core/init.js create mode 100644 public/vendor/jquery/src/core/parseHTML.js create mode 100644 public/vendor/jquery/src/core/ready.js create mode 100644 public/vendor/jquery/src/core/var/rsingleTag.js create mode 100644 public/vendor/jquery/src/css.js create mode 100644 public/vendor/jquery/src/css/addGetHookIf.js create mode 100644 public/vendor/jquery/src/css/curCSS.js create mode 100644 public/vendor/jquery/src/css/defaultDisplay.js create mode 100644 public/vendor/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 public/vendor/jquery/src/css/support.js create mode 100644 public/vendor/jquery/src/css/swap.js create mode 100644 public/vendor/jquery/src/css/var/cssExpand.js create mode 100644 public/vendor/jquery/src/css/var/isHidden.js create mode 100644 public/vendor/jquery/src/css/var/rmargin.js create mode 100644 public/vendor/jquery/src/css/var/rnumnonpx.js create mode 100644 public/vendor/jquery/src/data.js create mode 100644 public/vendor/jquery/src/data/accepts.js create mode 100644 public/vendor/jquery/src/data/support.js create mode 100644 public/vendor/jquery/src/deferred.js create mode 100644 public/vendor/jquery/src/deprecated.js create mode 100644 public/vendor/jquery/src/dimensions.js create mode 100644 public/vendor/jquery/src/effects.js create mode 100644 public/vendor/jquery/src/effects/Tween.js create mode 100644 public/vendor/jquery/src/effects/animatedSelector.js create mode 100644 public/vendor/jquery/src/effects/support.js create mode 100644 public/vendor/jquery/src/event.js create mode 100644 public/vendor/jquery/src/event/alias.js create mode 100644 public/vendor/jquery/src/event/support.js create mode 100644 public/vendor/jquery/src/exports/amd.js create mode 100644 public/vendor/jquery/src/exports/global.js create mode 100644 public/vendor/jquery/src/intro.js create mode 100644 public/vendor/jquery/src/jquery.js create mode 100644 public/vendor/jquery/src/manipulation.js create mode 100644 public/vendor/jquery/src/manipulation/_evalUrl.js create mode 100644 public/vendor/jquery/src/manipulation/support.js create mode 100644 public/vendor/jquery/src/manipulation/var/rcheckableType.js create mode 100644 public/vendor/jquery/src/offset.js create mode 100644 public/vendor/jquery/src/outro.js create mode 100644 public/vendor/jquery/src/queue.js create mode 100644 public/vendor/jquery/src/queue/delay.js create mode 100644 public/vendor/jquery/src/selector-sizzle.js create mode 100644 public/vendor/jquery/src/selector.js create mode 100644 public/vendor/jquery/src/serialize.js create mode 100644 public/vendor/jquery/src/sizzle/dist/sizzle.js create mode 100644 public/vendor/jquery/src/sizzle/dist/sizzle.min.js create mode 100644 public/vendor/jquery/src/sizzle/dist/sizzle.min.map create mode 100644 public/vendor/jquery/src/support.js create mode 100644 public/vendor/jquery/src/traversing.js create mode 100644 public/vendor/jquery/src/traversing/findFilter.js create mode 100644 public/vendor/jquery/src/traversing/var/rneedsContext.js create mode 100644 public/vendor/jquery/src/var/class2type.js create mode 100644 public/vendor/jquery/src/var/concat.js create mode 100644 public/vendor/jquery/src/var/deletedIds.js create mode 100644 public/vendor/jquery/src/var/hasOwn.js create mode 100644 public/vendor/jquery/src/var/indexOf.js create mode 100644 public/vendor/jquery/src/var/pnum.js create mode 100644 public/vendor/jquery/src/var/push.js create mode 100644 public/vendor/jquery/src/var/rnotwhite.js create mode 100644 public/vendor/jquery/src/var/slice.js create mode 100644 public/vendor/jquery/src/var/strundefined.js create mode 100644 public/vendor/jquery/src/var/support.js create mode 100644 public/vendor/jquery/src/var/toString.js create mode 100644 public/vendor/jquery/src/var/trim.js create mode 100644 public/vendor/jquery/src/wrap.js create mode 100644 public/vendor/jspdf/.bower.json create mode 100644 public/vendor/jspdf/.gitignore create mode 100644 public/vendor/jspdf/.gitmodules create mode 100644 public/vendor/jspdf/CNAME create mode 100644 public/vendor/jspdf/MIT-LICENSE.txt create mode 100644 public/vendor/jspdf/README.md create mode 100644 public/vendor/jspdf/dist/jspdf.amd.min.js create mode 100644 public/vendor/jspdf/dist/jspdf.min.js create mode 100644 public/vendor/jspdf/dist/jspdf.source.js create mode 100644 public/vendor/jspdf/doc/files.html create mode 100644 public/vendor/jspdf/doc/index.html create mode 100644 public/vendor/jspdf/doc/symbols/FontObject.html create mode 100644 public/vendor/jspdf/doc/symbols/PubSub.html create mode 100644 public/vendor/jspdf/doc/symbols/_global_.html create mode 100644 public/vendor/jspdf/doc/symbols/jsPDF-PubSub.html create mode 100644 public/vendor/jspdf/doc/symbols/jsPDF-jsPDF.html create mode 100644 public/vendor/jspdf/doc/symbols/jsPDF.html create mode 100644 public/vendor/jspdf/doc/symbols/jsPDFClass.html create mode 100644 public/vendor/jspdf/doc/symbols/src/c__work_jsPDF_jspdf.js.html create mode 100644 public/vendor/jspdf/doc/symbols/src/c__work_jsPDF_tools_jspdf.js.html create mode 100644 public/vendor/jspdf/doc/symbols/src/jspdf.js.html create mode 100644 public/vendor/jspdf/examples/basic.html create mode 100644 public/vendor/jspdf/examples/bootstrap/css/bootstrap-responsive.css create mode 100644 public/vendor/jspdf/examples/bootstrap/css/bootstrap-responsive.min.css create mode 100644 public/vendor/jspdf/examples/bootstrap/css/bootstrap.css create mode 100644 public/vendor/jspdf/examples/bootstrap/css/bootstrap.min.css create mode 100644 public/vendor/jspdf/examples/bootstrap/img/glyphicons-halflings-white.png create mode 100644 public/vendor/jspdf/examples/bootstrap/img/glyphicons-halflings.png create mode 100644 public/vendor/jspdf/examples/bootstrap/js/bootstrap.js create mode 100644 public/vendor/jspdf/examples/bootstrap/js/bootstrap.min.js create mode 100644 public/vendor/jspdf/examples/css/editor.css create mode 100644 public/vendor/jspdf/examples/css/main.css create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-icons_222222_256x240.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-icons_2e83ff_256x240.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-icons_454545_256x240.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-icons_888888_256x240.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/vendor/jspdf/examples/css/smoothness/jquery-ui-1.8.17.custom.css create mode 100644 public/vendor/jspdf/examples/downloadify.html create mode 100644 public/vendor/jspdf/examples/jaxer.html create mode 100644 public/vendor/jspdf/examples/js/basic.js create mode 100644 public/vendor/jspdf/examples/js/circles.js create mode 100644 public/vendor/jspdf/examples/js/editor.js create mode 100644 public/vendor/jspdf/examples/js/font-faces.js create mode 100644 public/vendor/jspdf/examples/js/font-size.js create mode 100644 public/vendor/jspdf/examples/js/from-html.js create mode 100644 public/vendor/jspdf/examples/js/images.js create mode 100644 public/vendor/jspdf/examples/js/jquery/jquery-1.7.1.min.js create mode 100644 public/vendor/jspdf/examples/js/jquery/jquery-ui-1.8.17.custom.min.js create mode 100644 public/vendor/jspdf/examples/js/kitchen-sink.js create mode 100644 public/vendor/jspdf/examples/js/landscape.js create mode 100644 public/vendor/jspdf/examples/js/lines.js create mode 100644 public/vendor/jspdf/examples/js/rectangles.js create mode 100644 public/vendor/jspdf/examples/js/string-splitting.js create mode 100644 public/vendor/jspdf/examples/js/text-colors.js create mode 100644 public/vendor/jspdf/examples/js/theme-ambiance.js create mode 100644 public/vendor/jspdf/examples/js/triangles.js create mode 100644 public/vendor/jspdf/examples/js/two-page.js create mode 100644 public/vendor/jspdf/examples/js/user-input.js create mode 100644 public/vendor/jspdf/examples/octocat.jpg create mode 100644 public/vendor/jspdf/examples/octocat.png create mode 100644 public/vendor/jspdf/examples/runner.html create mode 100644 public/vendor/jspdf/examples/thinking-monkey.jpg create mode 100644 public/vendor/jspdf/index.html create mode 100644 public/vendor/jspdf/jspdf.PLUGINTEMPLATE.js create mode 100644 public/vendor/jspdf/jspdf.js create mode 100644 public/vendor/jspdf/jspdf.plugin.addimage.js create mode 100644 public/vendor/jspdf/jspdf.plugin.cell.js create mode 100644 public/vendor/jspdf/jspdf.plugin.from_html.js create mode 100644 public/vendor/jspdf/jspdf.plugin.ie_below_9_shim.js create mode 100644 public/vendor/jspdf/jspdf.plugin.javascript.js create mode 100644 public/vendor/jspdf/jspdf.plugin.sillysvgrenderer.js create mode 100644 public/vendor/jspdf/jspdf.plugin.split_text_to_size.js create mode 100644 public/vendor/jspdf/jspdf.plugin.standard_fonts_metrics.js create mode 100644 public/vendor/jspdf/libs/Deflate/adler32cs.js create mode 100644 public/vendor/jspdf/libs/Deflate/deflate.js create mode 100644 public/vendor/jspdf/libs/Downloadify/LICENSE.txt create mode 100644 public/vendor/jspdf/libs/Downloadify/README.textile create mode 100644 public/vendor/jspdf/libs/Downloadify/images/download.png create mode 100644 public/vendor/jspdf/libs/Downloadify/js/downloadify.min.js create mode 100644 public/vendor/jspdf/libs/Downloadify/js/swfobject.js create mode 100644 public/vendor/jspdf/libs/Downloadify/media/downloadify.swf create mode 100644 public/vendor/jspdf/libs/Downloadify/src/Downloadify.as create mode 100644 public/vendor/jspdf/libs/Downloadify/src/com/dynamicflash/util/Base64.as create mode 100644 public/vendor/jspdf/libs/Downloadify/src/com/dynamicflash/util/tests/Base64Test.as create mode 100644 public/vendor/jspdf/libs/Downloadify/src/downloadify.js create mode 100644 public/vendor/jspdf/libs/Downloadify/test.html create mode 100644 public/vendor/jspdf/libs/README create mode 100644 public/vendor/jspdf/test/001_blankpdf.pdf create mode 100644 public/vendor/jspdf/test/002_twopagedoc.pdf create mode 100644 public/vendor/jspdf/test/002_twopagedoc_oldapi.pdf create mode 100644 public/vendor/jspdf/test/003_demolandscape.pdf create mode 100644 public/vendor/jspdf/test/004_fontsizes.pdf create mode 100644 public/vendor/jspdf/test/005_demofonttypes.pdf create mode 100644 public/vendor/jspdf/test/006_demotestcolors.pdf create mode 100644 public/vendor/jspdf/test/007_demometadata.pdf create mode 100644 public/vendor/jspdf/test/008_demorectangles.pdf create mode 100644 public/vendor/jspdf/test/009_demoliness.pdf create mode 100644 public/vendor/jspdf/test/010_democircles.pdf create mode 100644 public/vendor/jspdf/test/011_multilinetext.pdf create mode 100644 public/vendor/jspdf/test/012_multiplelines.pdf create mode 100644 public/vendor/jspdf/test/013_sillysvgrenderer.pdf create mode 100644 public/vendor/jspdf/test/013_sillysvgrenderer.svg create mode 100644 public/vendor/jspdf/test/014_addImage.jpeg create mode 100644 public/vendor/jspdf/test/014_addImage.jpeg.base64.txt create mode 100644 public/vendor/jspdf/test/014_addImage.pdf.base64.txt create mode 100644 public/vendor/jspdf/test/014_addImage.txt create mode 100644 public/vendor/jspdf/test/015_splittext.js create mode 100644 public/vendor/jspdf/test/015_splittext.pdf create mode 100644 public/vendor/jspdf/test/components_tests.js create mode 100644 public/vendor/jspdf/test/index.htm create mode 100644 public/vendor/jspdf/test/libs/curl-0.5.4.min.js create mode 100644 public/vendor/jspdf/test/libs/custom_fill.js create mode 100644 public/vendor/jspdf/test/libs/qunit.css create mode 100644 public/vendor/jspdf/test/libs/qunit.js create mode 100644 public/vendor/jspdf/test/pdf_generate_tests.js create mode 100644 public/vendor/jspdf/test/test.html create mode 100644 public/vendor/jspdf/test/test_min.html create mode 100644 public/vendor/jspdf/tools/jsdoc_template/allclasses.tmpl create mode 100644 public/vendor/jspdf/tools/jsdoc_template/allfiles.tmpl create mode 100644 public/vendor/jspdf/tools/jsdoc_template/class.tmpl create mode 100644 public/vendor/jspdf/tools/jsdoc_template/index.tmpl create mode 100644 public/vendor/jspdf/tools/jsdoc_template/publish.js create mode 100644 public/vendor/jspdf/tools/jsdoc_template/static/default.css create mode 100644 public/vendor/jspdf/tools/jsdoc_template/static/header.html create mode 100644 public/vendor/jspdf/tools/jsdoc_template/static/index.html create mode 100644 public/vendor/jspdf/tools/jsdoc_template/symbol.tmpl create mode 100644 public/vendor/jspdf/wscript.py create mode 100644 public/vendor/knockout-mapping/.bower.json create mode 100644 public/vendor/knockout-mapping/.gitignore create mode 100644 public/vendor/knockout-mapping/HISTORY.md create mode 100644 public/vendor/knockout-mapping/Package.nuspec create mode 100644 public/vendor/knockout-mapping/README.md create mode 100644 public/vendor/knockout-mapping/build/build-linux create mode 100644 public/vendor/knockout-mapping/build/output/knockout.mapping-latest.debug.js create mode 100644 public/vendor/knockout-mapping/build/output/knockout.mapping-latest.js create mode 100644 public/vendor/knockout-mapping/build/tools/curl.exe create mode 100644 public/vendor/knockout-mapping/build/tools/searchReplace.js create mode 100644 public/vendor/knockout-mapping/build/version-header.js create mode 100644 public/vendor/knockout-mapping/knockout.mapping.js create mode 100644 public/vendor/knockout-mapping/spec/issues.js create mode 100644 public/vendor/knockout-mapping/spec/lib/json2.js create mode 100644 public/vendor/knockout-mapping/spec/lib/qunit-1.10.0.css create mode 100644 public/vendor/knockout-mapping/spec/lib/qunit-1.10.0.js create mode 100644 public/vendor/knockout-mapping/spec/mappingBehaviors.js create mode 100644 public/vendor/knockout-mapping/spec/proxyDependentObservableBehaviors.js create mode 100644 public/vendor/knockout-mapping/spec/runner.html create mode 100644 public/vendor/knockout-sortable/.bower.json create mode 100644 public/vendor/knockout-sortable/README.md create mode 100644 public/vendor/knockout-sortable/bower.json create mode 100644 public/vendor/knockout-sortable/build/knockout-sortable.js create mode 100644 public/vendor/knockout-sortable/build/knockout-sortable.min.js create mode 100644 public/vendor/knockout.js/.bower.json create mode 100644 public/vendor/knockout.js/README.md create mode 100644 public/vendor/knockout.js/bower.json create mode 100644 public/vendor/knockout.js/knockout.debug.js create mode 100644 public/vendor/knockout.js/knockout.js create mode 100644 public/vendor/pdfjs/.bower.json create mode 100644 public/vendor/pdfjs/.gitattributes create mode 100644 public/vendor/pdfjs/.gitignore create mode 100644 public/vendor/pdfjs/.gitmodules create mode 100644 public/vendor/pdfjs/.jshintrc create mode 100644 public/vendor/pdfjs/.travis.yml create mode 100644 public/vendor/pdfjs/AUTHORS create mode 100644 public/vendor/pdfjs/CONTRIBUTING.md create mode 100644 public/vendor/pdfjs/LICENSE create mode 100644 public/vendor/pdfjs/README.md create mode 100644 public/vendor/pdfjs/examples/acroforms/forms.js create mode 100644 public/vendor/pdfjs/examples/acroforms/index.html create mode 100644 public/vendor/pdfjs/examples/helloworld/README.md create mode 100644 public/vendor/pdfjs/examples/helloworld/hello.js create mode 100644 public/vendor/pdfjs/examples/helloworld/helloworld.pdf create mode 100644 public/vendor/pdfjs/examples/helloworld/index.html create mode 100644 public/vendor/pdfjs/examples/text-selection/css/minimal.css create mode 100644 public/vendor/pdfjs/examples/text-selection/index.html create mode 100644 public/vendor/pdfjs/examples/text-selection/js/minimal.js create mode 100644 public/vendor/pdfjs/examples/text-selection/pdf/TestDocument.pdf create mode 100644 public/vendor/pdfjs/extensions/b2g/images/div_line_left.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/div_line_left@1.5x.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/div_line_left@2x.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/div_line_right.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/div_line_right@1.5x.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/div_line_right@2x.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/document_bg.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/icon_next_page.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/icon_next_page@1.5x.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/icon_previous_page.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/icon_previous_page@1.5x.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/icon_zoom_in.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/icon_zoom_in@1.5x.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/icon_zoom_out.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/icon_zoom_out@1.5x.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/spinner.png create mode 100644 public/vendor/pdfjs/extensions/b2g/images/toolbar_background.png create mode 100644 public/vendor/pdfjs/extensions/b2g/viewer.css create mode 100644 public/vendor/pdfjs/extensions/b2g/viewer.html create mode 100644 public/vendor/pdfjs/extensions/chromium/.gitignore create mode 100644 public/vendor/pdfjs/extensions/chromium/chrome.tabs.executeScriptInFrame.js create mode 100644 public/vendor/pdfjs/extensions/chromium/contentscript.js create mode 100644 public/vendor/pdfjs/extensions/chromium/extension-router.js create mode 100644 public/vendor/pdfjs/extensions/chromium/feature-detect.js create mode 100644 public/vendor/pdfjs/extensions/chromium/icon128.png create mode 100644 public/vendor/pdfjs/extensions/chromium/icon16.png create mode 100644 public/vendor/pdfjs/extensions/chromium/icon19.png create mode 100644 public/vendor/pdfjs/extensions/chromium/icon38.png create mode 100644 public/vendor/pdfjs/extensions/chromium/icon48.png create mode 100644 public/vendor/pdfjs/extensions/chromium/manifest.json create mode 100644 public/vendor/pdfjs/extensions/chromium/pageActionPopup.html create mode 100644 public/vendor/pdfjs/extensions/chromium/pageActionPopup.js create mode 100644 public/vendor/pdfjs/extensions/chromium/pdfHandler-v2.js create mode 100644 public/vendor/pdfjs/extensions/chromium/pdfHandler-vcros.js create mode 100644 public/vendor/pdfjs/extensions/chromium/pdfHandler.html create mode 100644 public/vendor/pdfjs/extensions/chromium/pdfHandler.js create mode 100644 public/vendor/pdfjs/extensions/firefox/.gitignore create mode 100644 public/vendor/pdfjs/extensions/firefox/README.mozilla create mode 100644 public/vendor/pdfjs/extensions/firefox/bootstrap.js create mode 100644 public/vendor/pdfjs/extensions/firefox/chrome-mozcentral.manifest create mode 100644 public/vendor/pdfjs/extensions/firefox/chrome.manifest create mode 100644 public/vendor/pdfjs/extensions/firefox/content/PdfJs-stub.jsm create mode 100644 public/vendor/pdfjs/extensions/firefox/content/PdfJs.jsm create mode 100644 public/vendor/pdfjs/extensions/firefox/content/PdfJsTelemetry-addon.jsm create mode 100644 public/vendor/pdfjs/extensions/firefox/content/PdfJsTelemetry.jsm create mode 100644 public/vendor/pdfjs/extensions/firefox/content/PdfRedirector.jsm create mode 100644 public/vendor/pdfjs/extensions/firefox/content/PdfStreamConverter.jsm create mode 100644 public/vendor/pdfjs/extensions/firefox/icon.png create mode 100644 public/vendor/pdfjs/extensions/firefox/icon64.png create mode 100644 public/vendor/pdfjs/extensions/firefox/install.rdf create mode 100644 public/vendor/pdfjs/extensions/firefox/tools/l10n.js create mode 100644 public/vendor/pdfjs/extensions/firefox/update.rdf create mode 100644 public/vendor/pdfjs/external/.gitignore create mode 100644 public/vendor/pdfjs/external/bcmaps/.gitattributes create mode 100644 public/vendor/pdfjs/external/bcmaps/78-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/78-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/78-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/78-RKSJ-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/78-RKSJ-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/78-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/78ms-RKSJ-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/78ms-RKSJ-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/83pv-RKSJ-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/90ms-RKSJ-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/90ms-RKSJ-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/90msp-RKSJ-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/90msp-RKSJ-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/90pv-RKSJ-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/90pv-RKSJ-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Add-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Add-RKSJ-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Add-RKSJ-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Add-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-CNS1-0.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-CNS1-1.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-CNS1-2.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-CNS1-3.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-CNS1-4.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-CNS1-5.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-CNS1-6.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-CNS1-UCS2.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-GB1-0.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-GB1-1.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-GB1-2.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-GB1-3.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-GB1-4.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-GB1-5.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-GB1-UCS2.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Japan1-0.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Japan1-1.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Japan1-2.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Japan1-3.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Japan1-4.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Japan1-5.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Japan1-6.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Japan1-UCS2.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Korea1-0.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Korea1-1.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Korea1-2.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Adobe-Korea1-UCS2.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/B5pc-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/B5pc-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/CNS-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/CNS-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/CNS1-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/CNS1-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/CNS2-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/CNS2-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/ETHK-B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/ETHK-B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/ETen-B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/ETen-B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/ETenms-B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/ETenms-B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Ext-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Ext-RKSJ-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Ext-RKSJ-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Ext-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GB-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GB-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GB-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GB-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBK-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBK-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBK2K-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBK2K-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBKp-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBKp-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBT-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBT-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBT-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBT-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBTpc-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBTpc-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBpc-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/GBpc-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKdla-B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKdla-B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKdlb-B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKdlb-B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKgccs-B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKgccs-B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKm314-B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKm314-B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKm471-B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKm471-B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKscs-B5-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/HKscs-B5-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Hankaku.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Hiragana.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSC-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSC-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSC-Johab-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSC-Johab-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSCms-UHC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSCms-UHC-HW-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSCms-UHC-HW-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSCms-UHC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSCpc-EUC-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/KSCpc-EUC-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Katakana.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/LICENSE create mode 100644 public/vendor/pdfjs/external/bcmaps/NWP-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/NWP-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/RKSJ-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/RKSJ-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/Roman.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniCNS-UCS2-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniCNS-UCS2-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniCNS-UTF16-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniCNS-UTF16-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniCNS-UTF32-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniCNS-UTF32-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniCNS-UTF8-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniCNS-UTF8-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniGB-UCS2-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniGB-UCS2-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniGB-UTF16-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniGB-UTF16-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniGB-UTF32-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniGB-UTF32-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniGB-UTF8-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniGB-UTF8-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UCS2-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UCS2-HW-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UCS2-HW-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UCS2-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UTF16-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UTF16-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UTF32-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UTF32-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UTF8-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS-UTF8-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS2004-UTF16-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS2004-UTF16-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS2004-UTF32-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS2004-UTF32-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS2004-UTF8-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJIS2004-UTF8-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJISPro-UCS2-HW-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJISPro-UCS2-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJISPro-UTF8-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJISX0213-UTF32-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJISX0213-UTF32-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJISX02132004-UTF32-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniJISX02132004-UTF32-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniKS-UCS2-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniKS-UCS2-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniKS-UTF16-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniKS-UTF16-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniKS-UTF32-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniKS-UTF32-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniKS-UTF8-H.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/UniKS-UTF8-V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/V.bcmap create mode 100644 public/vendor/pdfjs/external/bcmaps/WP-Symbol.bcmap create mode 100644 public/vendor/pdfjs/external/builder/builder.js create mode 100644 public/vendor/pdfjs/external/cmapscompress/README.md create mode 100644 public/vendor/pdfjs/external/cmapscompress/compress.js create mode 100644 public/vendor/pdfjs/external/cmapscompress/optimize.js create mode 100644 public/vendor/pdfjs/external/cmapscompress/parse.js create mode 100644 public/vendor/pdfjs/external/crlfchecker/crlfchecker.js create mode 100644 public/vendor/pdfjs/external/importL10n/locales.js create mode 100644 public/vendor/pdfjs/external/jasmine/MIT.LICENSE create mode 100644 public/vendor/pdfjs/external/jasmine/jasmine-html.js create mode 100644 public/vendor/pdfjs/external/jasmine/jasmine.css create mode 100644 public/vendor/pdfjs/external/jasmine/jasmine.js create mode 100644 public/vendor/pdfjs/external/jasmine/jasmine_favicon.png create mode 100644 public/vendor/pdfjs/external/jpgjs/LICENSE create mode 100644 public/vendor/pdfjs/external/jpgjs/jpg.js create mode 100644 public/vendor/pdfjs/external/shelljs/LICENSE create mode 100644 public/vendor/pdfjs/external/shelljs/README.md create mode 100644 public/vendor/pdfjs/external/shelljs/global.js create mode 100644 public/vendor/pdfjs/external/shelljs/make.js create mode 100644 public/vendor/pdfjs/external/shelljs/package.json create mode 100644 public/vendor/pdfjs/external/shelljs/shell.js create mode 100644 public/vendor/pdfjs/external/webL10n/README.md create mode 100644 public/vendor/pdfjs/external/webL10n/l10n.js create mode 100644 public/vendor/pdfjs/l10n/README.md create mode 100644 public/vendor/pdfjs/l10n/ach/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ach/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/af/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/af/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ak/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ak/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/an/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/an/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ar/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ar/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/ar/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/as/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/as/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ast/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ast/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/az/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/az/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/be/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/be/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/bg/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/bg/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/bn-BD/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/bn-BD/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/bn-BD/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/bn-IN/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/bn-IN/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/br/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/br/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/bs/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/bs/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ca/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ca/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/ca/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/cs/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/cs/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/cs/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/csb/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/csb/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/cy/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/cy/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/cy/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/da/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/da/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/da/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/de/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/de/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/de/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/el/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/el/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/el/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/en-GB/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/en-GB/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/en-US/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/en-US/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/en-US/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/en-ZA/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/en-ZA/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/eo/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/eo/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/es-AR/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/es-AR/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/es-CL/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/es-CL/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/es-ES/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/es-ES/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/es-MX/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/es-MX/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/et/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/et/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/eu/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/eu/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/fa/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/fa/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/fa/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ff/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ff/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/fi/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/fi/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/fi/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/fr/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/fr/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/fr/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/fy-NL/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/fy-NL/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ga-IE/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ga-IE/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/gd/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/gd/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/gl/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/gl/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/gu-IN/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/gu-IN/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/he/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/he/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/he/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/hi-IN/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/hi-IN/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/hr/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/hr/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/hu/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/hu/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/hy-AM/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/hy-AM/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/id/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/id/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/is/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/is/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/it/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/it/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/it/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ja/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ja/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/ja/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ka/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ka/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/kk/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/kk/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/km/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/km/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/kn/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/kn/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ko/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ko/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/ko/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ku/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ku/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/lg/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/lg/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/lij/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/lij/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/lt/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/lt/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/lt/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/lv/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/lv/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/mai/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/mai/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/mk/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/mk/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ml/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ml/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/mn/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/mn/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/mr/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/mr/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ms/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ms/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/my/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/my/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/nb-NO/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/nb-NO/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/nl/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/nl/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/nl/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/nn-NO/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/nn-NO/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/nso/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/nso/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/oc/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/oc/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/or/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/or/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/pa-IN/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/pa-IN/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/pl/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/pl/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/pl/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/pt-BR/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/pt-BR/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/pt-BR/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/pt-PT/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/pt-PT/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/rm/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/rm/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ro/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ro/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/ro/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ru/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ru/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/ru/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/rw/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/rw/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/sah/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/sah/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/si/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/si/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/sk/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/sk/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/sl/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/sl/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/son/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/son/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/sq/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/sq/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/sr/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/sr/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/sr/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/sv-SE/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/sv-SE/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/sv-SE/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/sw/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/sw/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ta-LK/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ta-LK/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ta/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ta/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/te/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/te/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/th/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/th/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/tl/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/tl/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/tn/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/tn/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/tr/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/tr/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/tr/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/uk/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/uk/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/ur/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/ur/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/vi/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/vi/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/vi/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/wo/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/wo/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/xh/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/xh/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/zh-CN/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/zh-CN/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/zh-CN/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/zh-TW/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/zh-TW/metadata.inc create mode 100644 public/vendor/pdfjs/l10n/zh-TW/viewer.properties create mode 100644 public/vendor/pdfjs/l10n/zu/chrome.properties create mode 100644 public/vendor/pdfjs/l10n/zu/viewer.properties create mode 100644 public/vendor/pdfjs/make.js create mode 100644 public/vendor/pdfjs/package.json create mode 100644 public/vendor/pdfjs/src/core/arithmetic_decoder.js create mode 100644 public/vendor/pdfjs/src/core/bidi.js create mode 100644 public/vendor/pdfjs/src/core/charsets.js create mode 100644 public/vendor/pdfjs/src/core/chunked_stream.js create mode 100644 public/vendor/pdfjs/src/core/cidmaps.js create mode 100644 public/vendor/pdfjs/src/core/cmap.js create mode 100644 public/vendor/pdfjs/src/core/core.js create mode 100644 public/vendor/pdfjs/src/core/crypto.js create mode 100644 public/vendor/pdfjs/src/core/evaluator.js create mode 100644 public/vendor/pdfjs/src/core/font_renderer.js create mode 100644 public/vendor/pdfjs/src/core/fonts.js create mode 100644 public/vendor/pdfjs/src/core/glyphlist.js create mode 100644 public/vendor/pdfjs/src/core/image.js create mode 100644 public/vendor/pdfjs/src/core/jbig2.js create mode 100644 public/vendor/pdfjs/src/core/jpx.js create mode 100644 public/vendor/pdfjs/src/core/metrics.js create mode 100644 public/vendor/pdfjs/src/core/network.js create mode 100644 public/vendor/pdfjs/src/core/obj.js create mode 100644 public/vendor/pdfjs/src/core/parser.js create mode 100644 public/vendor/pdfjs/src/core/pattern.js create mode 100644 public/vendor/pdfjs/src/core/pdf_manager.js create mode 100644 public/vendor/pdfjs/src/core/ps_parser.js create mode 100644 public/vendor/pdfjs/src/core/stream.js create mode 100644 public/vendor/pdfjs/src/core/worker.js create mode 100644 public/vendor/pdfjs/src/display/api.js create mode 100644 public/vendor/pdfjs/src/display/canvas.js create mode 100644 public/vendor/pdfjs/src/display/font_loader.js create mode 100644 public/vendor/pdfjs/src/display/metadata.js create mode 100644 public/vendor/pdfjs/src/display/pattern_helper.js create mode 100644 public/vendor/pdfjs/src/display/webgl.js create mode 100644 public/vendor/pdfjs/src/images/logo.svg create mode 100644 public/vendor/pdfjs/src/pdf.js create mode 100644 public/vendor/pdfjs/src/shared/annotation.js create mode 100644 public/vendor/pdfjs/src/shared/cffStandardStrings.js create mode 100644 public/vendor/pdfjs/src/shared/colorspace.js create mode 100644 public/vendor/pdfjs/src/shared/fonts_utils.js create mode 100644 public/vendor/pdfjs/src/shared/function.js create mode 100644 public/vendor/pdfjs/src/shared/util.js create mode 100644 public/vendor/pdfjs/src/worker_loader.js create mode 100644 public/vendor/pdfjs/test/.gitignore create mode 100644 public/vendor/pdfjs/test/downloadutils.js create mode 100644 public/vendor/pdfjs/test/driver.js create mode 100644 public/vendor/pdfjs/test/features/index.html create mode 100644 public/vendor/pdfjs/test/features/tests.js create mode 100644 public/vendor/pdfjs/test/features/worker-stub.js create mode 100644 public/vendor/pdfjs/test/font/font_core_spec.js create mode 100644 public/vendor/pdfjs/test/font/font_fpgm_spec.js create mode 100644 public/vendor/pdfjs/test/font/font_os2_spec.js create mode 100644 public/vendor/pdfjs/test/font/font_post_spec.js create mode 100644 public/vendor/pdfjs/test/font/font_test.html create mode 100644 public/vendor/pdfjs/test/font/fontutils.js create mode 100644 public/vendor/pdfjs/test/font/ttxdriver.js create mode 100644 public/vendor/pdfjs/test/mozcentral/Makefile.in create mode 100644 public/vendor/pdfjs/test/mozcentral/browser_pdfjs_main.js create mode 100644 public/vendor/pdfjs/test/mozcentral/browser_pdfjs_savedialog.js create mode 100644 public/vendor/pdfjs/test/mozcentral/file_pdfjs_test.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/.gitattributes create mode 100644 public/vendor/pdfjs/test/pdfs/.gitignore create mode 100644 public/vendor/pdfjs/test/pdfs/20130226130259.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/ArabicCIDTrueType.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/DiwanProfile.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/JST2007-5.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/P020121130574743273239.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/S2.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/SFAA_Japanese.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/TAMReview.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/TaroUTR50SortedList112.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/ThuluthFeatures.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/aboutstacks.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/alphatrans.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/annotation-as.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/arial_unicode_ab_cidfont.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/arial_unicode_en_cidfont.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/artofwar.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/asciihexdecode.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/basicapi.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/bpl13210.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/bug766138.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/bug808084.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/bug859204.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/bug860632.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/bug864847.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/bug867484.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/bug868745.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/bug878194.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/bug887152.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/bug888437.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/bug889327.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/bug900822.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/bug903856.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/bug921760.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/bug946506.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/cable.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/canvas.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/close-path-bug.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/cmykjpeg.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/complex_ttf_font.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/devicen.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/ecma262.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/endchar.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/extgstate.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/f1040.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/filled-background.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/fips197.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/fit11-talk.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/freeculture.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/geothermal.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/german-umlaut.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/gesamt.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/gradientfill.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/helloworld-bad.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/hmm.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/html5checker.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/hudsonsurvey.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/i9.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/ibwa-bad.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/ichiji.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/intelisa.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1002.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue1010.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1015.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1049.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1055.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1096.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1127.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1133.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1155.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1169.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1171.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue1233.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1243.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1249.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue1257.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1293.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1309.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1317.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1350.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue1419.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1466.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1512.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1597.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1629.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1655.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1658.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1685.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1687.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1709.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1721.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1729.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1796.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1810.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1878.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1905.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue1912.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1936.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue1998.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2006.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2074.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue2099-1.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue2128.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2129.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2139.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2337.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2386.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2391-1.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue2391-2.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue2442.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2531.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2537.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2627.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2642.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2770.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2799.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2829.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2833.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue2853.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2881.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue2956.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue2984.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3025.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue3062.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3064.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3115.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3205.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3207.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3263.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3371.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue3384.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3405.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3427.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3438.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue3666.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3848.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3879.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3885.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue3903.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3925.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue3999.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue4246.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue4436.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue4461.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue818.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue840.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue845.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue918.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/issue919.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/issue925.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/jai.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/javauninstall-7.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/kdchart.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/link-annotation-border.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/liveprogramming.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/mao.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/mixedfonts.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/noembed-eucjp.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/noembed-identity-2.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/noembed-identity.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/noembed-jis7.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/noembed-sjis.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/ocs.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/ohkubo-SS04.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/pal-o47.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/pdf.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/pdfjsbad1586.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/pdfkit_compressed.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/pdkids.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/personwithdog.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/piperine.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/preistabelle.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/protectip.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/rotated.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/rotation.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/scan-bad.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/shading_extend.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/shavian.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/simpletype3font.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/sizes.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/smaskdim.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/tcpdf_033.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/tracemonkey.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/tutorial.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/txt2pdf.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/type4psfunc.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/unix01.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/usmanm-bad.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/vertical.pdf create mode 100644 public/vendor/pdfjs/test/pdfs/vesta.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/wdsg_fitc.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/wnv_chinese.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/yo01.pdf.link create mode 100644 public/vendor/pdfjs/test/pdfs/zerowidthline.pdf create mode 100644 public/vendor/pdfjs/test/reporter.js create mode 100644 public/vendor/pdfjs/test/resources/browser_manifests/.gitignore create mode 100644 public/vendor/pdfjs/test/resources/browser_manifests/browser_manifest.json.linux create mode 100644 public/vendor/pdfjs/test/resources/browser_manifests/browser_manifest.json.mac create mode 100644 public/vendor/pdfjs/test/resources/browser_manifests/browser_manifest.json.windows create mode 100644 public/vendor/pdfjs/test/resources/favicon.ico create mode 100644 public/vendor/pdfjs/test/resources/firefox/extensions/special-powers@mozilla.org/chrome.manifest create mode 100644 public/vendor/pdfjs/test/resources/firefox/extensions/special-powers@mozilla.org/chrome/specialpowers/content/specialpowers.js create mode 100644 public/vendor/pdfjs/test/resources/firefox/extensions/special-powers@mozilla.org/components/SpecialPowersObserver.js create mode 100644 public/vendor/pdfjs/test/resources/firefox/extensions/special-powers@mozilla.org/install.rdf create mode 100644 public/vendor/pdfjs/test/resources/firefox/prefs.js create mode 100644 public/vendor/pdfjs/test/resources/firefox/user.js create mode 100644 public/vendor/pdfjs/test/resources/reftest-analyzer.css create mode 100644 public/vendor/pdfjs/test/resources/reftest-analyzer.html create mode 100644 public/vendor/pdfjs/test/resources/reftest-analyzer.js create mode 100644 public/vendor/pdfjs/test/stats/results/.gitignore create mode 100644 public/vendor/pdfjs/test/stats/statcmp.py create mode 100644 public/vendor/pdfjs/test/test.js create mode 100644 public/vendor/pdfjs/test/test_manifest.json create mode 100644 public/vendor/pdfjs/test/test_slave.html create mode 100644 public/vendor/pdfjs/test/testutils.js create mode 100644 public/vendor/pdfjs/test/ttx/README.md create mode 100644 public/vendor/pdfjs/test/unit/api_spec.js create mode 100644 public/vendor/pdfjs/test/unit/cmap_spec.js create mode 100644 public/vendor/pdfjs/test/unit/crypto_spec.js create mode 100644 public/vendor/pdfjs/test/unit/evaluator_spec.js create mode 100644 public/vendor/pdfjs/test/unit/font_spec.js create mode 100644 public/vendor/pdfjs/test/unit/function_spec.js create mode 100644 public/vendor/pdfjs/test/unit/metadata_spec.js create mode 100644 public/vendor/pdfjs/test/unit/obj_spec.js create mode 100644 public/vendor/pdfjs/test/unit/parser_spec.js create mode 100644 public/vendor/pdfjs/test/unit/stream_spec.js create mode 100644 public/vendor/pdfjs/test/unit/testreporter.js create mode 100644 public/vendor/pdfjs/test/unit/unit_test.html create mode 100644 public/vendor/pdfjs/test/unit/util_spec.js create mode 100644 public/vendor/pdfjs/test/webbrowser.js create mode 100644 public/vendor/pdfjs/test/webserver.js create mode 100644 public/vendor/pdfjs/web/.gitignore create mode 100644 public/vendor/pdfjs/web/chromecom.js create mode 100644 public/vendor/pdfjs/web/compatibility.js create mode 100644 public/vendor/pdfjs/web/compressed.tracemonkey-pldi-09.pdf create mode 100644 public/vendor/pdfjs/web/debugger.js create mode 100644 public/vendor/pdfjs/web/default_preferences.js create mode 100644 public/vendor/pdfjs/web/document_properties.js create mode 100644 public/vendor/pdfjs/web/download_manager.js create mode 100644 public/vendor/pdfjs/web/firefoxcom.js create mode 100644 public/vendor/pdfjs/web/grab_to_pan.js create mode 100644 public/vendor/pdfjs/web/hand_tool.js create mode 100644 public/vendor/pdfjs/web/images/annotation-check.svg create mode 100644 public/vendor/pdfjs/web/images/annotation-comment.svg create mode 100644 public/vendor/pdfjs/web/images/annotation-help.svg create mode 100644 public/vendor/pdfjs/web/images/annotation-insert.svg create mode 100644 public/vendor/pdfjs/web/images/annotation-key.svg create mode 100644 public/vendor/pdfjs/web/images/annotation-newparagraph.svg create mode 100644 public/vendor/pdfjs/web/images/annotation-noicon.svg create mode 100644 public/vendor/pdfjs/web/images/annotation-note.svg create mode 100644 public/vendor/pdfjs/web/images/annotation-paragraph.svg create mode 100644 public/vendor/pdfjs/web/images/findbarButton-next-rtl.png create mode 100644 public/vendor/pdfjs/web/images/findbarButton-next-rtl@2x.png create mode 100644 public/vendor/pdfjs/web/images/findbarButton-next.png create mode 100644 public/vendor/pdfjs/web/images/findbarButton-next@2x.png create mode 100644 public/vendor/pdfjs/web/images/findbarButton-previous-rtl.png create mode 100644 public/vendor/pdfjs/web/images/findbarButton-previous-rtl@2x.png create mode 100644 public/vendor/pdfjs/web/images/findbarButton-previous.png create mode 100644 public/vendor/pdfjs/web/images/findbarButton-previous@2x.png create mode 100644 public/vendor/pdfjs/web/images/grab.cur create mode 100644 public/vendor/pdfjs/web/images/grabbing.cur create mode 100644 public/vendor/pdfjs/web/images/loading-icon.gif create mode 100644 public/vendor/pdfjs/web/images/loading-small.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-documentProperties.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-documentProperties@2x.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-firstPage.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-firstPage@2x.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-handTool.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-handTool@2x.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-lastPage.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-lastPage@2x.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-rotateCcw.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-rotateCcw@2x.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-rotateCw.png create mode 100644 public/vendor/pdfjs/web/images/secondaryToolbarButton-rotateCw@2x.png create mode 100644 public/vendor/pdfjs/web/images/shadow.png create mode 100644 public/vendor/pdfjs/web/images/texture.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-bookmark.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-bookmark@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-download.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-download@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-menuArrows.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-menuArrows@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-openFile.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-openFile@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-pageDown-rtl.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-pageDown-rtl@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-pageDown.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-pageDown@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-pageUp-rtl.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-pageUp-rtl@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-pageUp.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-pageUp@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-presentationMode.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-presentationMode@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-print.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-print@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-search.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-search@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-secondaryToolbarToggle@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-sidebarToggle-rtl.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-sidebarToggle-rtl@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-sidebarToggle.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-sidebarToggle@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-viewOutline-rtl.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-viewOutline-rtl@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-viewOutline.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-viewOutline@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-viewThumbnail.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-viewThumbnail@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-zoomIn.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-zoomIn@2x.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-zoomOut.png create mode 100644 public/vendor/pdfjs/web/images/toolbarButton-zoomOut@2x.png create mode 100644 public/vendor/pdfjs/web/index.html.template create mode 100644 public/vendor/pdfjs/web/mozPrintCallback_polyfill.js create mode 100644 public/vendor/pdfjs/web/page_view.js create mode 100644 public/vendor/pdfjs/web/password_prompt.js create mode 100644 public/vendor/pdfjs/web/pdf_find_bar.js create mode 100644 public/vendor/pdfjs/web/pdf_find_controller.js create mode 100644 public/vendor/pdfjs/web/pdf_history.js create mode 100644 public/vendor/pdfjs/web/preferences.js create mode 100644 public/vendor/pdfjs/web/presentation_mode.js create mode 100644 public/vendor/pdfjs/web/secondary_toolbar.js create mode 100644 public/vendor/pdfjs/web/text_layer_builder.js create mode 100644 public/vendor/pdfjs/web/thumbnail_view.js create mode 100644 public/vendor/pdfjs/web/ui_utils.js create mode 100644 public/vendor/pdfjs/web/view_history.js create mode 100644 public/vendor/pdfjs/web/viewer-snippet-b2g-activity-header.html create mode 100644 public/vendor/pdfjs/web/viewer-snippet-chrome-extension.html create mode 100644 public/vendor/pdfjs/web/viewer-snippet-firefox-extension.html create mode 100644 public/vendor/pdfjs/web/viewer-snippet-minified.html create mode 100644 public/vendor/pdfjs/web/viewer-snippet-mozPrintCallback-polyfill.html create mode 100644 public/vendor/pdfjs/web/viewer-snippet.html create mode 100644 public/vendor/pdfjs/web/viewer.css create mode 100644 public/vendor/pdfjs/web/viewer.html create mode 100644 public/vendor/pdfjs/web/viewer.js create mode 100644 public/vendor/typeahead.js/.bower.json create mode 100644 public/vendor/typeahead.js/.gitignore create mode 100644 public/vendor/typeahead.js/.jshintrc create mode 100644 public/vendor/typeahead.js/.travis.yml create mode 100644 public/vendor/typeahead.js/CHANGELOG.md create mode 100644 public/vendor/typeahead.js/CONTRIBUTING.md create mode 100644 public/vendor/typeahead.js/Gruntfile.js create mode 100644 public/vendor/typeahead.js/LICENSE create mode 100644 public/vendor/typeahead.js/README.md create mode 100644 public/vendor/typeahead.js/component.json create mode 100644 public/vendor/typeahead.js/dist/typeahead.js create mode 100644 public/vendor/typeahead.js/dist/typeahead.min.js create mode 100644 public/vendor/typeahead.js/package.json create mode 100644 public/vendor/typeahead.js/src/dataset.js create mode 100644 public/vendor/typeahead.js/src/dropdown_view.js create mode 100644 public/vendor/typeahead.js/src/event_bus.js create mode 100644 public/vendor/typeahead.js/src/event_target.js create mode 100644 public/vendor/typeahead.js/src/input_view.js create mode 100644 public/vendor/typeahead.js/src/persistent_storage.js create mode 100644 public/vendor/typeahead.js/src/request_cache.js create mode 100644 public/vendor/typeahead.js/src/transport.js create mode 100644 public/vendor/typeahead.js/src/typeahead.js create mode 100644 public/vendor/typeahead.js/src/typeahead_view.js create mode 100644 public/vendor/typeahead.js/src/utils.js create mode 100644 public/vendor/typeahead.js/src/version.js create mode 100644 public/vendor/typeahead.js/test/dataset_spec.js create mode 100644 public/vendor/typeahead.js/test/dropdown_view_spec.js create mode 100644 public/vendor/typeahead.js/test/event_target_spec.js create mode 100644 public/vendor/typeahead.js/test/helpers/jasmine-jquery.js create mode 100644 public/vendor/typeahead.js/test/helpers/mock-ajax.js create mode 100644 public/vendor/typeahead.js/test/helpers/mock_components.js create mode 100644 public/vendor/typeahead.js/test/input_view_spec.js create mode 100644 public/vendor/typeahead.js/test/persistent_storage_spec.js create mode 100644 public/vendor/typeahead.js/test/playground.html create mode 100644 public/vendor/typeahead.js/test/request_cache_spec.js create mode 100644 public/vendor/typeahead.js/test/transport_spec.js create mode 100644 public/vendor/typeahead.js/test/typeahead_view_spec.js create mode 100644 public/vendor/typeahead.js/test/vendor/hogan-2.0.0.js create mode 100644 public/vendor/typeahead.js/test/vendor/jquery-1.9.1.js create mode 100644 public/vendor/typeahead.js/typeahead.js.jquery.json create mode 100644 public/vendor/underscore/.bower.json create mode 100644 public/vendor/underscore/.editorconfig create mode 100644 public/vendor/underscore/.gitignore create mode 100644 public/vendor/underscore/LICENSE create mode 100644 public/vendor/underscore/README.md create mode 100644 public/vendor/underscore/bower.json create mode 100644 public/vendor/underscore/component.json create mode 100644 public/vendor/underscore/package.json create mode 100644 public/vendor/underscore/underscore.js diff --git a/.gitignore b/.gitignore index 3a650b3e97aa..505a9f8f9b3b 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,6 @@ /app/storage /public/logo /public/build -/public/vendor /public/packages /bootstrap/compiled.php /bootstrap/environment.php diff --git a/README.md b/README.md index 8fa29830ea6a..e041cb432762 100644 --- a/README.md +++ b/README.md @@ -35,10 +35,6 @@ Note: you may be prompted for your Github user/pass due to their API limits. composer install -Install JavaScript packages using Bower - - bower install - Configure config/database.php and then initialize the database php artisan migrate --seed diff --git a/public/js/script.js b/public/js/script.js index 4315db2eed5d..526397797cc9 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -463,7 +463,7 @@ ko.bindingHandlers.datePicker = { if (value) $(element).datepicker('update', value); $(element).change(function() { var value = valueAccessor(); - value($(element).val()); + value($(element).val()); }) }, update: function (element, valueAccessor) { diff --git a/public/vendor/accounting/.bower.json b/public/vendor/accounting/.bower.json new file mode 100644 index 000000000000..d31c9f8676fb --- /dev/null +++ b/public/vendor/accounting/.bower.json @@ -0,0 +1,14 @@ +{ + "name": "accounting", + "homepage": "https://github.com/josscrowcroft/accounting.js", + "version": "0.3.2", + "_release": "0.3.2", + "_resolution": { + "type": "version", + "tag": "v0.3.2", + "commit": "b14638fbec7a06cc7e87de0d7d7c8ea2a38d67f5" + }, + "_source": "git://github.com/josscrowcroft/accounting.js.git", + "_target": "~0.*", + "_originalSource": "accounting" +} \ No newline at end of file diff --git a/public/vendor/accounting/accounting.js b/public/vendor/accounting/accounting.js new file mode 100644 index 000000000000..6af704820ccf --- /dev/null +++ b/public/vendor/accounting/accounting.js @@ -0,0 +1,411 @@ +/*! + * accounting.js v0.3.2 + * Copyright 2011, Joss Crowcroft + * + * Freely distributable under the MIT license. + * Portions of accounting.js are inspired or borrowed from underscore.js + * + * Full details and documentation: + * http://josscrowcroft.github.com/accounting.js/ + */ + +(function(root, undefined) { + + /* --- Setup --- */ + + // Create the local library object, to be exported or referenced globally later + var lib = {}; + + // Current version + lib.version = '0.3.2'; + + + /* --- Exposed settings --- */ + + // The library's settings configuration object. Contains default parameters for + // currency and number formatting + lib.settings = { + currency: { + symbol : "$", // default currency symbol is '$' + format : "%s%v", // controls output: %s = symbol, %v = value (can be object, see docs) + decimal : ".", // decimal point separator + thousand : ",", // thousands separator + precision : 2, // decimal places + grouping : 3 // digit grouping (not implemented yet) + }, + number: { + precision : 0, // default precision on numbers is 0 + grouping : 3, // digit grouping (not implemented yet) + thousand : ",", + decimal : "." + } + }; + + + /* --- Internal Helper Methods --- */ + + // Store reference to possibly-available ECMAScript 5 methods for later + var nativeMap = Array.prototype.map, + nativeIsArray = Array.isArray, + toString = Object.prototype.toString; + + /** + * Tests whether supplied parameter is a string + * from underscore.js + */ + function isString(obj) { + return !!(obj === '' || (obj && obj.charCodeAt && obj.substr)); + } + + /** + * Tests whether supplied parameter is a string + * from underscore.js, delegates to ECMA5's native Array.isArray + */ + function isArray(obj) { + return nativeIsArray ? nativeIsArray(obj) : toString.call(obj) === '[object Array]'; + } + + /** + * Tests whether supplied parameter is a true object + */ + function isObject(obj) { + return toString.call(obj) === '[object Object]'; + } + + /** + * Extends an object with a defaults object, similar to underscore's _.defaults + * + * Used for abstracting parameter handling from API methods + */ + function defaults(object, defs) { + var key; + object = object || {}; + defs = defs || {}; + // Iterate over object non-prototype properties: + for (key in defs) { + if (defs.hasOwnProperty(key)) { + // Replace values with defaults only if undefined (allow empty/zero values): + if (object[key] == null) object[key] = defs[key]; + } + } + return object; + } + + /** + * Implementation of `Array.map()` for iteration loops + * + * Returns a new Array as a result of calling `iterator` on each array value. + * Defers to native Array.map if available + */ + function map(obj, iterator, context) { + var results = [], i, j; + + if (!obj) return results; + + // Use native .map method if it exists: + if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); + + // Fallback for native .map: + for (i = 0, j = obj.length; i < j; i++ ) { + results[i] = iterator.call(context, obj[i], i, obj); + } + return results; + } + + /** + * Check and normalise the value of precision (must be positive integer) + */ + function checkPrecision(val, base) { + val = Math.round(Math.abs(val)); + return isNaN(val)? base : val; + } + + + /** + * Parses a format string or object and returns format obj for use in rendering + * + * `format` is either a string with the default (positive) format, or object + * containing `pos` (required), `neg` and `zero` values (or a function returning + * either a string or object) + * + * Either string or format.pos must contain "%v" (value) to be valid + */ + function checkCurrencyFormat(format) { + var defaults = lib.settings.currency.format; + + // Allow function as format parameter (should return string or object): + if ( typeof format === "function" ) format = format(); + + // Format can be a string, in which case `value` ("%v") must be present: + if ( isString( format ) && format.match("%v") ) { + + // Create and return positive, negative and zero formats: + return { + pos : format, + neg : format.replace("-", "").replace("%v", "-%v"), + zero : format + }; + + // If no format, or object is missing valid positive value, use defaults: + } else if ( !format || !format.pos || !format.pos.match("%v") ) { + + // If defaults is a string, casts it to an object for faster checking next time: + return ( !isString( defaults ) ) ? defaults : lib.settings.currency.format = { + pos : defaults, + neg : defaults.replace("%v", "-%v"), + zero : defaults + }; + + } + // Otherwise, assume format was fine: + return format; + } + + + /* --- API Methods --- */ + + /** + * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value + * alias: accounting.`parse(string)` + * + * Decimal must be included in the regular expression to match floats (default: "."), so if the number + * uses a non-standard decimal separator, provide it as the second argument. + * + * Also matches bracketed negatives (eg. "$ (1.99)" => -1.99) + * + * Doesn't throw any errors (`NaN`s become 0) but this may change in future + */ + var unformat = lib.unformat = lib.parse = function(value, decimal) { + // Recursively unformat arrays: + if (isArray(value)) { + return map(value, function(val) { + return unformat(val, decimal); + }); + } + + // Fails silently (need decent errors): + value = value || 0; + + // Return the value as-is if it's already a number: + if (typeof value === "number") return value; + + // Default decimal point is "." but could be set to eg. "," in opts: + decimal = decimal || "."; + + // Build regex to strip out everything except digits, decimal point and minus sign: + var regex = new RegExp("[^0-9-" + decimal + "]", ["g"]), + unformatted = parseFloat( + ("" + value) + .replace(/\((.*)\)/, "-$1") // replace bracketed values with negatives + .replace(regex, '') // strip out any cruft + .replace(decimal, '.') // make sure decimal point is standard + ); + + // This will fail silently which may cause trouble, let's wait and see: + return !isNaN(unformatted) ? unformatted : 0; + }; + + + /** + * Implementation of toFixed() that treats floats more like decimals + * + * Fixes binary rounding issues (eg. (0.615).toFixed(2) === "0.61") that present + * problems for accounting- and finance-related software. + */ + var toFixed = lib.toFixed = function(value, precision) { + precision = checkPrecision(precision, lib.settings.number.precision); + var power = Math.pow(10, precision); + + // Multiply up by precision, round accurately, then divide and use native toFixed(): + return (Math.round(lib.unformat(value) * power) / power).toFixed(precision); + }; + + + /** + * Format a number, with comma-separated thousands and custom precision/decimal places + * + * Localise by overriding the precision and thousand / decimal separators + * 2nd parameter `precision` can be an object matching `settings.number` + */ + var formatNumber = lib.formatNumber = function(number, precision, thousand, decimal) { + // Resursively format arrays: + if (isArray(number)) { + return map(number, function(val) { + return formatNumber(val, precision, thousand, decimal); + }); + } + + // Clean up number: + number = unformat(number); + + // Build options object from second param (if object) or all params, extending defaults: + var opts = defaults( + (isObject(precision) ? precision : { + precision : precision, + thousand : thousand, + decimal : decimal + }), + lib.settings.number + ), + + // Clean up precision + usePrecision = checkPrecision(opts.precision), + + // Do some calc: + negative = number < 0 ? "-" : "", + base = parseInt(toFixed(Math.abs(number || 0), usePrecision), 10) + "", + mod = base.length > 3 ? base.length % 3 : 0; + + // Format the number: + return negative + (mod ? base.substr(0, mod) + opts.thousand : "") + base.substr(mod).replace(/(\d{3})(?=\d)/g, "$1" + opts.thousand) + (usePrecision ? opts.decimal + toFixed(Math.abs(number), usePrecision).split('.')[1] : ""); + }; + + + /** + * Format a number into currency + * + * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format) + * defaults: (0, "$", 2, ",", ".", "%s%v") + * + * Localise by overriding the symbol, precision, thousand / decimal separators and format + * Second param can be an object matching `settings.currency` which is the easiest way. + * + * To do: tidy up the parameters + */ + var formatMoney = lib.formatMoney = function(number, symbol, precision, thousand, decimal, format) { + // Resursively format arrays: + if (isArray(number)) { + return map(number, function(val){ + return formatMoney(val, symbol, precision, thousand, decimal, format); + }); + } + + // Clean up number: + number = unformat(number); + + // Build options object from second param (if object) or all params, extending defaults: + var opts = defaults( + (isObject(symbol) ? symbol : { + symbol : symbol, + precision : precision, + thousand : thousand, + decimal : decimal, + format : format + }), + lib.settings.currency + ), + + // Check format (returns object with pos, neg and zero): + formats = checkCurrencyFormat(opts.format), + + // Choose which format to use for this value: + useFormat = number > 0 ? formats.pos : number < 0 ? formats.neg : formats.zero; + + // Return with currency symbol added: + return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), checkPrecision(opts.precision), opts.thousand, opts.decimal)); + }; + + + /** + * Format a list of numbers into an accounting column, padding with whitespace + * to line up currency symbols, thousand separators and decimals places + * + * List should be an array of numbers + * Second parameter can be an object containing keys that match the params + * + * Returns array of accouting-formatted number strings of same length + * + * NB: `white-space:pre` CSS rule is required on the list container to prevent + * browsers from collapsing the whitespace in the output strings. + */ + lib.formatColumn = function(list, symbol, precision, thousand, decimal, format) { + if (!list) return []; + + // Build options object from second param (if object) or all params, extending defaults: + var opts = defaults( + (isObject(symbol) ? symbol : { + symbol : symbol, + precision : precision, + thousand : thousand, + decimal : decimal, + format : format + }), + lib.settings.currency + ), + + // Check format (returns object with pos, neg and zero), only need pos for now: + formats = checkCurrencyFormat(opts.format), + + // Whether to pad at start of string or after currency symbol: + padAfterSymbol = formats.pos.indexOf("%s") < formats.pos.indexOf("%v") ? true : false, + + // Store value for the length of the longest string in the column: + maxLength = 0, + + // Format the list according to options, store the length of the longest string: + formatted = map(list, function(val, i) { + if (isArray(val)) { + // Recursively format columns if list is a multi-dimensional array: + return lib.formatColumn(val, opts); + } else { + // Clean up the value + val = unformat(val); + + // Choose which format to use for this value (pos, neg or zero): + var useFormat = val > 0 ? formats.pos : val < 0 ? formats.neg : formats.zero, + + // Format this value, push into formatted list and save the length: + fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), checkPrecision(opts.precision), opts.thousand, opts.decimal)); + + if (fVal.length > maxLength) maxLength = fVal.length; + return fVal; + } + }); + + // Pad each number in the list and send back the column of numbers: + return map(formatted, function(val, i) { + // Only if this is a string (not a nested array, which would have already been padded): + if (isString(val) && val.length < maxLength) { + // Depending on symbol position, pad after symbol or at index 0: + return padAfterSymbol ? val.replace(opts.symbol, opts.symbol+(new Array(maxLength - val.length + 1).join(" "))) : (new Array(maxLength - val.length + 1).join(" ")) + val; + } + return val; + }); + }; + + + /* --- Module Definition --- */ + + // Export accounting for CommonJS. If being loaded as an AMD module, define it as such. + // Otherwise, just add `accounting` to the global object + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) { + exports = module.exports = lib; + } + exports.accounting = lib; + } else if (typeof define === 'function' && define.amd) { + // Return the library as an AMD module: + define([], function() { + return lib; + }); + } else { + // Use accounting.noConflict to restore `accounting` back to its original value. + // Returns a reference to the library's `accounting` object; + // e.g. `var numbers = accounting.noConflict();` + lib.noConflict = (function(oldAccounting) { + return function() { + // Reset the value of the root's `accounting` variable: + root.accounting = oldAccounting; + // Delete the noConflict method: + lib.noConflict = undefined; + // Return reference to the library to re-assign it: + return lib; + }; + })(root.accounting); + + // Declare `fx` on the root (global/window) object: + root['accounting'] = lib; + } + + // Root will be `window` in browser or `global` on the server: +}(this)); diff --git a/public/vendor/accounting/accounting.min.js b/public/vendor/accounting/accounting.min.js new file mode 100644 index 000000000000..0fc755d38041 --- /dev/null +++ b/public/vendor/accounting/accounting.min.js @@ -0,0 +1,4 @@ +/*! + * accounting.js v0.3.2, copyright 2011 Joss Crowcroft, MIT license, http://josscrowcroft.github.com/accounting.js + */ +(function(p,z){function q(a){return!!(""===a||a&&a.charCodeAt&&a.substr)}function m(a){return u?u(a):"[object Array]"===v.call(a)}function r(a){return"[object Object]"===v.call(a)}function s(a,b){var d,a=a||{},b=b||{};for(d in b)b.hasOwnProperty(d)&&null==a[d]&&(a[d]=b[d]);return a}function j(a,b,d){var c=[],e,h;if(!a)return c;if(w&&a.map===w)return a.map(b,d);for(e=0,h=a.length;ea?"-":"",g=parseInt(y(Math.abs(a||0),h),10)+"",l=3a?g.neg:g.zero).replace("%s",f.symbol).replace("%v",t(Math.abs(a),n(f.precision),f.thousand,f.decimal))};c.formatColumn=function(a,b,d,i,e,h){if(!a)return[];var f=s(r(b)?b:{symbol:b,precision:d,thousand:i,decimal:e,format:h},c.settings.currency),g=x(f.format),l=g.pos.indexOf("%s")a?g.neg:g.zero).replace("%s",f.symbol).replace("%v",t(Math.abs(a),n(f.precision),f.thousand,f.decimal));if(a.length>k)k=a.length;return a});return j(a,function(a){return q(a)&&a.length").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i. +shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j +)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/public/vendor/accounting/demo-resources/js/prettify.js b/public/vendor/accounting/demo-resources/js/prettify.js new file mode 100644 index 000000000000..f66f6f235230 --- /dev/null +++ b/public/vendor/accounting/demo-resources/js/prettify.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p + + + + accounting.js - format money / currency in JavaScript + + + + + + +
+

accounting.js

+

accounting.js is a tiny JavaScript library for number, money and currency formatting, with optional excel-style column rendering (to line up symbols and decimals). It's lightweight, fully localisable and has zero dependencies.

+

 

+ +
+ +
+

Library Methods

+

formatMoney() - format any number into currency

+

The most basic function of this library is money-formatting numbers, with currency symbol, precision (places), and thousand/decimal separators:

+
// Default usage:
+accounting.formatMoney(12345678); // $12,345,678.00
+
+// European formatting (custom symbol and separators), could also use options object as second param:
+accounting.formatMoney(4999.99, "€", 2, ".", ","); // €4.999,99
+
+// Negative values are formatted nicely, too:
+accounting.formatMoney(-500000, "£ ", 0); // £ -500,000
+
+// Simple `format` string allows control of symbol position [%v = value, %s = symbol]:
+accounting.formatMoney(5318008, { symbol: "GBP",  format: "%v %s" }); // 5,318,008.00 GBP
+

formatColumn() - format a list of values for column-display

+

This table demonstrates how accounting.js can take a list of numbers and money-format them with padding to line up currency symbols and decimal places (NB: white-space:pre is needed for the browser to render the padded spaces):

+ + + + + + + + + + + +
Original Number:With accounting.js:Different settings:European format:Symbol after value:
+
// Format list of numbers for display:
+accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], "$ ");
+ +

formatNumber() - format a number with custom precision and localisation

+

The base function of the library, which takes any number or array of numbers, runs accounting.unformat() to remove any formatting, and returns the number(s) formatted with separated thousands and custom precision:

+
accounting.formatNumber(5318008); // 5,318,008
+accounting.formatNumber(9876543.21, 3, " "); // 9 876 543.210
+ +

toFixed() - better rounding for floating point numbers

+

Implementation of toFixed() that treats floats more like decimal values than binary, fixing inconsistent precision rounding in JavaScript (where some .05 values round up, while others round down):

+
(0.615).toFixed(2); // "0.61"
+accounting.toFixed(0.615, 2); // "0.62"
+ +

unformat() - get a value from any formatted number/currency string

+

Takes any number and removes all currency formatting:

+
accounting.unformat("£ 12,345,678.90 GBP"); // 12345678.9
+
+ +
+

Demo / Try it out

+ +

Money formatting:

+
+

Enter any number into the box and choose currency. Uses accounting.formatMoney():

+

+ + +

+

Result: $ 0.00

+
+ +

Column formatting:

+
+

Edit the values in the table to see how formatColumn() keeps them aligned:

+ + + + + + + + + + + + + + + + + + +
$ 1,000,000.00GBP 1,000,000
$ -5,000.00GBP (5,000)
$ 0.00GBP --
+
+
+ + +
+

Instructions / How to use

+

1. Download the script and put it somewhere, then do this:

+
<script src="path/to/accounting.js"></script>
+
+<script type="text/javascript">
+	// You can do this now:
+	accounting.formatMoney(5318008);
+</script>
+

2. Check out the documentation and source-code for full method/parameter info if you get stuck.

+
+ + +
+

Documentation

+

Information on the parameters of each method. See library methods above for more examples. Optional parameters are in [italics], with the default value indicated.

+ + +

accounting.settings

+
// Settings object that controls default parameters for library methods:
+accounting.settings = {
+	currency: {
+		symbol : "$",   // default currency symbol is '$'
+		format: "%s%v", // controls output: %s = symbol, %v = value/number (can be object: see below)
+		decimal : ".",  // decimal point separator
+		thousand: ",",  // thousands separator
+		precision : 2   // decimal places
+	},
+	number: {
+		precision : 0,  // default precision on numbers is 0
+		thousand: ",",
+		decimal : "."
+	}
+}
+
+// These can be changed externally to edit the library's defaults:
+accounting.settings.currency.format = "%s %v";
+
+// Format can be an object, with `pos`, `neg` and `zero`:
+accounting.settings.currency.format = {
+	pos : "%s %v",   // for positive values, eg. "$ 1.00" (required)
+	neg : "%s (%v)", // for negative values, eg. "$ (1.00)" [optional]
+	zero: "%s  -- "  // for zero values, eg. "$  --" [optional]
+};
+
+// Example using underscore.js - extend default settings (also works with $.extend in jQuery):
+accounting.settings.number = _.defaults({
+	precision: 2,
+	thousand: " "
+}, accounting.settings.number);
+ + +

accounting.formatMoney()

+
// Standard usage and parameters (returns string):
+accounting.formatMoney(number,[symbol = "$"],[precision = 2],[thousand = ","],[decimal = "."],[format = "%s%v"])
+
+// Second parameter can be an object:
+accounting.formatMoney(number, [options])
+
+// Available fields in options object, matching `settings.currency`:
+var options = {
+	symbol : "$",
+	decimal : ".",
+	thousand: ",",
+	precision : 2,
+	format: "%s%v"
+};
+
+// Example usage:
+accounting.formatMoney(12345678); // $12,345,678.00
+accounting.formatMoney(4999.99, "€", 2, ".", ","); // €4.999,99
+accounting.formatMoney(-500000, "£ ", 0); // £ -500,000
+
+// Example usage with options object:
+accounting.formatMoney(5318008, {
+	symbol: "GBP",
+	precision: 0,
+	thousand: "·",
+	format: {
+		pos : "%s %v",
+		neg : "%s (%v)",
+		zero: "%s  --"
+	}
+});
+
+// Will recursively format an array of values:
+accounting.formatMoney([123, 456, [78, 9]], "$", 0); // ["$123", "$456", ["$78", "$9"]]
+ + + +

accounting.formatColumn()

+
// Standard usage and parameters (returns array):
+accounting.formatColumn(list, [symbol = "$"],[precision = 2],[thousand = ","],[decimal = "."],[format = "%s%v"])
+
+// Second parameter can be an object (see formatNumber for available options):
+accounting.formatColumn(list, [options])
+
+// Example usage (NB. use a space after the symbol to add arbitrary padding to all values):
+var list = [123, 12345];
+accounting.formatColumn(list, "$ ", 0); // ["$    123", "$ 12,345"]
+
+// List of numbers can be a multi-dimensional array (formatColumn is applied recursively):
+var list = [[1, 100], [900, 9]];
+accounting.formatColumn(list); // [["$  1.00", "$100.00"], ["$900.00", "$  9.00"]]
+ + +

accounting.formatNumber()

+
// Standard usage and parameters (returns string):
+accounting.formatNumber(number, [precision = 0], [thousand = ","], [decimal = "."])
+
+// Second parameter can also be an object matching `settings.number`:
+accounting.formatNumber(number, [object])
+
+// Example usage:
+accounting.formatNumber(9876543); // 9,876,543
+accounting.formatNumber(4999.99, 2, ".", ","); // 4.999,99
+
+// Example usage with options object:
+accounting.formatNumber(5318008, {
+	precision : 3,
+	thousand : " "
+});
+
+// Will recursively format an array of values:
+accounting.formatNumber([123456, [7890, 123]]); // ["123,456", ["7,890", "123"]]
+ + +

accounting.toFixed()

+
// Standard usage and parameters (returns string):
+accounting.toFixed(number, [precision = 0]);
+
+// Example usage:
+accounting.toFixed(0.615, 2); // "0.62"
+
+// Compare to regular JavaScript `Number.toFixed()` method:
+(0.615).toFixed(2); // "0.61"
+ + +

accounting.unformat()

+
// Standard usage and parameters (returns number):
+accounting.unformat(string, [decimal]);
+
+// Example usage:
+accounting.unformat("GBP £ 12,345,678.90"); // 12345678.9
+
+// If a non-standard decimal separator was used (eg. a comma) unformat() will need it in order to work out
+// which part of the number is a decimal/float:
+accounting.unformat("€ 1.000.000,00", ","); // 1000000
+ +
+ + +
+

Roadmap

+

See the Github Issues page for up-to-date progress.

+

Next Version:

+
    +
  • Add more fine-grained control of formatting, with negatives and zero-values
  • +
  • Implement map() and type-checking helper methods to clean up API methods
  • +
  • Find performance bottlenecks and work on speed optimisations
  • +
  • Write more tests, docs and examples, add FAQ
  • +
  • Implement feedback
  • +
+

Later:

+
    +
  • Add padding parameter to override amount of space between currency symbol and value.
  • +
  • Add digit-grouping control, to allow eg. "$10,0000"
  • +
  • Add choice of rounding method for precision (up, down or nearest-neighbour).
  • +
  • Add several other general and excel-style money formatting methods.
  • +
  • Create NPM package, if there's demand for it.
  • +
  • Create wrapper for jQuery as a separate plugin (not in core) to allow eg. $('td.accounting').formatMoney()
  • +
+
+ +
+

Feedback / Support

+

Please create issues on the accounting.js Github repository if you have feedback or need support, or comment on Joss's blog.

+
+ +
+

Download

+ +
+ +
+
+
+

 

+

Moar Info

+

accounting.js was made by Joss (that's me) in Hong Kong, for internal use in our enterprise analytics application at Demand Analytics. It seemed to be working pretty well, so I'm releasing it in the hope that other people and apps can make use of and contribute to it.

+

You can follow me on Twitter at @josscrowcroft, I mostly post about JS, HTML5, startups, Hong Kong and things I've built.

+

Any questions? Just email me here or post on the accounting.js Github repository.

+
+ + + + + + + + + diff --git a/public/vendor/accounting/license b/public/vendor/accounting/license new file mode 100644 index 000000000000..13ba197d7290 --- /dev/null +++ b/public/vendor/accounting/license @@ -0,0 +1,22 @@ +Copyright (c) 2011 Joss Crowcroft + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/public/vendor/accounting/package.json b/public/vendor/accounting/package.json new file mode 100644 index 000000000000..2db80b804b00 --- /dev/null +++ b/public/vendor/accounting/package.json @@ -0,0 +1,12 @@ +{ + "name" : "accounting", + "description" : "number, money and currency parsing/formatting library", + "homepage": "http://josscrowcroft.github.com/accounting.js", + "keywords" : ["accounting", "number", "money", "currency", "format", "utilities"], + "author": "Joss Crowcroft (http://www.josscrowcroft.com)", + "contributors" : [], + "dependencies" : {}, + "repository" : {"type": "git", "url": "git://github.com/josscrowcroft/accounting.js.git"}, + "main" : "accounting.js", + "version" : "0.3.2" +} \ No newline at end of file diff --git a/public/vendor/accounting/readme.md b/public/vendor/accounting/readme.md new file mode 100644 index 000000000000..2e25b29a0a13 --- /dev/null +++ b/public/vendor/accounting/readme.md @@ -0,0 +1,75 @@ +**accounting.js** is a tiny JavaScript library for number, money and currency parsing/formatting. It's lightweight and fully localisable, with zero dependencies, and works great as a nodeJS/npm and AMD/requireJS module. + +Check out the **[accounting.js homepage](http://josscrowcroft.github.com/accounting.js/)** for demos and documentation! + +Please checkout/download the latest stable tag before using in production. [Bug reports](https://github.com/josscrowcroft/accounting.js/issues) and pull requests hugely welcome. + +Made with love by [@josscrowcroft](http://twitter.com/josscrowcroft) and some excellent [contributors](https://github.com/josscrowcroft/accounting.js/contributors). + +--- + +### Also try: + +* **[money.js](http://josscrowcroft.github.com/money.js)** - a tiny (1kb) javascript currency conversion library, for web & nodeJS +* **[open exchange rates](http://josscrowcroft.github.com/open-exchange-rates/)** - free / open source hourly-updated currency conversion data for everybody + +--- + +## Changelog + +**v0.3.2** - Fix package.json dependencies (should be empty object) and tweak comments + +**v0.3.0** + +* Rewrote library structure similar to underscore.js for use as a **nodeJS/npm** and **AMD/requireJS** module - now you can go `npm install accounting`, and then `var accounting = require("accounting");` in your nodeJS scripts. +* **unformat** now only attempts to parse the number if it's not already a valid number. Also now aliased as `acounting.parse` +* Fixed an IE bug in the `defaults` method + +**v0.2.2** - Fixed same issue as \#Num: #24 in **formatNumber**; switch to Google Closure Compiler for minified version. + +**v0.2.1** - Fixed issue \#Num: #24 where locally-defined settings object was being modified by **formatMoney** (still an issue in **formatNumber**) + +**v0.2** + +* Rewrote formatting system for **formatMoney** and **formatColumn**, to allow easier/better control of string output +* Separate formats for negative and zero values now supported (optionally) via `accounting.settings.currency.format` +* Internal improvements and helper methods + +**v0.1.4** - **formatMoney** recursively formats arrays; added Jasmine test suite (thx [millermedeiros](https://github.com/millermedeiros)!) and QUnit functionality/speed tests + +**v0.1.3** + +* Added configurable settings object for default formatting parameters. +* Added `format` parameter to control symbol and value position (default `"%s%v"`, or [symbol][value]) +* Made methods more consistent in accepting an object as 2nd parameter, matching/overriding the library defaults + +**v0.1.2** + +* **formatColumn** works recursively on nested arrays, eg `accounting.formatColumn( [[1,12,123,1234], [1234,123,12,1]] )`, returns matching array with inner columns lined up +* Another fix for rounding in **formatNumber**: `.535` now correctly rounds to ".54" instead of ".53" + +**v0.1.1** + +* Added **toFixed** method (`accounting.toFixed(value, precision)`), which treats floats more like decimals for more accurate currency rounding - now, `0.615` rounds up to `$0.62` instead of `$0.61` +* Minified version preserves semicolons +* Fixed NaN errors when no value in **unformat** + +**v0.1** - First version yo + + +--- + +### Here's a neat little preview of **formatColumn()**: + +```html + Original Number: | With accounting.js: | Different settings: | Symbol after value: + -------------------+-------------------------+-------------------------+----------------------- + 123.5 | $ 123.50 | HK$ 124 | 123.50 GBP + 3456.615 | $ 3,456.62 | HK$ 3,457 | 3,456.62 GBP + 777888.99 | $ 777,888.99 | HK$ 777,889 | 777,888.99 GBP + -5432 | $ -5,432.00 | HK$ (5,432) | -5,432.00 GBP + -1234567 | $ -1,234,567.00 | HK$ (1,234,567) | -1,234,567.00 GBP + 0 | $ 0.00 | HK$ -- | 0.00 GBP +``` + +There's more demos and documentation on the **[accounting.js homepage](http://josscrowcroft.github.com/accounting.js/)**. Enjoy! diff --git a/public/vendor/accounting/tests/jasmine/core/formatMoneySpec.js b/public/vendor/accounting/tests/jasmine/core/formatMoneySpec.js new file mode 100644 index 000000000000..cbfe12df7573 --- /dev/null +++ b/public/vendor/accounting/tests/jasmine/core/formatMoneySpec.js @@ -0,0 +1,23 @@ +describe('formatMoney()', function(){ + + it('should work for small numbers', function(){ + + expect( accounting.formatMoney(123) ).toBe( '$123.00' ); + expect( accounting.formatMoney(123.45) ).toBe( '$123.45' ); + expect( accounting.formatMoney(12345.67) ).toBe( '$12,345.67' ); + + }); + + it('should work for negative numbers', function(){ + + expect( accounting.formatMoney(-123) ).toBe( '$-123.00' ); + expect( accounting.formatMoney(-123.45) ).toBe( '$-123.45' ); + expect( accounting.formatMoney(-12345.67) ).toBe( '$-12,345.67' ); + + }); + + it('should allow precision to be `0` and not override with default `2`', function(){ + expect( accounting.formatMoney(5318008, "$", 0) ).toBe( '$5,318,008' ); + }); + +}); diff --git a/public/vendor/accounting/tests/jasmine/core/formatNumberSpec.js b/public/vendor/accounting/tests/jasmine/core/formatNumberSpec.js new file mode 100644 index 000000000000..6ee6a519f2b2 --- /dev/null +++ b/public/vendor/accounting/tests/jasmine/core/formatNumberSpec.js @@ -0,0 +1,132 @@ +describe('formatNumber', function(){ + + describe('rounding and enforce precision', function(){ + + it('should enforce precision and round values', function(){ + + expect( accounting.formatNumber(123.456789, 0) ).toBe( '123' ); + expect( accounting.formatNumber(123.456789, 1) ).toBe( '123.5' ); + expect( accounting.formatNumber(123.456789, 2) ).toBe( '123.46' ); + expect( accounting.formatNumber(123.456789, 3) ).toBe( '123.457' ); + expect( accounting.formatNumber(123.456789, 4) ).toBe( '123.4568' ); + expect( accounting.formatNumber(123.456789, 5) ).toBe( '123.45679' ); + + }); + + it('should fix floting point rounding error', function(){ + + expect( accounting.formatNumber(0.615, 2) ).toBe( '0.62' ); + expect( accounting.formatNumber(0.614, 2) ).toBe( '0.61' ); + + }); + + it('should work for large numbers', function(){ + + expect( accounting.formatNumber(123456.54321, 0) ).toBe( '123,457' ); + expect( accounting.formatNumber(123456.54321, 1) ).toBe( '123,456.5' ); + expect( accounting.formatNumber(123456.54321, 2) ).toBe( '123,456.54' ); + expect( accounting.formatNumber(123456.54321, 3) ).toBe( '123,456.543' ); + expect( accounting.formatNumber(123456.54321, 4) ).toBe( '123,456.5432' ); + expect( accounting.formatNumber(123456.54321, 5) ).toBe( '123,456.54321' ); + + expect( accounting.formatNumber(98765432.12, 0) ).toBe( '98,765,432' ); + expect( accounting.formatNumber(98765432.12, 1) ).toBe( '98,765,432.1' ); + expect( accounting.formatNumber(98765432.12, 2) ).toBe( '98,765,432.12' ); + expect( accounting.formatNumber(98765432.12, 3) ).toBe( '98,765,432.120' ); + expect( accounting.formatNumber(98765432.12, 4) ).toBe( '98,765,432.1200' ); + + }); + + it('should work for negative numbers', function(){ + + expect( accounting.formatNumber(-123456.54321, 0) ).toBe( '-123,457' ); + expect( accounting.formatNumber(-123456.54321, 1) ).toBe( '-123,456.5' ); + expect( accounting.formatNumber(-123456.54321, 2) ).toBe( '-123,456.54' ); + expect( accounting.formatNumber(-123456.54321, 3) ).toBe( '-123,456.543' ); + expect( accounting.formatNumber(-123456.54321, 4) ).toBe( '-123,456.5432' ); + expect( accounting.formatNumber(-123456.54321, 5) ).toBe( '-123,456.54321' ); + + expect( accounting.formatNumber(-98765432.12, 0) ).toBe( '-98,765,432' ); + expect( accounting.formatNumber(-98765432.12, 1) ).toBe( '-98,765,432.1' ); + expect( accounting.formatNumber(-98765432.12, 2) ).toBe( '-98,765,432.12' ); + expect( accounting.formatNumber(-98765432.12, 3) ).toBe( '-98,765,432.120' ); + expect( accounting.formatNumber(-98765432.12, 4) ).toBe( '-98,765,432.1200' ); + + }); + + }); + + + describe('separators', function(){ + + it('should allow setting thousands separator', function(){ + expect( accounting.formatNumber(98765432.12, 0, '|') ).toBe( '98|765|432' ); + expect( accounting.formatNumber(98765432.12, 1, '>') ).toBe( '98>765>432.1' ); + expect( accounting.formatNumber(98765432.12, 2, '*') ).toBe( '98*765*432.12' ); + expect( accounting.formatNumber(98765432.12, 3, '\'') ).toBe( '98\'765\'432.120' ); + expect( accounting.formatNumber(98765432.12, 4, ']') ).toBe( '98]765]432.1200' ); + }); + + + it('should allow setting decimal separator', function(){ + expect( accounting.formatNumber(98765432.12, 0, null, '|') ).toBe( '98,765,432' ); + expect( accounting.formatNumber(98765432.12, 1, null, '>') ).toBe( '98,765,432>1' ); + expect( accounting.formatNumber(98765432.12, 2, null, '*') ).toBe( '98,765,432*12' ); + expect( accounting.formatNumber(98765432.12, 3, null, '\'') ).toBe( '98,765,432\'120' ); + expect( accounting.formatNumber(98765432.12, 4, null, ']') ).toBe( '98,765,432]1200' ); + }); + + it('should allow setting thousand and decimal separators', function(){ + expect( accounting.formatNumber(98765432.12, 0, '\\', '|') ).toBe( '98\\765\\432' ); + expect( accounting.formatNumber(98765432.12, 1, '<', '>') ).toBe( '98<765<432>1' ); + expect( accounting.formatNumber(98765432.12, 2, '&', '*') ).toBe( '98&765&432*12' ); + expect( accounting.formatNumber(98765432.12, 3, '"', '\'') ).toBe( '98"765"432\'120' ); + expect( accounting.formatNumber(98765432.12, 4, '[', ']') ).toBe( '98[765[432]1200' ); + }); + + it('should use default separators if null', function(){ + expect( accounting.formatNumber(12345.12345, 2, null, null) ).toBe('12,345.12'); + }); + + it('should use empty separators if passed as empty string', function(){ + expect( accounting.formatNumber(12345.12345, 2, '', '') ).toBe('1234512'); + }); + + }); + + + describe('multiple numbers (array)', function(){ + + it('should handle an array of numbers', function(){ + + var vals = accounting.formatNumber([123, 456.78, 1234.123], 2); + + expect( vals[0] ).toBe( '123.00' ); + expect( vals[1] ).toBe( '456.78' ); + expect( vals[2] ).toBe( '1,234.12' ); + }); + + }); + + describe('properties object', function(){ + + it('should accept a properties object', function(){ + + var val = accounting.formatNumber(123456789.1234, { + thousand : '.', + decimal : ',', + precision : 3 + }); + + expect( val ).toBe( '123.456.789,123' ); + }); + + it('properties should be optional', function(){ + var val = accounting.formatNumber(123456789.1234, {}); + expect( val ).toBe( '123,456,789' ); + }); + + }); + + +}); diff --git a/public/vendor/accounting/tests/jasmine/core/unformatSpec.js b/public/vendor/accounting/tests/jasmine/core/unformatSpec.js new file mode 100644 index 000000000000..1f0f17e70fab --- /dev/null +++ b/public/vendor/accounting/tests/jasmine/core/unformatSpec.js @@ -0,0 +1,31 @@ +describe('unformat()', function(){ + + it('should remove padding special chars', function(){ + expect( accounting.unformat('$ 123,456') ).toBe( 123456 ); + expect( accounting.unformat('$ 123,456.78') ).toBe( 123456.78 ); + expect( accounting.unformat('&*()$ 123,456') ).toBe( 123456 ); + expect( accounting.unformat(';$@#$%^&123,456.78') ).toBe( 123456.78 ); + }); + + it('should work with negative numbers', function(){ + expect( accounting.unformat('$ -123,456') ).toBe( -123456 ); + expect( accounting.unformat('$ -123,456.78') ).toBe( -123456.78 ); + expect( accounting.unformat('&*()$ -123,456') ).toBe( -123456 ); + expect( accounting.unformat(';$@#$%^&-123,456.78') ).toBe( -123456.78 ); + }); + + it('should accept different decimal separators', function(){ + expect( accounting.unformat('$ 123,456', ',') ).toBe( 123.456 ); + expect( accounting.unformat('$ 123456|78', '|') ).toBe( 123456.78 ); + expect( accounting.unformat('&*()$ 123>456', '>') ).toBe( 123.456 ); + expect( accounting.unformat(';$@#$%^&123,456\'78', '\'') ).toBe( 123456.78 ); + }); + + it('should accept an array', function(){ + var vals = accounting.unformat(['$ 123', '$567.89', 'R$12,345,678.901']); + expect( vals[0] ).toBe( 123 ); + expect( vals[1] ).toBe( 567.89 ); + expect( vals[2] ).toBe( 12345678.901 ); + }); + +}); diff --git a/public/vendor/accounting/tests/jasmine/lib/jasmine/MIT.LICENSE b/public/vendor/accounting/tests/jasmine/lib/jasmine/MIT.LICENSE new file mode 100644 index 000000000000..1eb9b49e7e0d --- /dev/null +++ b/public/vendor/accounting/tests/jasmine/lib/jasmine/MIT.LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2008-2010 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine-html.js b/public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine-html.js new file mode 100644 index 000000000000..81402b9c10a7 --- /dev/null +++ b/public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine-html.js @@ -0,0 +1,188 @@ +jasmine.TrivialReporter = function(doc) { + this.document = doc || document; + this.suiteDivs = {}; + this.logRunningSpecs = false; +}; + +jasmine.TrivialReporter.prototype.createDom = function(type, attrs, childrenVarArgs) { + var el = document.createElement(type); + + for (var i = 2; i < arguments.length; i++) { + var child = arguments[i]; + + if (typeof child === 'string') { + el.appendChild(document.createTextNode(child)); + } else { + if (child) { el.appendChild(child); } + } + } + + for (var attr in attrs) { + if (attr == "className") { + el[attr] = attrs[attr]; + } else { + el.setAttribute(attr, attrs[attr]); + } + } + + return el; +}; + +jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) { + var showPassed, showSkipped; + + this.outerDiv = this.createDom('div', { className: 'jasmine_reporter' }, + this.createDom('div', { className: 'banner' }, + this.createDom('div', { className: 'logo' }, + this.createDom('a', { href: 'http://pivotal.github.com/jasmine/', target: "_blank" }, "Jasmine"), + this.createDom('span', { className: 'version' }, runner.env.versionString())), + this.createDom('div', { className: 'options' }, + "Show ", + showPassed = this.createDom('input', { id: "__jasmine_TrivialReporter_showPassed__", type: 'checkbox' }), + this.createDom('label', { "for": "__jasmine_TrivialReporter_showPassed__" }, " passed "), + showSkipped = this.createDom('input', { id: "__jasmine_TrivialReporter_showSkipped__", type: 'checkbox' }), + this.createDom('label', { "for": "__jasmine_TrivialReporter_showSkipped__" }, " skipped") + ) + ), + + this.runnerDiv = this.createDom('div', { className: 'runner running' }, + this.createDom('a', { className: 'run_spec', href: '?' }, "run all"), + this.runnerMessageSpan = this.createDom('span', {}, "Running..."), + this.finishedAtSpan = this.createDom('span', { className: 'finished-at' }, "")) + ); + + this.document.body.appendChild(this.outerDiv); + + var suites = runner.suites(); + for (var i = 0; i < suites.length; i++) { + var suite = suites[i]; + var suiteDiv = this.createDom('div', { className: 'suite' }, + this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, "run"), + this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, suite.description)); + this.suiteDivs[suite.id] = suiteDiv; + var parentDiv = this.outerDiv; + if (suite.parentSuite) { + parentDiv = this.suiteDivs[suite.parentSuite.id]; + } + parentDiv.appendChild(suiteDiv); + } + + this.startedAt = new Date(); + + var self = this; + showPassed.onclick = function(evt) { + if (showPassed.checked) { + self.outerDiv.className += ' show-passed'; + } else { + self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, ''); + } + }; + + showSkipped.onclick = function(evt) { + if (showSkipped.checked) { + self.outerDiv.className += ' show-skipped'; + } else { + self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, ''); + } + }; +}; + +jasmine.TrivialReporter.prototype.reportRunnerResults = function(runner) { + var results = runner.results(); + var className = (results.failedCount > 0) ? "runner failed" : "runner passed"; + this.runnerDiv.setAttribute("class", className); + //do it twice for IE + this.runnerDiv.setAttribute("className", className); + var specs = runner.specs(); + var specCount = 0; + for (var i = 0; i < specs.length; i++) { + if (this.specFilter(specs[i])) { + specCount++; + } + } + var message = "" + specCount + " spec" + (specCount == 1 ? "" : "s" ) + ", " + results.failedCount + " failure" + ((results.failedCount == 1) ? "" : "s"); + message += " in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s"; + this.runnerMessageSpan.replaceChild(this.createDom('a', { className: 'description', href: '?'}, message), this.runnerMessageSpan.firstChild); + + this.finishedAtSpan.appendChild(document.createTextNode("Finished at " + new Date().toString())); +}; + +jasmine.TrivialReporter.prototype.reportSuiteResults = function(suite) { + var results = suite.results(); + var status = results.passed() ? 'passed' : 'failed'; + if (results.totalCount == 0) { // todo: change this to check results.skipped + status = 'skipped'; + } + this.suiteDivs[suite.id].className += " " + status; +}; + +jasmine.TrivialReporter.prototype.reportSpecStarting = function(spec) { + if (this.logRunningSpecs) { + this.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...'); + } +}; + +jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) { + var results = spec.results(); + var status = results.passed() ? 'passed' : 'failed'; + if (results.skipped) { + status = 'skipped'; + } + var specDiv = this.createDom('div', { className: 'spec ' + status }, + this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(spec.getFullName()) }, "run"), + this.createDom('a', { + className: 'description', + href: '?spec=' + encodeURIComponent(spec.getFullName()), + title: spec.getFullName() + }, spec.description)); + + + var resultItems = results.getItems(); + var messagesDiv = this.createDom('div', { className: 'messages' }); + for (var i = 0; i < resultItems.length; i++) { + var result = resultItems[i]; + + if (result.type == 'log') { + messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString())); + } else if (result.type == 'expect' && result.passed && !result.passed()) { + messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message)); + + if (result.trace.stack) { + messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack)); + } + } + } + + if (messagesDiv.childNodes.length > 0) { + specDiv.appendChild(messagesDiv); + } + + this.suiteDivs[spec.suite.id].appendChild(specDiv); +}; + +jasmine.TrivialReporter.prototype.log = function() { + var console = jasmine.getGlobal().console; + if (console && console.log) { + if (console.log.apply) { + console.log.apply(console, arguments); + } else { + console.log(arguments); // ie fix: console.log.apply doesn't exist on ie + } + } +}; + +jasmine.TrivialReporter.prototype.getLocation = function() { + return this.document.location; +}; + +jasmine.TrivialReporter.prototype.specFilter = function(spec) { + var paramMap = {}; + var params = this.getLocation().search.substring(1).split('&'); + for (var i = 0; i < params.length; i++) { + var p = params[i].split('='); + paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]); + } + + if (!paramMap["spec"]) return true; + return spec.getFullName().indexOf(paramMap["spec"]) == 0; +}; diff --git a/public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine.css b/public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine.css new file mode 100644 index 000000000000..6583fe7c66d4 --- /dev/null +++ b/public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine.css @@ -0,0 +1,166 @@ +body { + font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif; +} + + +.jasmine_reporter a:visited, .jasmine_reporter a { + color: #303; +} + +.jasmine_reporter a:hover, .jasmine_reporter a:active { + color: blue; +} + +.run_spec { + float:right; + padding-right: 5px; + font-size: .8em; + text-decoration: none; +} + +.jasmine_reporter { + margin: 0 5px; +} + +.banner { + color: #303; + background-color: #fef; + padding: 5px; +} + +.logo { + float: left; + font-size: 1.1em; + padding-left: 5px; +} + +.logo .version { + font-size: .6em; + padding-left: 1em; +} + +.runner.running { + background-color: yellow; +} + + +.options { + text-align: right; + font-size: .8em; +} + + + + +.suite { + border: 1px outset gray; + margin: 5px 0; + padding-left: 1em; +} + +.suite .suite { + margin: 5px; +} + +.suite.passed { + background-color: #dfd; +} + +.suite.failed { + background-color: #fdd; +} + +.spec { + margin: 5px; + padding-left: 1em; + clear: both; +} + +.spec.failed, .spec.passed, .spec.skipped { + padding-bottom: 5px; + border: 1px solid gray; +} + +.spec.failed { + background-color: #fbb; + border-color: red; +} + +.spec.passed { + background-color: #bfb; + border-color: green; +} + +.spec.skipped { + background-color: #bbb; +} + +.messages { + border-left: 1px dashed gray; + padding-left: 1em; + padding-right: 1em; +} + +.passed { + background-color: #cfc; + display: none; +} + +.failed { + background-color: #fbb; +} + +.skipped { + color: #777; + background-color: #eee; + display: none; +} + + +/*.resultMessage {*/ + /*white-space: pre;*/ +/*}*/ + +.resultMessage span.result { + display: block; + line-height: 2em; + color: black; +} + +.resultMessage .mismatch { + color: black; +} + +.stackTrace { + white-space: pre; + font-size: .8em; + margin-left: 10px; + max-height: 5em; + overflow: auto; + border: 1px inset red; + padding: 1em; + background: #eef; +} + +.finished-at { + padding-left: 1em; + font-size: .6em; +} + +.show-passed .passed, +.show-skipped .skipped { + display: block; +} + + +#jasmine_content { + position:fixed; + right: 100%; +} + +.runner { + border: 1px solid gray; + display: block; + margin: 5px 0; + padding: 2px 0 2px 10px; +} diff --git a/public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine.js b/public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine.js new file mode 100644 index 000000000000..63e415d817eb --- /dev/null +++ b/public/vendor/accounting/tests/jasmine/lib/jasmine/jasmine.js @@ -0,0 +1,2421 @@ +/** + * Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework. + * + * @namespace + */ +var jasmine = {}; + +/** + * @private + */ +jasmine.unimplementedMethod_ = function() { + throw new Error("unimplemented method"); +}; + +/** + * Use jasmine.undefined instead of undefined, since undefined is just + * a plain old variable and may be redefined by somebody else. + * + * @private + */ +jasmine.undefined = jasmine.___undefined___; + +/** + * Default interval in milliseconds for event loop yields (e.g. to allow network activity or to refresh the screen with the HTML-based runner). Small values here may result in slow test running. Zero means no updates until all tests have completed. + * + */ +jasmine.DEFAULT_UPDATE_INTERVAL = 250; + +/** + * Default timeout interval in milliseconds for waitsFor() blocks. + */ +jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000; + +jasmine.getGlobal = function() { + function getGlobal() { + return this; + } + + return getGlobal(); +}; + +/** + * Allows for bound functions to be compared. Internal use only. + * + * @ignore + * @private + * @param base {Object} bound 'this' for the function + * @param name {Function} function to find + */ +jasmine.bindOriginal_ = function(base, name) { + var original = base[name]; + if (original.apply) { + return function() { + return original.apply(base, arguments); + }; + } else { + // IE support + return jasmine.getGlobal()[name]; + } +}; + +jasmine.setTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'setTimeout'); +jasmine.clearTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearTimeout'); +jasmine.setInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'setInterval'); +jasmine.clearInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearInterval'); + +jasmine.MessageResult = function(values) { + this.type = 'log'; + this.values = values; + this.trace = new Error(); // todo: test better +}; + +jasmine.MessageResult.prototype.toString = function() { + var text = ""; + for(var i = 0; i < this.values.length; i++) { + if (i > 0) text += " "; + if (jasmine.isString_(this.values[i])) { + text += this.values[i]; + } else { + text += jasmine.pp(this.values[i]); + } + } + return text; +}; + +jasmine.ExpectationResult = function(params) { + this.type = 'expect'; + this.matcherName = params.matcherName; + this.passed_ = params.passed; + this.expected = params.expected; + this.actual = params.actual; + + this.message = this.passed_ ? 'Passed.' : params.message; + this.trace = this.passed_ ? '' : new Error(this.message); +}; + +jasmine.ExpectationResult.prototype.toString = function () { + return this.message; +}; + +jasmine.ExpectationResult.prototype.passed = function () { + return this.passed_; +}; + +/** + * Getter for the Jasmine environment. Ensures one gets created + */ +jasmine.getEnv = function() { + return jasmine.currentEnv_ = jasmine.currentEnv_ || new jasmine.Env(); +}; + +/** + * @ignore + * @private + * @param value + * @returns {Boolean} + */ +jasmine.isArray_ = function(value) { + return jasmine.isA_("Array", value); +}; + +/** + * @ignore + * @private + * @param value + * @returns {Boolean} + */ +jasmine.isString_ = function(value) { + return jasmine.isA_("String", value); +}; + +/** + * @ignore + * @private + * @param value + * @returns {Boolean} + */ +jasmine.isNumber_ = function(value) { + return jasmine.isA_("Number", value); +}; + +/** + * @ignore + * @private + * @param {String} typeName + * @param value + * @returns {Boolean} + */ +jasmine.isA_ = function(typeName, value) { + return Object.prototype.toString.apply(value) === '[object ' + typeName + ']'; +}; + +/** + * Pretty printer for expecations. Takes any object and turns it into a human-readable string. + * + * @param value {Object} an object to be outputted + * @returns {String} + */ +jasmine.pp = function(value) { + var stringPrettyPrinter = new jasmine.StringPrettyPrinter(); + stringPrettyPrinter.format(value); + return stringPrettyPrinter.string; +}; + +/** + * Returns true if the object is a DOM Node. + * + * @param {Object} obj object to check + * @returns {Boolean} + */ +jasmine.isDomNode = function(obj) { + return obj['nodeType'] > 0; +}; + +/** + * Returns a matchable 'generic' object of the class type. For use in expecations of type when values don't matter. + * + * @example + * // don't care about which function is passed in, as long as it's a function + * expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function)); + * + * @param {Class} clazz + * @returns matchable object of the type clazz + */ +jasmine.any = function(clazz) { + return new jasmine.Matchers.Any(clazz); +}; + +/** + * Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks. + * + * Spies should be created in test setup, before expectations. They can then be checked, using the standard Jasmine + * expectation syntax. Spies can be checked if they were called or not and what the calling params were. + * + * A Spy has the following fields: wasCalled, callCount, mostRecentCall, and argsForCall (see docs). + * + * Spies are torn down at the end of every spec. + * + * Note: Do not call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj. + * + * @example + * // a stub + * var myStub = jasmine.createSpy('myStub'); // can be used anywhere + * + * // spy example + * var foo = { + * not: function(bool) { return !bool; } + * } + * + * // actual foo.not will not be called, execution stops + * spyOn(foo, 'not'); + + // foo.not spied upon, execution will continue to implementation + * spyOn(foo, 'not').andCallThrough(); + * + * // fake example + * var foo = { + * not: function(bool) { return !bool; } + * } + * + * // foo.not(val) will return val + * spyOn(foo, 'not').andCallFake(function(value) {return value;}); + * + * // mock example + * foo.not(7 == 7); + * expect(foo.not).toHaveBeenCalled(); + * expect(foo.not).toHaveBeenCalledWith(true); + * + * @constructor + * @see spyOn, jasmine.createSpy, jasmine.createSpyObj + * @param {String} name + */ +jasmine.Spy = function(name) { + /** + * The name of the spy, if provided. + */ + this.identity = name || 'unknown'; + /** + * Is this Object a spy? + */ + this.isSpy = true; + /** + * The actual function this spy stubs. + */ + this.plan = function() { + }; + /** + * Tracking of the most recent call to the spy. + * @example + * var mySpy = jasmine.createSpy('foo'); + * mySpy(1, 2); + * mySpy.mostRecentCall.args = [1, 2]; + */ + this.mostRecentCall = {}; + + /** + * Holds arguments for each call to the spy, indexed by call count + * @example + * var mySpy = jasmine.createSpy('foo'); + * mySpy(1, 2); + * mySpy(7, 8); + * mySpy.mostRecentCall.args = [7, 8]; + * mySpy.argsForCall[0] = [1, 2]; + * mySpy.argsForCall[1] = [7, 8]; + */ + this.argsForCall = []; + this.calls = []; +}; + +/** + * Tells a spy to call through to the actual implemenatation. + * + * @example + * var foo = { + * bar: function() { // do some stuff } + * } + * + * // defining a spy on an existing property: foo.bar + * spyOn(foo, 'bar').andCallThrough(); + */ +jasmine.Spy.prototype.andCallThrough = function() { + this.plan = this.originalValue; + return this; +}; + +/** + * For setting the return value of a spy. + * + * @example + * // defining a spy from scratch: foo() returns 'baz' + * var foo = jasmine.createSpy('spy on foo').andReturn('baz'); + * + * // defining a spy on an existing property: foo.bar() returns 'baz' + * spyOn(foo, 'bar').andReturn('baz'); + * + * @param {Object} value + */ +jasmine.Spy.prototype.andReturn = function(value) { + this.plan = function() { + return value; + }; + return this; +}; + +/** + * For throwing an exception when a spy is called. + * + * @example + * // defining a spy from scratch: foo() throws an exception w/ message 'ouch' + * var foo = jasmine.createSpy('spy on foo').andThrow('baz'); + * + * // defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch' + * spyOn(foo, 'bar').andThrow('baz'); + * + * @param {String} exceptionMsg + */ +jasmine.Spy.prototype.andThrow = function(exceptionMsg) { + this.plan = function() { + throw exceptionMsg; + }; + return this; +}; + +/** + * Calls an alternate implementation when a spy is called. + * + * @example + * var baz = function() { + * // do some stuff, return something + * } + * // defining a spy from scratch: foo() calls the function baz + * var foo = jasmine.createSpy('spy on foo').andCall(baz); + * + * // defining a spy on an existing property: foo.bar() calls an anonymnous function + * spyOn(foo, 'bar').andCall(function() { return 'baz';} ); + * + * @param {Function} fakeFunc + */ +jasmine.Spy.prototype.andCallFake = function(fakeFunc) { + this.plan = fakeFunc; + return this; +}; + +/** + * Resets all of a spy's the tracking variables so that it can be used again. + * + * @example + * spyOn(foo, 'bar'); + * + * foo.bar(); + * + * expect(foo.bar.callCount).toEqual(1); + * + * foo.bar.reset(); + * + * expect(foo.bar.callCount).toEqual(0); + */ +jasmine.Spy.prototype.reset = function() { + this.wasCalled = false; + this.callCount = 0; + this.argsForCall = []; + this.calls = []; + this.mostRecentCall = {}; +}; + +jasmine.createSpy = function(name) { + + var spyObj = function() { + spyObj.wasCalled = true; + spyObj.callCount++; + var args = jasmine.util.argsToArray(arguments); + spyObj.mostRecentCall.object = this; + spyObj.mostRecentCall.args = args; + spyObj.argsForCall.push(args); + spyObj.calls.push({object: this, args: args}); + return spyObj.plan.apply(this, arguments); + }; + + var spy = new jasmine.Spy(name); + + for (var prop in spy) { + spyObj[prop] = spy[prop]; + } + + spyObj.reset(); + + return spyObj; +}; + +/** + * Determines whether an object is a spy. + * + * @param {jasmine.Spy|Object} putativeSpy + * @returns {Boolean} + */ +jasmine.isSpy = function(putativeSpy) { + return putativeSpy && putativeSpy.isSpy; +}; + +/** + * Creates a more complicated spy: an Object that has every property a function that is a spy. Used for stubbing something + * large in one call. + * + * @param {String} baseName name of spy class + * @param {Array} methodNames array of names of methods to make spies + */ +jasmine.createSpyObj = function(baseName, methodNames) { + if (!jasmine.isArray_(methodNames) || methodNames.length == 0) { + throw new Error('createSpyObj requires a non-empty array of method names to create spies for'); + } + var obj = {}; + for (var i = 0; i < methodNames.length; i++) { + obj[methodNames[i]] = jasmine.createSpy(baseName + '.' + methodNames[i]); + } + return obj; +}; + +/** + * All parameters are pretty-printed and concatenated together, then written to the current spec's output. + * + * Be careful not to leave calls to jasmine.log in production code. + */ +jasmine.log = function() { + var spec = jasmine.getEnv().currentSpec; + spec.log.apply(spec, arguments); +}; + +/** + * Function that installs a spy on an existing object's method name. Used within a Spec to create a spy. + * + * @example + * // spy example + * var foo = { + * not: function(bool) { return !bool; } + * } + * spyOn(foo, 'not'); // actual foo.not will not be called, execution stops + * + * @see jasmine.createSpy + * @param obj + * @param methodName + * @returns a Jasmine spy that can be chained with all spy methods + */ +var spyOn = function(obj, methodName) { + return jasmine.getEnv().currentSpec.spyOn(obj, methodName); +}; + +/** + * Creates a Jasmine spec that will be added to the current suite. + * + * // TODO: pending tests + * + * @example + * it('should be true', function() { + * expect(true).toEqual(true); + * }); + * + * @param {String} desc description of this specification + * @param {Function} func defines the preconditions and expectations of the spec + */ +var it = function(desc, func) { + return jasmine.getEnv().it(desc, func); +}; + +/** + * Creates a disabled Jasmine spec. + * + * A convenience method that allows existing specs to be disabled temporarily during development. + * + * @param {String} desc description of this specification + * @param {Function} func defines the preconditions and expectations of the spec + */ +var xit = function(desc, func) { + return jasmine.getEnv().xit(desc, func); +}; + +/** + * Starts a chain for a Jasmine expectation. + * + * It is passed an Object that is the actual value and should chain to one of the many + * jasmine.Matchers functions. + * + * @param {Object} actual Actual value to test against and expected value + */ +var expect = function(actual) { + return jasmine.getEnv().currentSpec.expect(actual); +}; + +/** + * Defines part of a jasmine spec. Used in cominbination with waits or waitsFor in asynchrnous specs. + * + * @param {Function} func Function that defines part of a jasmine spec. + */ +var runs = function(func) { + jasmine.getEnv().currentSpec.runs(func); +}; + +/** + * Waits a fixed time period before moving to the next block. + * + * @deprecated Use waitsFor() instead + * @param {Number} timeout milliseconds to wait + */ +var waits = function(timeout) { + jasmine.getEnv().currentSpec.waits(timeout); +}; + +/** + * Waits for the latchFunction to return true before proceeding to the next block. + * + * @param {Function} latchFunction + * @param {String} optional_timeoutMessage + * @param {Number} optional_timeout + */ +var waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) { + jasmine.getEnv().currentSpec.waitsFor.apply(jasmine.getEnv().currentSpec, arguments); +}; + +/** + * A function that is called before each spec in a suite. + * + * Used for spec setup, including validating assumptions. + * + * @param {Function} beforeEachFunction + */ +var beforeEach = function(beforeEachFunction) { + jasmine.getEnv().beforeEach(beforeEachFunction); +}; + +/** + * A function that is called after each spec in a suite. + * + * Used for restoring any state that is hijacked during spec execution. + * + * @param {Function} afterEachFunction + */ +var afterEach = function(afterEachFunction) { + jasmine.getEnv().afterEach(afterEachFunction); +}; + +/** + * Defines a suite of specifications. + * + * Stores the description and all defined specs in the Jasmine environment as one suite of specs. Variables declared + * are accessible by calls to beforeEach, it, and afterEach. Describe blocks can be nested, allowing for specialization + * of setup in some tests. + * + * @example + * // TODO: a simple suite + * + * // TODO: a simple suite with a nested describe block + * + * @param {String} description A string, usually the class under test. + * @param {Function} specDefinitions function that defines several specs. + */ +var describe = function(description, specDefinitions) { + return jasmine.getEnv().describe(description, specDefinitions); +}; + +/** + * Disables a suite of specifications. Used to disable some suites in a file, or files, temporarily during development. + * + * @param {String} description A string, usually the class under test. + * @param {Function} specDefinitions function that defines several specs. + */ +var xdescribe = function(description, specDefinitions) { + return jasmine.getEnv().xdescribe(description, specDefinitions); +}; + + +// Provide the XMLHttpRequest class for IE 5.x-6.x: +jasmine.XmlHttpRequest = (typeof XMLHttpRequest == "undefined") ? function() { + try { + return new ActiveXObject("Msxml2.XMLHTTP.6.0"); + } catch(e) { + } + try { + return new ActiveXObject("Msxml2.XMLHTTP.3.0"); + } catch(e) { + } + try { + return new ActiveXObject("Msxml2.XMLHTTP"); + } catch(e) { + } + try { + return new ActiveXObject("Microsoft.XMLHTTP"); + } catch(e) { + } + throw new Error("This browser does not support XMLHttpRequest."); +} : XMLHttpRequest; +/** + * @namespace + */ +jasmine.util = {}; + +/** + * Declare that a child class inherit it's prototype from the parent class. + * + * @private + * @param {Function} childClass + * @param {Function} parentClass + */ +jasmine.util.inherit = function(childClass, parentClass) { + /** + * @private + */ + var subclass = function() { + }; + subclass.prototype = parentClass.prototype; + childClass.prototype = new subclass; +}; + +jasmine.util.formatException = function(e) { + var lineNumber; + if (e.line) { + lineNumber = e.line; + } + else if (e.lineNumber) { + lineNumber = e.lineNumber; + } + + var file; + + if (e.sourceURL) { + file = e.sourceURL; + } + else if (e.fileName) { + file = e.fileName; + } + + var message = (e.name && e.message) ? (e.name + ': ' + e.message) : e.toString(); + + if (file && lineNumber) { + message += ' in ' + file + ' (line ' + lineNumber + ')'; + } + + return message; +}; + +jasmine.util.htmlEscape = function(str) { + if (!str) return str; + return str.replace(/&/g, '&') + .replace(//g, '>'); +}; + +jasmine.util.argsToArray = function(args) { + var arrayOfArgs = []; + for (var i = 0; i < args.length; i++) arrayOfArgs.push(args[i]); + return arrayOfArgs; +}; + +jasmine.util.extend = function(destination, source) { + for (var property in source) destination[property] = source[property]; + return destination; +}; + +/** + * Environment for Jasmine + * + * @constructor + */ +jasmine.Env = function() { + this.currentSpec = null; + this.currentSuite = null; + this.currentRunner_ = new jasmine.Runner(this); + + this.reporter = new jasmine.MultiReporter(); + + this.updateInterval = jasmine.DEFAULT_UPDATE_INTERVAL; + this.defaultTimeoutInterval = jasmine.DEFAULT_TIMEOUT_INTERVAL; + this.lastUpdate = 0; + this.specFilter = function() { + return true; + }; + + this.nextSpecId_ = 0; + this.nextSuiteId_ = 0; + this.equalityTesters_ = []; + + // wrap matchers + this.matchersClass = function() { + jasmine.Matchers.apply(this, arguments); + }; + jasmine.util.inherit(this.matchersClass, jasmine.Matchers); + + jasmine.Matchers.wrapInto_(jasmine.Matchers.prototype, this.matchersClass); +}; + + +jasmine.Env.prototype.setTimeout = jasmine.setTimeout; +jasmine.Env.prototype.clearTimeout = jasmine.clearTimeout; +jasmine.Env.prototype.setInterval = jasmine.setInterval; +jasmine.Env.prototype.clearInterval = jasmine.clearInterval; + +/** + * @returns an object containing jasmine version build info, if set. + */ +jasmine.Env.prototype.version = function () { + if (jasmine.version_) { + return jasmine.version_; + } else { + throw new Error('Version not set'); + } +}; + +/** + * @returns string containing jasmine version build info, if set. + */ +jasmine.Env.prototype.versionString = function() { + if (jasmine.version_) { + var version = this.version(); + return version.major + "." + version.minor + "." + version.build + " revision " + version.revision; + } else { + return "version unknown"; + } +}; + +/** + * @returns a sequential integer starting at 0 + */ +jasmine.Env.prototype.nextSpecId = function () { + return this.nextSpecId_++; +}; + +/** + * @returns a sequential integer starting at 0 + */ +jasmine.Env.prototype.nextSuiteId = function () { + return this.nextSuiteId_++; +}; + +/** + * Register a reporter to receive status updates from Jasmine. + * @param {jasmine.Reporter} reporter An object which will receive status updates. + */ +jasmine.Env.prototype.addReporter = function(reporter) { + this.reporter.addReporter(reporter); +}; + +jasmine.Env.prototype.execute = function() { + this.currentRunner_.execute(); +}; + +jasmine.Env.prototype.describe = function(description, specDefinitions) { + var suite = new jasmine.Suite(this, description, specDefinitions, this.currentSuite); + + var parentSuite = this.currentSuite; + if (parentSuite) { + parentSuite.add(suite); + } else { + this.currentRunner_.add(suite); + } + + this.currentSuite = suite; + + var declarationError = null; + try { + specDefinitions.call(suite); + } catch(e) { + declarationError = e; + } + + this.currentSuite = parentSuite; + + if (declarationError) { + this.it("encountered a declaration exception", function() { + throw declarationError; + }); + } + + return suite; +}; + +jasmine.Env.prototype.beforeEach = function(beforeEachFunction) { + if (this.currentSuite) { + this.currentSuite.beforeEach(beforeEachFunction); + } else { + this.currentRunner_.beforeEach(beforeEachFunction); + } +}; + +jasmine.Env.prototype.currentRunner = function () { + return this.currentRunner_; +}; + +jasmine.Env.prototype.afterEach = function(afterEachFunction) { + if (this.currentSuite) { + this.currentSuite.afterEach(afterEachFunction); + } else { + this.currentRunner_.afterEach(afterEachFunction); + } + +}; + +jasmine.Env.prototype.xdescribe = function(desc, specDefinitions) { + return { + execute: function() { + } + }; +}; + +jasmine.Env.prototype.it = function(description, func) { + var spec = new jasmine.Spec(this, this.currentSuite, description); + this.currentSuite.add(spec); + this.currentSpec = spec; + + if (func) { + spec.runs(func); + } + + return spec; +}; + +jasmine.Env.prototype.xit = function(desc, func) { + return { + id: this.nextSpecId(), + runs: function() { + } + }; +}; + +jasmine.Env.prototype.compareObjects_ = function(a, b, mismatchKeys, mismatchValues) { + if (a.__Jasmine_been_here_before__ === b && b.__Jasmine_been_here_before__ === a) { + return true; + } + + a.__Jasmine_been_here_before__ = b; + b.__Jasmine_been_here_before__ = a; + + var hasKey = function(obj, keyName) { + return obj != null && obj[keyName] !== jasmine.undefined; + }; + + for (var property in b) { + if (!hasKey(a, property) && hasKey(b, property)) { + mismatchKeys.push("expected has key '" + property + "', but missing from actual."); + } + } + for (property in a) { + if (!hasKey(b, property) && hasKey(a, property)) { + mismatchKeys.push("expected missing key '" + property + "', but present in actual."); + } + } + for (property in b) { + if (property == '__Jasmine_been_here_before__') continue; + if (!this.equals_(a[property], b[property], mismatchKeys, mismatchValues)) { + mismatchValues.push("'" + property + "' was '" + (b[property] ? jasmine.util.htmlEscape(b[property].toString()) : b[property]) + "' in expected, but was '" + (a[property] ? jasmine.util.htmlEscape(a[property].toString()) : a[property]) + "' in actual."); + } + } + + if (jasmine.isArray_(a) && jasmine.isArray_(b) && a.length != b.length) { + mismatchValues.push("arrays were not the same length"); + } + + delete a.__Jasmine_been_here_before__; + delete b.__Jasmine_been_here_before__; + return (mismatchKeys.length == 0 && mismatchValues.length == 0); +}; + +jasmine.Env.prototype.equals_ = function(a, b, mismatchKeys, mismatchValues) { + mismatchKeys = mismatchKeys || []; + mismatchValues = mismatchValues || []; + + for (var i = 0; i < this.equalityTesters_.length; i++) { + var equalityTester = this.equalityTesters_[i]; + var result = equalityTester(a, b, this, mismatchKeys, mismatchValues); + if (result !== jasmine.undefined) return result; + } + + if (a === b) return true; + + if (a === jasmine.undefined || a === null || b === jasmine.undefined || b === null) { + return (a == jasmine.undefined && b == jasmine.undefined); + } + + if (jasmine.isDomNode(a) && jasmine.isDomNode(b)) { + return a === b; + } + + if (a instanceof Date && b instanceof Date) { + return a.getTime() == b.getTime(); + } + + if (a instanceof jasmine.Matchers.Any) { + return a.matches(b); + } + + if (b instanceof jasmine.Matchers.Any) { + return b.matches(a); + } + + if (jasmine.isString_(a) && jasmine.isString_(b)) { + return (a == b); + } + + if (jasmine.isNumber_(a) && jasmine.isNumber_(b)) { + return (a == b); + } + + if (typeof a === "object" && typeof b === "object") { + return this.compareObjects_(a, b, mismatchKeys, mismatchValues); + } + + //Straight check + return (a === b); +}; + +jasmine.Env.prototype.contains_ = function(haystack, needle) { + if (jasmine.isArray_(haystack)) { + for (var i = 0; i < haystack.length; i++) { + if (this.equals_(haystack[i], needle)) return true; + } + return false; + } + return haystack.indexOf(needle) >= 0; +}; + +jasmine.Env.prototype.addEqualityTester = function(equalityTester) { + this.equalityTesters_.push(equalityTester); +}; +/** No-op base class for Jasmine reporters. + * + * @constructor + */ +jasmine.Reporter = function() { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportRunnerStarting = function(runner) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportRunnerResults = function(runner) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportSuiteResults = function(suite) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportSpecStarting = function(spec) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportSpecResults = function(spec) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.log = function(str) { +}; + +/** + * Blocks are functions with executable code that make up a spec. + * + * @constructor + * @param {jasmine.Env} env + * @param {Function} func + * @param {jasmine.Spec} spec + */ +jasmine.Block = function(env, func, spec) { + this.env = env; + this.func = func; + this.spec = spec; +}; + +jasmine.Block.prototype.execute = function(onComplete) { + try { + this.func.apply(this.spec); + } catch (e) { + this.spec.fail(e); + } + onComplete(); +}; +/** JavaScript API reporter. + * + * @constructor + */ +jasmine.JsApiReporter = function() { + this.started = false; + this.finished = false; + this.suites_ = []; + this.results_ = {}; +}; + +jasmine.JsApiReporter.prototype.reportRunnerStarting = function(runner) { + this.started = true; + var suites = runner.topLevelSuites(); + for (var i = 0; i < suites.length; i++) { + var suite = suites[i]; + this.suites_.push(this.summarize_(suite)); + } +}; + +jasmine.JsApiReporter.prototype.suites = function() { + return this.suites_; +}; + +jasmine.JsApiReporter.prototype.summarize_ = function(suiteOrSpec) { + var isSuite = suiteOrSpec instanceof jasmine.Suite; + var summary = { + id: suiteOrSpec.id, + name: suiteOrSpec.description, + type: isSuite ? 'suite' : 'spec', + children: [] + }; + + if (isSuite) { + var children = suiteOrSpec.children(); + for (var i = 0; i < children.length; i++) { + summary.children.push(this.summarize_(children[i])); + } + } + return summary; +}; + +jasmine.JsApiReporter.prototype.results = function() { + return this.results_; +}; + +jasmine.JsApiReporter.prototype.resultsForSpec = function(specId) { + return this.results_[specId]; +}; + +//noinspection JSUnusedLocalSymbols +jasmine.JsApiReporter.prototype.reportRunnerResults = function(runner) { + this.finished = true; +}; + +//noinspection JSUnusedLocalSymbols +jasmine.JsApiReporter.prototype.reportSuiteResults = function(suite) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.JsApiReporter.prototype.reportSpecResults = function(spec) { + this.results_[spec.id] = { + messages: spec.results().getItems(), + result: spec.results().failedCount > 0 ? "failed" : "passed" + }; +}; + +//noinspection JSUnusedLocalSymbols +jasmine.JsApiReporter.prototype.log = function(str) { +}; + +jasmine.JsApiReporter.prototype.resultsForSpecs = function(specIds){ + var results = {}; + for (var i = 0; i < specIds.length; i++) { + var specId = specIds[i]; + results[specId] = this.summarizeResult_(this.results_[specId]); + } + return results; +}; + +jasmine.JsApiReporter.prototype.summarizeResult_ = function(result){ + var summaryMessages = []; + var messagesLength = result.messages.length; + for (var messageIndex = 0; messageIndex < messagesLength; messageIndex++) { + var resultMessage = result.messages[messageIndex]; + summaryMessages.push({ + text: resultMessage.type == 'log' ? resultMessage.toString() : jasmine.undefined, + passed: resultMessage.passed ? resultMessage.passed() : true, + type: resultMessage.type, + message: resultMessage.message, + trace: { + stack: resultMessage.passed && !resultMessage.passed() ? resultMessage.trace.stack : jasmine.undefined + } + }); + } + + return { + result : result.result, + messages : summaryMessages + }; +}; + +/** + * @constructor + * @param {jasmine.Env} env + * @param actual + * @param {jasmine.Spec} spec + */ +jasmine.Matchers = function(env, actual, spec, opt_isNot) { + this.env = env; + this.actual = actual; + this.spec = spec; + this.isNot = opt_isNot || false; + this.reportWasCalled_ = false; +}; + +// todo: @deprecated as of Jasmine 0.11, remove soon [xw] +jasmine.Matchers.pp = function(str) { + throw new Error("jasmine.Matchers.pp() is no longer supported, please use jasmine.pp() instead!"); +}; + +// todo: @deprecated Deprecated as of Jasmine 0.10. Rewrite your custom matchers to return true or false. [xw] +jasmine.Matchers.prototype.report = function(result, failing_message, details) { + throw new Error("As of jasmine 0.11, custom matchers must be implemented differently -- please see jasmine docs"); +}; + +jasmine.Matchers.wrapInto_ = function(prototype, matchersClass) { + for (var methodName in prototype) { + if (methodName == 'report') continue; + var orig = prototype[methodName]; + matchersClass.prototype[methodName] = jasmine.Matchers.matcherFn_(methodName, orig); + } +}; + +jasmine.Matchers.matcherFn_ = function(matcherName, matcherFunction) { + return function() { + var matcherArgs = jasmine.util.argsToArray(arguments); + var result = matcherFunction.apply(this, arguments); + + if (this.isNot) { + result = !result; + } + + if (this.reportWasCalled_) return result; + + var message; + if (!result) { + if (this.message) { + message = this.message.apply(this, arguments); + if (jasmine.isArray_(message)) { + message = message[this.isNot ? 1 : 0]; + } + } else { + var englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); }); + message = "Expected " + jasmine.pp(this.actual) + (this.isNot ? " not " : " ") + englishyPredicate; + if (matcherArgs.length > 0) { + for (var i = 0; i < matcherArgs.length; i++) { + if (i > 0) message += ","; + message += " " + jasmine.pp(matcherArgs[i]); + } + } + message += "."; + } + } + var expectationResult = new jasmine.ExpectationResult({ + matcherName: matcherName, + passed: result, + expected: matcherArgs.length > 1 ? matcherArgs : matcherArgs[0], + actual: this.actual, + message: message + }); + this.spec.addMatcherResult(expectationResult); + return jasmine.undefined; + }; +}; + + + + +/** + * toBe: compares the actual to the expected using === + * @param expected + */ +jasmine.Matchers.prototype.toBe = function(expected) { + return this.actual === expected; +}; + +/** + * toNotBe: compares the actual to the expected using !== + * @param expected + * @deprecated as of 1.0. Use not.toBe() instead. + */ +jasmine.Matchers.prototype.toNotBe = function(expected) { + return this.actual !== expected; +}; + +/** + * toEqual: compares the actual to the expected using common sense equality. Handles Objects, Arrays, etc. + * + * @param expected + */ +jasmine.Matchers.prototype.toEqual = function(expected) { + return this.env.equals_(this.actual, expected); +}; + +/** + * toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual + * @param expected + * @deprecated as of 1.0. Use not.toNotEqual() instead. + */ +jasmine.Matchers.prototype.toNotEqual = function(expected) { + return !this.env.equals_(this.actual, expected); +}; + +/** + * Matcher that compares the actual to the expected using a regular expression. Constructs a RegExp, so takes + * a pattern or a String. + * + * @param expected + */ +jasmine.Matchers.prototype.toMatch = function(expected) { + return new RegExp(expected).test(this.actual); +}; + +/** + * Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch + * @param expected + * @deprecated as of 1.0. Use not.toMatch() instead. + */ +jasmine.Matchers.prototype.toNotMatch = function(expected) { + return !(new RegExp(expected).test(this.actual)); +}; + +/** + * Matcher that compares the actual to jasmine.undefined. + */ +jasmine.Matchers.prototype.toBeDefined = function() { + return (this.actual !== jasmine.undefined); +}; + +/** + * Matcher that compares the actual to jasmine.undefined. + */ +jasmine.Matchers.prototype.toBeUndefined = function() { + return (this.actual === jasmine.undefined); +}; + +/** + * Matcher that compares the actual to null. + */ +jasmine.Matchers.prototype.toBeNull = function() { + return (this.actual === null); +}; + +/** + * Matcher that boolean not-nots the actual. + */ +jasmine.Matchers.prototype.toBeTruthy = function() { + return !!this.actual; +}; + + +/** + * Matcher that boolean nots the actual. + */ +jasmine.Matchers.prototype.toBeFalsy = function() { + return !this.actual; +}; + + +/** + * Matcher that checks to see if the actual, a Jasmine spy, was called. + */ +jasmine.Matchers.prototype.toHaveBeenCalled = function() { + if (arguments.length > 0) { + throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith'); + } + + if (!jasmine.isSpy(this.actual)) { + throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); + } + + this.message = function() { + return [ + "Expected spy " + this.actual.identity + " to have been called.", + "Expected spy " + this.actual.identity + " not to have been called." + ]; + }; + + return this.actual.wasCalled; +}; + +/** @deprecated Use expect(xxx).toHaveBeenCalled() instead */ +jasmine.Matchers.prototype.wasCalled = jasmine.Matchers.prototype.toHaveBeenCalled; + +/** + * Matcher that checks to see if the actual, a Jasmine spy, was not called. + * + * @deprecated Use expect(xxx).not.toHaveBeenCalled() instead + */ +jasmine.Matchers.prototype.wasNotCalled = function() { + if (arguments.length > 0) { + throw new Error('wasNotCalled does not take arguments'); + } + + if (!jasmine.isSpy(this.actual)) { + throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); + } + + this.message = function() { + return [ + "Expected spy " + this.actual.identity + " to not have been called.", + "Expected spy " + this.actual.identity + " to have been called." + ]; + }; + + return !this.actual.wasCalled; +}; + +/** + * Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters. + * + * @example + * + */ +jasmine.Matchers.prototype.toHaveBeenCalledWith = function() { + var expectedArgs = jasmine.util.argsToArray(arguments); + if (!jasmine.isSpy(this.actual)) { + throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); + } + this.message = function() { + if (this.actual.callCount == 0) { + // todo: what should the failure message for .not.toHaveBeenCalledWith() be? is this right? test better. [xw] + return [ + "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was never called.", + "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was." + ]; + } else { + return [ + "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall), + "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall) + ]; + } + }; + + return this.env.contains_(this.actual.argsForCall, expectedArgs); +}; + +/** @deprecated Use expect(xxx).toHaveBeenCalledWith() instead */ +jasmine.Matchers.prototype.wasCalledWith = jasmine.Matchers.prototype.toHaveBeenCalledWith; + +/** @deprecated Use expect(xxx).not.toHaveBeenCalledWith() instead */ +jasmine.Matchers.prototype.wasNotCalledWith = function() { + var expectedArgs = jasmine.util.argsToArray(arguments); + if (!jasmine.isSpy(this.actual)) { + throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); + } + + this.message = function() { + return [ + "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was", + "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was" + ] + }; + + return !this.env.contains_(this.actual.argsForCall, expectedArgs); +}; + +/** + * Matcher that checks that the expected item is an element in the actual Array. + * + * @param {Object} expected + */ +jasmine.Matchers.prototype.toContain = function(expected) { + return this.env.contains_(this.actual, expected); +}; + +/** + * Matcher that checks that the expected item is NOT an element in the actual Array. + * + * @param {Object} expected + * @deprecated as of 1.0. Use not.toNotContain() instead. + */ +jasmine.Matchers.prototype.toNotContain = function(expected) { + return !this.env.contains_(this.actual, expected); +}; + +jasmine.Matchers.prototype.toBeLessThan = function(expected) { + return this.actual < expected; +}; + +jasmine.Matchers.prototype.toBeGreaterThan = function(expected) { + return this.actual > expected; +}; + +/** + * Matcher that checks that the expected exception was thrown by the actual. + * + * @param {String} expected + */ +jasmine.Matchers.prototype.toThrow = function(expected) { + var result = false; + var exception; + if (typeof this.actual != 'function') { + throw new Error('Actual is not a function'); + } + try { + this.actual(); + } catch (e) { + exception = e; + } + if (exception) { + result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected)); + } + + var not = this.isNot ? "not " : ""; + + this.message = function() { + if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) { + return ["Expected function " + not + "to throw", expected ? expected.message || expected : " an exception", ", but it threw", exception.message || exception].join(' '); + } else { + return "Expected function to throw an exception."; + } + }; + + return result; +}; + +jasmine.Matchers.Any = function(expectedClass) { + this.expectedClass = expectedClass; +}; + +jasmine.Matchers.Any.prototype.matches = function(other) { + if (this.expectedClass == String) { + return typeof other == 'string' || other instanceof String; + } + + if (this.expectedClass == Number) { + return typeof other == 'number' || other instanceof Number; + } + + if (this.expectedClass == Function) { + return typeof other == 'function' || other instanceof Function; + } + + if (this.expectedClass == Object) { + return typeof other == 'object'; + } + + return other instanceof this.expectedClass; +}; + +jasmine.Matchers.Any.prototype.toString = function() { + return ''; +}; + +/** + * @constructor + */ +jasmine.MultiReporter = function() { + this.subReporters_ = []; +}; +jasmine.util.inherit(jasmine.MultiReporter, jasmine.Reporter); + +jasmine.MultiReporter.prototype.addReporter = function(reporter) { + this.subReporters_.push(reporter); +}; + +(function() { + var functionNames = [ + "reportRunnerStarting", + "reportRunnerResults", + "reportSuiteResults", + "reportSpecStarting", + "reportSpecResults", + "log" + ]; + for (var i = 0; i < functionNames.length; i++) { + var functionName = functionNames[i]; + jasmine.MultiReporter.prototype[functionName] = (function(functionName) { + return function() { + for (var j = 0; j < this.subReporters_.length; j++) { + var subReporter = this.subReporters_[j]; + if (subReporter[functionName]) { + subReporter[functionName].apply(subReporter, arguments); + } + } + }; + })(functionName); + } +})(); +/** + * Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults + * + * @constructor + */ +jasmine.NestedResults = function() { + /** + * The total count of results + */ + this.totalCount = 0; + /** + * Number of passed results + */ + this.passedCount = 0; + /** + * Number of failed results + */ + this.failedCount = 0; + /** + * Was this suite/spec skipped? + */ + this.skipped = false; + /** + * @ignore + */ + this.items_ = []; +}; + +/** + * Roll up the result counts. + * + * @param result + */ +jasmine.NestedResults.prototype.rollupCounts = function(result) { + this.totalCount += result.totalCount; + this.passedCount += result.passedCount; + this.failedCount += result.failedCount; +}; + +/** + * Adds a log message. + * @param values Array of message parts which will be concatenated later. + */ +jasmine.NestedResults.prototype.log = function(values) { + this.items_.push(new jasmine.MessageResult(values)); +}; + +/** + * Getter for the results: message & results. + */ +jasmine.NestedResults.prototype.getItems = function() { + return this.items_; +}; + +/** + * Adds a result, tracking counts (total, passed, & failed) + * @param {jasmine.ExpectationResult|jasmine.NestedResults} result + */ +jasmine.NestedResults.prototype.addResult = function(result) { + if (result.type != 'log') { + if (result.items_) { + this.rollupCounts(result); + } else { + this.totalCount++; + if (result.passed()) { + this.passedCount++; + } else { + this.failedCount++; + } + } + } + this.items_.push(result); +}; + +/** + * @returns {Boolean} True if everything below passed + */ +jasmine.NestedResults.prototype.passed = function() { + return this.passedCount === this.totalCount; +}; +/** + * Base class for pretty printing for expectation results. + */ +jasmine.PrettyPrinter = function() { + this.ppNestLevel_ = 0; +}; + +/** + * Formats a value in a nice, human-readable string. + * + * @param value + */ +jasmine.PrettyPrinter.prototype.format = function(value) { + if (this.ppNestLevel_ > 40) { + throw new Error('jasmine.PrettyPrinter: format() nested too deeply!'); + } + + this.ppNestLevel_++; + try { + if (value === jasmine.undefined) { + this.emitScalar('undefined'); + } else if (value === null) { + this.emitScalar('null'); + } else if (value === jasmine.getGlobal()) { + this.emitScalar(''); + } else if (value instanceof jasmine.Matchers.Any) { + this.emitScalar(value.toString()); + } else if (typeof value === 'string') { + this.emitString(value); + } else if (jasmine.isSpy(value)) { + this.emitScalar("spy on " + value.identity); + } else if (value instanceof RegExp) { + this.emitScalar(value.toString()); + } else if (typeof value === 'function') { + this.emitScalar('Function'); + } else if (typeof value.nodeType === 'number') { + this.emitScalar('HTMLNode'); + } else if (value instanceof Date) { + this.emitScalar('Date(' + value + ')'); + } else if (value.__Jasmine_been_here_before__) { + this.emitScalar(''); + } else if (jasmine.isArray_(value) || typeof value == 'object') { + value.__Jasmine_been_here_before__ = true; + if (jasmine.isArray_(value)) { + this.emitArray(value); + } else { + this.emitObject(value); + } + delete value.__Jasmine_been_here_before__; + } else { + this.emitScalar(value.toString()); + } + } finally { + this.ppNestLevel_--; + } +}; + +jasmine.PrettyPrinter.prototype.iterateObject = function(obj, fn) { + for (var property in obj) { + if (property == '__Jasmine_been_here_before__') continue; + fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) != null) : false); + } +}; + +jasmine.PrettyPrinter.prototype.emitArray = jasmine.unimplementedMethod_; +jasmine.PrettyPrinter.prototype.emitObject = jasmine.unimplementedMethod_; +jasmine.PrettyPrinter.prototype.emitScalar = jasmine.unimplementedMethod_; +jasmine.PrettyPrinter.prototype.emitString = jasmine.unimplementedMethod_; + +jasmine.StringPrettyPrinter = function() { + jasmine.PrettyPrinter.call(this); + + this.string = ''; +}; +jasmine.util.inherit(jasmine.StringPrettyPrinter, jasmine.PrettyPrinter); + +jasmine.StringPrettyPrinter.prototype.emitScalar = function(value) { + this.append(value); +}; + +jasmine.StringPrettyPrinter.prototype.emitString = function(value) { + this.append("'" + value + "'"); +}; + +jasmine.StringPrettyPrinter.prototype.emitArray = function(array) { + this.append('[ '); + for (var i = 0; i < array.length; i++) { + if (i > 0) { + this.append(', '); + } + this.format(array[i]); + } + this.append(' ]'); +}; + +jasmine.StringPrettyPrinter.prototype.emitObject = function(obj) { + var self = this; + this.append('{ '); + var first = true; + + this.iterateObject(obj, function(property, isGetter) { + if (first) { + first = false; + } else { + self.append(', '); + } + + self.append(property); + self.append(' : '); + if (isGetter) { + self.append(''); + } else { + self.format(obj[property]); + } + }); + + this.append(' }'); +}; + +jasmine.StringPrettyPrinter.prototype.append = function(value) { + this.string += value; +}; +jasmine.Queue = function(env) { + this.env = env; + this.blocks = []; + this.running = false; + this.index = 0; + this.offset = 0; + this.abort = false; +}; + +jasmine.Queue.prototype.addBefore = function(block) { + this.blocks.unshift(block); +}; + +jasmine.Queue.prototype.add = function(block) { + this.blocks.push(block); +}; + +jasmine.Queue.prototype.insertNext = function(block) { + this.blocks.splice((this.index + this.offset + 1), 0, block); + this.offset++; +}; + +jasmine.Queue.prototype.start = function(onComplete) { + this.running = true; + this.onComplete = onComplete; + this.next_(); +}; + +jasmine.Queue.prototype.isRunning = function() { + return this.running; +}; + +jasmine.Queue.LOOP_DONT_RECURSE = true; + +jasmine.Queue.prototype.next_ = function() { + var self = this; + var goAgain = true; + + while (goAgain) { + goAgain = false; + + if (self.index < self.blocks.length && !this.abort) { + var calledSynchronously = true; + var completedSynchronously = false; + + var onComplete = function () { + if (jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously) { + completedSynchronously = true; + return; + } + + if (self.blocks[self.index].abort) { + self.abort = true; + } + + self.offset = 0; + self.index++; + + var now = new Date().getTime(); + if (self.env.updateInterval && now - self.env.lastUpdate > self.env.updateInterval) { + self.env.lastUpdate = now; + self.env.setTimeout(function() { + self.next_(); + }, 0); + } else { + if (jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) { + goAgain = true; + } else { + self.next_(); + } + } + }; + self.blocks[self.index].execute(onComplete); + + calledSynchronously = false; + if (completedSynchronously) { + onComplete(); + } + + } else { + self.running = false; + if (self.onComplete) { + self.onComplete(); + } + } + } +}; + +jasmine.Queue.prototype.results = function() { + var results = new jasmine.NestedResults(); + for (var i = 0; i < this.blocks.length; i++) { + if (this.blocks[i].results) { + results.addResult(this.blocks[i].results()); + } + } + return results; +}; + + +/** + * Runner + * + * @constructor + * @param {jasmine.Env} env + */ +jasmine.Runner = function(env) { + var self = this; + self.env = env; + self.queue = new jasmine.Queue(env); + self.before_ = []; + self.after_ = []; + self.suites_ = []; +}; + +jasmine.Runner.prototype.execute = function() { + var self = this; + if (self.env.reporter.reportRunnerStarting) { + self.env.reporter.reportRunnerStarting(this); + } + self.queue.start(function () { + self.finishCallback(); + }); +}; + +jasmine.Runner.prototype.beforeEach = function(beforeEachFunction) { + beforeEachFunction.typeName = 'beforeEach'; + this.before_.splice(0,0,beforeEachFunction); +}; + +jasmine.Runner.prototype.afterEach = function(afterEachFunction) { + afterEachFunction.typeName = 'afterEach'; + this.after_.splice(0,0,afterEachFunction); +}; + + +jasmine.Runner.prototype.finishCallback = function() { + this.env.reporter.reportRunnerResults(this); +}; + +jasmine.Runner.prototype.addSuite = function(suite) { + this.suites_.push(suite); +}; + +jasmine.Runner.prototype.add = function(block) { + if (block instanceof jasmine.Suite) { + this.addSuite(block); + } + this.queue.add(block); +}; + +jasmine.Runner.prototype.specs = function () { + var suites = this.suites(); + var specs = []; + for (var i = 0; i < suites.length; i++) { + specs = specs.concat(suites[i].specs()); + } + return specs; +}; + +jasmine.Runner.prototype.suites = function() { + return this.suites_; +}; + +jasmine.Runner.prototype.topLevelSuites = function() { + var topLevelSuites = []; + for (var i = 0; i < this.suites_.length; i++) { + if (!this.suites_[i].parentSuite) { + topLevelSuites.push(this.suites_[i]); + } + } + return topLevelSuites; +}; + +jasmine.Runner.prototype.results = function() { + return this.queue.results(); +}; +/** + * Internal representation of a Jasmine specification, or test. + * + * @constructor + * @param {jasmine.Env} env + * @param {jasmine.Suite} suite + * @param {String} description + */ +jasmine.Spec = function(env, suite, description) { + if (!env) { + throw new Error('jasmine.Env() required'); + } + if (!suite) { + throw new Error('jasmine.Suite() required'); + } + var spec = this; + spec.id = env.nextSpecId ? env.nextSpecId() : null; + spec.env = env; + spec.suite = suite; + spec.description = description; + spec.queue = new jasmine.Queue(env); + + spec.afterCallbacks = []; + spec.spies_ = []; + + spec.results_ = new jasmine.NestedResults(); + spec.results_.description = description; + spec.matchersClass = null; +}; + +jasmine.Spec.prototype.getFullName = function() { + return this.suite.getFullName() + ' ' + this.description + '.'; +}; + + +jasmine.Spec.prototype.results = function() { + return this.results_; +}; + +/** + * All parameters are pretty-printed and concatenated together, then written to the spec's output. + * + * Be careful not to leave calls to jasmine.log in production code. + */ +jasmine.Spec.prototype.log = function() { + return this.results_.log(arguments); +}; + +jasmine.Spec.prototype.runs = function (func) { + var block = new jasmine.Block(this.env, func, this); + this.addToQueue(block); + return this; +}; + +jasmine.Spec.prototype.addToQueue = function (block) { + if (this.queue.isRunning()) { + this.queue.insertNext(block); + } else { + this.queue.add(block); + } +}; + +/** + * @param {jasmine.ExpectationResult} result + */ +jasmine.Spec.prototype.addMatcherResult = function(result) { + this.results_.addResult(result); +}; + +jasmine.Spec.prototype.expect = function(actual) { + var positive = new (this.getMatchersClass_())(this.env, actual, this); + positive.not = new (this.getMatchersClass_())(this.env, actual, this, true); + return positive; +}; + +/** + * Waits a fixed time period before moving to the next block. + * + * @deprecated Use waitsFor() instead + * @param {Number} timeout milliseconds to wait + */ +jasmine.Spec.prototype.waits = function(timeout) { + var waitsFunc = new jasmine.WaitsBlock(this.env, timeout, this); + this.addToQueue(waitsFunc); + return this; +}; + +/** + * Waits for the latchFunction to return true before proceeding to the next block. + * + * @param {Function} latchFunction + * @param {String} optional_timeoutMessage + * @param {Number} optional_timeout + */ +jasmine.Spec.prototype.waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) { + var latchFunction_ = null; + var optional_timeoutMessage_ = null; + var optional_timeout_ = null; + + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + switch (typeof arg) { + case 'function': + latchFunction_ = arg; + break; + case 'string': + optional_timeoutMessage_ = arg; + break; + case 'number': + optional_timeout_ = arg; + break; + } + } + + var waitsForFunc = new jasmine.WaitsForBlock(this.env, optional_timeout_, latchFunction_, optional_timeoutMessage_, this); + this.addToQueue(waitsForFunc); + return this; +}; + +jasmine.Spec.prototype.fail = function (e) { + var expectationResult = new jasmine.ExpectationResult({ + passed: false, + message: e ? jasmine.util.formatException(e) : 'Exception' + }); + this.results_.addResult(expectationResult); +}; + +jasmine.Spec.prototype.getMatchersClass_ = function() { + return this.matchersClass || this.env.matchersClass; +}; + +jasmine.Spec.prototype.addMatchers = function(matchersPrototype) { + var parent = this.getMatchersClass_(); + var newMatchersClass = function() { + parent.apply(this, arguments); + }; + jasmine.util.inherit(newMatchersClass, parent); + jasmine.Matchers.wrapInto_(matchersPrototype, newMatchersClass); + this.matchersClass = newMatchersClass; +}; + +jasmine.Spec.prototype.finishCallback = function() { + this.env.reporter.reportSpecResults(this); +}; + +jasmine.Spec.prototype.finish = function(onComplete) { + this.removeAllSpies(); + this.finishCallback(); + if (onComplete) { + onComplete(); + } +}; + +jasmine.Spec.prototype.after = function(doAfter) { + if (this.queue.isRunning()) { + this.queue.add(new jasmine.Block(this.env, doAfter, this)); + } else { + this.afterCallbacks.unshift(doAfter); + } +}; + +jasmine.Spec.prototype.execute = function(onComplete) { + var spec = this; + if (!spec.env.specFilter(spec)) { + spec.results_.skipped = true; + spec.finish(onComplete); + return; + } + + this.env.reporter.reportSpecStarting(this); + + spec.env.currentSpec = spec; + + spec.addBeforesAndAftersToQueue(); + + spec.queue.start(function () { + spec.finish(onComplete); + }); +}; + +jasmine.Spec.prototype.addBeforesAndAftersToQueue = function() { + var runner = this.env.currentRunner(); + var i; + + for (var suite = this.suite; suite; suite = suite.parentSuite) { + for (i = 0; i < suite.before_.length; i++) { + this.queue.addBefore(new jasmine.Block(this.env, suite.before_[i], this)); + } + } + for (i = 0; i < runner.before_.length; i++) { + this.queue.addBefore(new jasmine.Block(this.env, runner.before_[i], this)); + } + for (i = 0; i < this.afterCallbacks.length; i++) { + this.queue.add(new jasmine.Block(this.env, this.afterCallbacks[i], this)); + } + for (suite = this.suite; suite; suite = suite.parentSuite) { + for (i = 0; i < suite.after_.length; i++) { + this.queue.add(new jasmine.Block(this.env, suite.after_[i], this)); + } + } + for (i = 0; i < runner.after_.length; i++) { + this.queue.add(new jasmine.Block(this.env, runner.after_[i], this)); + } +}; + +jasmine.Spec.prototype.explodes = function() { + throw 'explodes function should not have been called'; +}; + +jasmine.Spec.prototype.spyOn = function(obj, methodName, ignoreMethodDoesntExist) { + if (obj == jasmine.undefined) { + throw "spyOn could not find an object to spy upon for " + methodName + "()"; + } + + if (!ignoreMethodDoesntExist && obj[methodName] === jasmine.undefined) { + throw methodName + '() method does not exist'; + } + + if (!ignoreMethodDoesntExist && obj[methodName] && obj[methodName].isSpy) { + throw new Error(methodName + ' has already been spied upon'); + } + + var spyObj = jasmine.createSpy(methodName); + + this.spies_.push(spyObj); + spyObj.baseObj = obj; + spyObj.methodName = methodName; + spyObj.originalValue = obj[methodName]; + + obj[methodName] = spyObj; + + return spyObj; +}; + +jasmine.Spec.prototype.removeAllSpies = function() { + for (var i = 0; i < this.spies_.length; i++) { + var spy = this.spies_[i]; + spy.baseObj[spy.methodName] = spy.originalValue; + } + this.spies_ = []; +}; + +/** + * Internal representation of a Jasmine suite. + * + * @constructor + * @param {jasmine.Env} env + * @param {String} description + * @param {Function} specDefinitions + * @param {jasmine.Suite} parentSuite + */ +jasmine.Suite = function(env, description, specDefinitions, parentSuite) { + var self = this; + self.id = env.nextSuiteId ? env.nextSuiteId() : null; + self.description = description; + self.queue = new jasmine.Queue(env); + self.parentSuite = parentSuite; + self.env = env; + self.before_ = []; + self.after_ = []; + self.children_ = []; + self.suites_ = []; + self.specs_ = []; +}; + +jasmine.Suite.prototype.getFullName = function() { + var fullName = this.description; + for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) { + fullName = parentSuite.description + ' ' + fullName; + } + return fullName; +}; + +jasmine.Suite.prototype.finish = function(onComplete) { + this.env.reporter.reportSuiteResults(this); + this.finished = true; + if (typeof(onComplete) == 'function') { + onComplete(); + } +}; + +jasmine.Suite.prototype.beforeEach = function(beforeEachFunction) { + beforeEachFunction.typeName = 'beforeEach'; + this.before_.unshift(beforeEachFunction); +}; + +jasmine.Suite.prototype.afterEach = function(afterEachFunction) { + afterEachFunction.typeName = 'afterEach'; + this.after_.unshift(afterEachFunction); +}; + +jasmine.Suite.prototype.results = function() { + return this.queue.results(); +}; + +jasmine.Suite.prototype.add = function(suiteOrSpec) { + this.children_.push(suiteOrSpec); + if (suiteOrSpec instanceof jasmine.Suite) { + this.suites_.push(suiteOrSpec); + this.env.currentRunner().addSuite(suiteOrSpec); + } else { + this.specs_.push(suiteOrSpec); + } + this.queue.add(suiteOrSpec); +}; + +jasmine.Suite.prototype.specs = function() { + return this.specs_; +}; + +jasmine.Suite.prototype.suites = function() { + return this.suites_; +}; + +jasmine.Suite.prototype.children = function() { + return this.children_; +}; + +jasmine.Suite.prototype.execute = function(onComplete) { + var self = this; + this.queue.start(function () { + self.finish(onComplete); + }); +}; +jasmine.WaitsBlock = function(env, timeout, spec) { + this.timeout = timeout; + jasmine.Block.call(this, env, null, spec); +}; + +jasmine.util.inherit(jasmine.WaitsBlock, jasmine.Block); + +jasmine.WaitsBlock.prototype.execute = function (onComplete) { + this.env.reporter.log('>> Jasmine waiting for ' + this.timeout + ' ms...'); + this.env.setTimeout(function () { + onComplete(); + }, this.timeout); +}; +/** + * A block which waits for some condition to become true, with timeout. + * + * @constructor + * @extends jasmine.Block + * @param {jasmine.Env} env The Jasmine environment. + * @param {Number} timeout The maximum time in milliseconds to wait for the condition to become true. + * @param {Function} latchFunction A function which returns true when the desired condition has been met. + * @param {String} message The message to display if the desired condition hasn't been met within the given time period. + * @param {jasmine.Spec} spec The Jasmine spec. + */ +jasmine.WaitsForBlock = function(env, timeout, latchFunction, message, spec) { + this.timeout = timeout || env.defaultTimeoutInterval; + this.latchFunction = latchFunction; + this.message = message; + this.totalTimeSpentWaitingForLatch = 0; + jasmine.Block.call(this, env, null, spec); +}; +jasmine.util.inherit(jasmine.WaitsForBlock, jasmine.Block); + +jasmine.WaitsForBlock.TIMEOUT_INCREMENT = 10; + +jasmine.WaitsForBlock.prototype.execute = function(onComplete) { + this.env.reporter.log('>> Jasmine waiting for ' + (this.message || 'something to happen')); + var latchFunctionResult; + try { + latchFunctionResult = this.latchFunction.apply(this.spec); + } catch (e) { + this.spec.fail(e); + onComplete(); + return; + } + + if (latchFunctionResult) { + onComplete(); + } else if (this.totalTimeSpentWaitingForLatch >= this.timeout) { + var message = 'timed out after ' + this.timeout + ' msec waiting for ' + (this.message || 'something to happen'); + this.spec.fail({ + name: 'timeout', + message: message + }); + + this.abort = true; + onComplete(); + } else { + this.totalTimeSpentWaitingForLatch += jasmine.WaitsForBlock.TIMEOUT_INCREMENT; + var self = this; + this.env.setTimeout(function() { + self.execute(onComplete); + }, jasmine.WaitsForBlock.TIMEOUT_INCREMENT); + } +}; +// Mock setTimeout, clearTimeout +// Contributed by Pivotal Computer Systems, www.pivotalsf.com + +jasmine.FakeTimer = function() { + this.reset(); + + var self = this; + self.setTimeout = function(funcToCall, millis) { + self.timeoutsMade++; + self.scheduleFunction(self.timeoutsMade, funcToCall, millis, false); + return self.timeoutsMade; + }; + + self.setInterval = function(funcToCall, millis) { + self.timeoutsMade++; + self.scheduleFunction(self.timeoutsMade, funcToCall, millis, true); + return self.timeoutsMade; + }; + + self.clearTimeout = function(timeoutKey) { + self.scheduledFunctions[timeoutKey] = jasmine.undefined; + }; + + self.clearInterval = function(timeoutKey) { + self.scheduledFunctions[timeoutKey] = jasmine.undefined; + }; + +}; + +jasmine.FakeTimer.prototype.reset = function() { + this.timeoutsMade = 0; + this.scheduledFunctions = {}; + this.nowMillis = 0; +}; + +jasmine.FakeTimer.prototype.tick = function(millis) { + var oldMillis = this.nowMillis; + var newMillis = oldMillis + millis; + this.runFunctionsWithinRange(oldMillis, newMillis); + this.nowMillis = newMillis; +}; + +jasmine.FakeTimer.prototype.runFunctionsWithinRange = function(oldMillis, nowMillis) { + var scheduledFunc; + var funcsToRun = []; + for (var timeoutKey in this.scheduledFunctions) { + scheduledFunc = this.scheduledFunctions[timeoutKey]; + if (scheduledFunc != jasmine.undefined && + scheduledFunc.runAtMillis >= oldMillis && + scheduledFunc.runAtMillis <= nowMillis) { + funcsToRun.push(scheduledFunc); + this.scheduledFunctions[timeoutKey] = jasmine.undefined; + } + } + + if (funcsToRun.length > 0) { + funcsToRun.sort(function(a, b) { + return a.runAtMillis - b.runAtMillis; + }); + for (var i = 0; i < funcsToRun.length; ++i) { + try { + var funcToRun = funcsToRun[i]; + this.nowMillis = funcToRun.runAtMillis; + funcToRun.funcToCall(); + if (funcToRun.recurring) { + this.scheduleFunction(funcToRun.timeoutKey, + funcToRun.funcToCall, + funcToRun.millis, + true); + } + } catch(e) { + } + } + this.runFunctionsWithinRange(oldMillis, nowMillis); + } +}; + +jasmine.FakeTimer.prototype.scheduleFunction = function(timeoutKey, funcToCall, millis, recurring) { + this.scheduledFunctions[timeoutKey] = { + runAtMillis: this.nowMillis + millis, + funcToCall: funcToCall, + recurring: recurring, + timeoutKey: timeoutKey, + millis: millis + }; +}; + +/** + * @namespace + */ +jasmine.Clock = { + defaultFakeTimer: new jasmine.FakeTimer(), + + reset: function() { + jasmine.Clock.assertInstalled(); + jasmine.Clock.defaultFakeTimer.reset(); + }, + + tick: function(millis) { + jasmine.Clock.assertInstalled(); + jasmine.Clock.defaultFakeTimer.tick(millis); + }, + + runFunctionsWithinRange: function(oldMillis, nowMillis) { + jasmine.Clock.defaultFakeTimer.runFunctionsWithinRange(oldMillis, nowMillis); + }, + + scheduleFunction: function(timeoutKey, funcToCall, millis, recurring) { + jasmine.Clock.defaultFakeTimer.scheduleFunction(timeoutKey, funcToCall, millis, recurring); + }, + + useMock: function() { + if (!jasmine.Clock.isInstalled()) { + var spec = jasmine.getEnv().currentSpec; + spec.after(jasmine.Clock.uninstallMock); + + jasmine.Clock.installMock(); + } + }, + + installMock: function() { + jasmine.Clock.installed = jasmine.Clock.defaultFakeTimer; + }, + + uninstallMock: function() { + jasmine.Clock.assertInstalled(); + jasmine.Clock.installed = jasmine.Clock.real; + }, + + real: { + setTimeout: jasmine.getGlobal().setTimeout, + clearTimeout: jasmine.getGlobal().clearTimeout, + setInterval: jasmine.getGlobal().setInterval, + clearInterval: jasmine.getGlobal().clearInterval + }, + + assertInstalled: function() { + if (!jasmine.Clock.isInstalled()) { + throw new Error("Mock clock is not installed, use jasmine.Clock.useMock()"); + } + }, + + isInstalled: function() { + return jasmine.Clock.installed == jasmine.Clock.defaultFakeTimer; + }, + + installed: null +}; +jasmine.Clock.installed = jasmine.Clock.real; + +//else for IE support +jasmine.getGlobal().setTimeout = function(funcToCall, millis) { + if (jasmine.Clock.installed.setTimeout.apply) { + return jasmine.Clock.installed.setTimeout.apply(this, arguments); + } else { + return jasmine.Clock.installed.setTimeout(funcToCall, millis); + } +}; + +jasmine.getGlobal().setInterval = function(funcToCall, millis) { + if (jasmine.Clock.installed.setInterval.apply) { + return jasmine.Clock.installed.setInterval.apply(this, arguments); + } else { + return jasmine.Clock.installed.setInterval(funcToCall, millis); + } +}; + +jasmine.getGlobal().clearTimeout = function(timeoutKey) { + if (jasmine.Clock.installed.clearTimeout.apply) { + return jasmine.Clock.installed.clearTimeout.apply(this, arguments); + } else { + return jasmine.Clock.installed.clearTimeout(timeoutKey); + } +}; + +jasmine.getGlobal().clearInterval = function(timeoutKey) { + if (jasmine.Clock.installed.clearTimeout.apply) { + return jasmine.Clock.installed.clearInterval.apply(this, arguments); + } else { + return jasmine.Clock.installed.clearInterval(timeoutKey); + } +}; + + +jasmine.version_= { + "major": 1, + "minor": 0, + "build": 2, + "revision": 1298837858 +}; diff --git a/public/vendor/accounting/tests/jasmine/runner.html b/public/vendor/accounting/tests/jasmine/runner.html new file mode 100644 index 000000000000..54be51c757d8 --- /dev/null +++ b/public/vendor/accounting/tests/jasmine/runner.html @@ -0,0 +1,22 @@ + + + + Jasmine Test Runner + + + + + + + + + + + + + + diff --git a/public/vendor/accounting/tests/qunit/methods.js b/public/vendor/accounting/tests/qunit/methods.js new file mode 100644 index 000000000000..816580b8e1a7 --- /dev/null +++ b/public/vendor/accounting/tests/qunit/methods.js @@ -0,0 +1,92 @@ +$(document).ready(function() { + + module("Library Methods"); + + test("accounting.unformat()", function() { + equals(accounting.unformat("$12,345,678.90 USD"), 12345678.9, 'Can unformat currency to float'); + equals(accounting.unformat(1234567890), 1234567890, 'Returns same value when passed an integer'); + equals(accounting.unformat("string"), 0, 'Returns 0 for a string with no numbers'); + equals(accounting.unformat({joss:1}), 0, 'Returns 0 for object'); + }); + + test("accounting.toFixed()", function() { + equals(accounting.toFixed(54321, 5), "54321.00000", 'Performs basic float zero-padding'); + equals(accounting.toFixed(0.615, 2), "0.62", 'Rounds 0.615 to "0.62" instead of "0.61"'); + }); + + test("accounting.formatNumber()", function() { + // Check custom precision and separators: + equals(accounting.formatNumber(4999.99, 2, ".", ","), "4.999,99", 'Custom precision and decimal/thousand separators are a-ok') + + // check usage with options object parameter: + equal(accounting.formatNumber(5318008, { + precision : 3, + thousand : "__", + decimal : "--" + }), "5__318__008--000", 'Correctly handles custom precision and separators passed in via second param options object'); + + + // check rounding: + equals(accounting.formatNumber(0.615, 2), "0.62", 'Rounds 0.615 up to "0.62" with precision of 2'); + + // manually and recursively formatted arrays should have same values: + var numbers = [8008135, [1234, 5678], 1000]; + var formattedManually = [accounting.formatNumber(8008135), [accounting.formatNumber(1234), accounting.formatNumber(5678)], accounting.formatNumber(1000)]; + var formattedRecursively = accounting.formatNumber(numbers); + equals(formattedRecursively.toString(), formattedManually.toString(), 'can recursively format multi-dimensional arrays'); + }); + + + test("accounting.formatMoney()", function() { + equals(accounting.formatMoney(12345678), "$12,345,678.00", "Default usage with default parameters is ok"); + equals(accounting.formatMoney(4999.99, "$ ", 2, ".", ","), "$ 4.999,99", 'custom formatting via straight params works ok'); + equals(accounting.formatMoney(-500000, "£ ", 0), "£ -500,000", 'negative values, custom params, works ok'); + equals(accounting.formatMoney(5318008, { symbol: "GBP", format: "%v %s" }), "5,318,008.00 GBP", "`format` parameter is observed in string output"); + equals(accounting.formatMoney(1000, { format: "test %v 123 %s test" }), "test 1,000.00 123 $ test", "`format` parameter is observed in string output, despite being rather strange"); + + // Format param is an object: + var format = { + pos: "%s %v", + neg: "%s (%v)", + zero:"%s --" + } + equals(accounting.formatMoney(0, { symbol: "GBP", format:format}), "GBP --", "`format` parameter provided given as an object with `zero` format, correctly observed in string output"); + equals(accounting.formatMoney(-1000, { symbol: "GBP", format:format}), "GBP (1,000.00)", "`format` parameter provided given as an object with `neg` format, correctly observed in string output"); + equals(accounting.formatMoney(1000, { symbol: "GBP", format:{neg:"--%v %s"}}), "GBP1,000.00", "`format` parameter provided, but only `neg` value provided - positive value should be formatted by default format (%s%v)"); + + accounting.settings.currency.format = "%s%v"; + accounting.formatMoney(0, {format:""}); + equals(typeof accounting.settings.currency.format, "object", "`settings.currency.format` default string value should be reformatted to an object, the first time it is used"); + }); + + + test("accounting.formatColumn()", function() { + // standard usage: + var list = [123, 12345]; + equals(accounting.formatColumn(list, "$ ", 0).toString(), (["$ 123", "$ 12,345"]).toString(), "formatColumn works as expected"); + + + // multi-dimensional array (formatColumn should be applied recursively): + var list = [[1, 100], [900, 9]]; + equals(accounting.formatColumn(list).toString(), ([["$ 1.00", "$100.00"], ["$900.00", "$ 9.00"]]).toString(), "formatcolumn works on multi-dimensional array"); + + + // random numbers, must come back same length: + var column = accounting.formatColumn([Math.random(), Math.random() * 1000, Math.random() * 10000000]); + ok((column[0].length === column[2].length && column[1].length === column[2].length), "formatColumn() with 3 random numbers returned strings of matching length"); + + + // random numbers, must come back same length: + var column = accounting.formatColumn([Math.random(), Math.random() * 1000, Math.random() * 10000000], { + format: '(%v] --++== %s', + thousand: ')(', + decimal: ')[', + precision: 3 + }); + ok((column[0].length === column[2].length && column[1].length === column[2].length), "formatColumn() with 3 random numbers returned strings of matching length, even with a weird custom `format` parameter"); + + + + }); + +}); diff --git a/public/vendor/accounting/tests/qunit/speed.js b/public/vendor/accounting/tests/qunit/speed.js new file mode 100644 index 000000000000..c5d0f86d169f --- /dev/null +++ b/public/vendor/accounting/tests/qunit/speed.js @@ -0,0 +1,76 @@ +(function() { + + var numbers = []; + for (var i=0; i<1000; i++) numbers.push((Math.random() * (1000*i))); + var strings = $.map(numbers, function(num){ return accounting.formatMoney(num*1000, "HK$ "); }); + + JSLitmus.test('unformat()', function(count) { + var i = 0; + while ( count-- ) { + accounting.unformat(strings[i]) + i++; + i > strings.length && (i = 0); + } + }); + + JSLitmus.test('unformat(array)', function(count) { + var i = 0; + while ( count-- ) { + accounting.unformat([strings[i], strings[i+1]]); + i += 2; + i > numbers.length && (i = 0); + } + }); + + JSLitmus.test('toFixed()', function(count) { + while ( count-- ) { + accounting.toFixed(count*1000, 2); + } + }); + + JSLitmus.test('formatNumber()', function(count) { + var i = 0; + while ( count-- ) { + accounting.formatNumber(numbers[i]); + i++; + i > numbers.length && (i = 0); + } + }); + + JSLitmus.test('formatNumber(array)', function(count) { + var i = 0; + while ( count-- ) { + accounting.formatNumber([numbers[i], numbers[i+1]]); + i += 2; + i > numbers.length && (i = 0); + } + }); + + JSLitmus.test('formatMoney()', function(count) { + var i = 0; + while ( count-- ) { + accounting.formatMoney(numbers[i]); + i++; + i > numbers.length && (i = 0); + } + }); + + JSLitmus.test('formatMoney(array)', function(count) { + var i = 0; + while ( count-- ) { + accounting.formatMoney([numbers[i], numbers[i+1]]); + i += 2; + i > numbers.length && (i = 0); + } + }); + + JSLitmus.test('formatColumn()', function(count) { + var i = 0; + while ( count-- ) { + accounting.formatColumn([numbers[i], numbers[i+1]]); + i += 2; + i > numbers.length && (i = 0); + } + }); + +})(); diff --git a/public/vendor/accounting/tests/qunit/test.html b/public/vendor/accounting/tests/qunit/test.html new file mode 100644 index 000000000000..7c9b02c02c20 --- /dev/null +++ b/public/vendor/accounting/tests/qunit/test.html @@ -0,0 +1,32 @@ + + + + accounting.js test suite + + + + + + + + + + +
+

accounting.js tests

+

+

+
    +
    +

    accounting.js speed tests

    +

    Each library method is represented here running on predefined random numbers/strings, with default parameters, to provide a sense of how fast they might run in different browsers.

    +
    + + +
    + + diff --git a/public/vendor/accounting/tests/qunit/vendor/jquery.js b/public/vendor/accounting/tests/qunit/vendor/jquery.js new file mode 100644 index 000000000000..b1ae21d8b23f --- /dev/null +++ b/public/vendor/accounting/tests/qunit/vendor/jquery.js @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
    ","
    "]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

    ";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
    ";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
    ").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
    ';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/public/vendor/accounting/tests/qunit/vendor/jslitmus.js b/public/vendor/accounting/tests/qunit/vendor/jslitmus.js new file mode 100644 index 000000000000..a0e9f806fa46 --- /dev/null +++ b/public/vendor/accounting/tests/qunit/vendor/jslitmus.js @@ -0,0 +1,670 @@ +// JSLitmus.js +// +// History: +// 2008-10-27: Initial release +// 2008-11-09: Account for iteration loop overhead +// 2008-11-13: Added OS detection +// 2009-02-25: Create tinyURL automatically, shift-click runs tests in reverse +// +// Copyright (c) 2008-2009, Robert Kieffer +// All Rights Reserved +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the +// Software), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +(function() { + // Private methods and state + + // Get platform info but don't go crazy trying to recognize everything + // that's out there. This is just for the major platforms and OSes. + var platform = 'unknown platform', ua = navigator.userAgent; + + // Detect OS + var oses = ['Windows','iPhone OS','(Intel |PPC )?Mac OS X','Linux'].join('|'); + var pOS = new RegExp('((' + oses + ') [^ \);]*)').test(ua) ? RegExp.$1 : null; + if (!pOS) pOS = new RegExp('((' + oses + ')[^ \);]*)').test(ua) ? RegExp.$1 : null; + + // Detect browser + var pName = /(Chrome|MSIE|Safari|Opera|Firefox)/.test(ua) ? RegExp.$1 : null; + + // Detect version + var vre = new RegExp('(Version|' + pName + ')[ \/]([^ ;]*)'); + var pVersion = (pName && vre.test(ua)) ? RegExp.$2 : null; + var platform = (pOS && pName && pVersion) ? pName + ' ' + pVersion + ' on ' + pOS : 'unknown platform'; + + /** + * A smattering of methods that are needed to implement the JSLitmus testbed. + */ + var jsl = { + /** + * Enhanced version of escape() + */ + escape: function(s) { + s = s.replace(/,/g, '\\,'); + s = escape(s); + s = s.replace(/\+/g, '%2b'); + s = s.replace(/ /g, '+'); + return s; + }, + + /** + * Get an element by ID. + */ + $: function(id) { + return document.getElementById(id); + }, + + /** + * Null function + */ + F: function() {}, + + /** + * Set the status shown in the UI + */ + status: function(msg) { + var el = jsl.$('jsl_status'); + if (el) el.innerHTML = msg || ''; + }, + + /** + * Convert a number to an abbreviated string like, "15K" or "10M" + */ + toLabel: function(n) { + if (n == Infinity) { + return 'Infinity'; + } else if (n > 1e9) { + n = Math.round(n/1e8); + return n/10 + 'B'; + } else if (n > 1e6) { + n = Math.round(n/1e5); + return n/10 + 'M'; + } else if (n > 1e3) { + n = Math.round(n/1e2); + return n/10 + 'K'; + } + return n; + }, + + /** + * Copy properties from src to dst + */ + extend: function(dst, src) { + for (var k in src) dst[k] = src[k]; return dst; + }, + + /** + * Like Array.join(), but for the key-value pairs in an object + */ + join: function(o, delimit1, delimit2) { + if (o.join) return o.join(delimit1); // If it's an array + var pairs = []; + for (var k in o) pairs.push(k + delimit1 + o[k]); + return pairs.join(delimit2); + }, + + /** + * Array#indexOf isn't supported in IE, so we use this as a cross-browser solution + */ + indexOf: function(arr, o) { + if (arr.indexOf) return arr.indexOf(o); + for (var i = 0; i < this.length; i++) if (arr[i] === o) return i; + return -1; + } + }; + + /** + * Test manages a single test (created with + * JSLitmus.test()) + * + * @private + */ + var Test = function (name, f) { + if (!f) throw new Error('Undefined test function'); + if (!(/function[^\(]*\(([^,\)]*)/).test(f.toString())) { + throw new Error('"' + name + '" test: Test is not a valid Function object'); + } + this.loopArg = RegExp.$1; + this.name = name; + this.f = f; + }; + + jsl.extend(Test, /** @lends Test */ { + /** Calibration tests for establishing iteration loop overhead */ + CALIBRATIONS: [ + new Test('calibrating loop', function(count) {while (count--);}), + new Test('calibrating function', jsl.F) + ], + + /** + * Run calibration tests. Returns true if calibrations are not yet + * complete (in which case calling code should run the tests yet again). + * onCalibrated - Callback to invoke when calibrations have finished + */ + calibrate: function(onCalibrated) { + for (var i = 0; i < Test.CALIBRATIONS.length; i++) { + var cal = Test.CALIBRATIONS[i]; + if (cal.running) return true; + if (!cal.count) { + cal.isCalibration = true; + cal.onStop = onCalibrated; + //cal.MIN_TIME = .1; // Do calibrations quickly + cal.run(2e4); + return true; + } + } + return false; + } + }); + + jsl.extend(Test.prototype, {/** @lends Test.prototype */ + /** Initial number of iterations */ + INIT_COUNT: 10, + /** Max iterations allowed (i.e. used to detect bad looping functions) */ + MAX_COUNT: 1e9, + /** Minimum time a test should take to get valid results (secs) */ + MIN_TIME: .5, + + /** Callback invoked when test state changes */ + onChange: jsl.F, + + /** Callback invoked when test is finished */ + onStop: jsl.F, + + /** + * Reset test state + */ + reset: function() { + delete this.count; + delete this.time; + delete this.running; + delete this.error; + }, + + /** + * Run the test (in a timeout). We use a timeout to make sure the browser + * has a chance to finish rendering any UI changes we've made, like + * updating the status message. + */ + run: function(count) { + count = count || this.INIT_COUNT; + jsl.status(this.name + ' x ' + count); + this.running = true; + var me = this; + setTimeout(function() {me._run(count);}, 200); + }, + + /** + * The nuts and bolts code that actually runs a test + */ + _run: function(count) { + var me = this; + + // Make sure calibration tests have run + if (!me.isCalibration && Test.calibrate(function() {me.run(count);})) return; + this.error = null; + + try { + var start, f = this.f, now, i = count; + + // Start the timer + start = new Date(); + + // Now for the money shot. If this is a looping function ... + if (this.loopArg) { + // ... let it do the iteration itself + f(count); + } else { + // ... otherwise do the iteration for it + while (i--) f(); + } + + // Get time test took (in secs) + this.time = Math.max(1,new Date() - start)/1000; + + // Store iteration count and per-operation time taken + this.count = count; + this.period = this.time/count; + + // Do we need to do another run? + this.running = this.time <= this.MIN_TIME; + + // ... if so, compute how many times we should iterate + if (this.running) { + // Bump the count to the nearest power of 2 + var x = this.MIN_TIME/this.time; + var pow = Math.pow(2, Math.max(1, Math.ceil(Math.log(x)/Math.log(2)))); + count *= pow; + if (count > this.MAX_COUNT) { + throw new Error('Max count exceeded. If this test uses a looping function, make sure the iteration loop is working properly.'); + } + } + } catch (e) { + // Exceptions are caught and displayed in the test UI + this.reset(); + this.error = e; + } + + // Figure out what to do next + if (this.running) { + me.run(count); + } else { + jsl.status(''); + me.onStop(me); + } + + // Finish up + this.onChange(this); + }, + + /** + * Get the number of operations per second for this test. + * + * @param normalize if true, iteration loop overhead taken into account + */ + getHz: function(/**Boolean*/ normalize) { + var p = this.period; + + // Adjust period based on the calibration test time + if (normalize && !this.isCalibration) { + var cal = Test.CALIBRATIONS[this.loopArg ? 0 : 1]; + + // If the period is within 20% of the calibration time, then zero the + // it out + p = p < cal.period*1.2 ? 0 : p - cal.period; + } + + return Math.round(1/p); + }, + + /** + * Get a friendly string describing the test + */ + toString: function() { + return this.name + ' - ' + this.time/this.count + ' secs'; + } + }); + + // CSS we need for the UI + var STYLESHEET = ''; + + // HTML markup for the UI + var MARKUP = '
    \ + \ + \ +
    \ +
    \ + Normalize results \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ +
    ' + platform + '
    TestOps/sec
    \ +
    \ + \ + Powered by JSLitmus \ +
    '; + + /** + * The public API for creating and running tests + */ + window.JSLitmus = { + /** The list of all tests that have been registered with JSLitmus.test */ + _tests: [], + /** The queue of tests that need to be run */ + _queue: [], + + /** + * The parsed query parameters the current page URL. This is provided as a + * convenience for test functions - it's not used by JSLitmus proper + */ + params: {}, + + /** + * Initialize + */ + _init: function() { + // Parse query params into JSLitmus.params[] hash + var match = (location + '').match(/([^?#]*)(#.*)?$/); + if (match) { + var pairs = match[1].split('&'); + for (var i = 0; i < pairs.length; i++) { + var pair = pairs[i].split('='); + if (pair.length > 1) { + var key = pair.shift(); + var value = pair.length > 1 ? pair.join('=') : pair[0]; + this.params[key] = value; + } + } + } + + // Write out the stylesheet. We have to do this here because IE + // doesn't honor sheets written after the document has loaded. + document.write(STYLESHEET); + + // Setup the rest of the UI once the document is loaded + if (window.addEventListener) { + window.addEventListener('load', this._setup, false); + } else if (document.addEventListener) { + document.addEventListener('load', this._setup, false); + } else if (window.attachEvent) { + window.attachEvent('onload', this._setup); + } + + return this; + }, + + /** + * Set up the UI + */ + _setup: function() { + var el = jsl.$('jslitmus_container'); + if (!el) document.body.appendChild(el = document.createElement('div')); + + el.innerHTML = MARKUP; + + // Render the UI for all our tests + for (var i=0; i < JSLitmus._tests.length; i++) + JSLitmus.renderTest(JSLitmus._tests[i]); + }, + + /** + * (Re)render all the test results + */ + renderAll: function() { + for (var i = 0; i < JSLitmus._tests.length; i++) + JSLitmus.renderTest(JSLitmus._tests[i]); + JSLitmus.renderChart(); + }, + + /** + * (Re)render the chart graphics + */ + renderChart: function() { + var url = JSLitmus.chartUrl(); + jsl.$('chart_link').href = url; + jsl.$('chart_image').src = url; + jsl.$('chart').style.display = ''; + + // Update the tiny URL + jsl.$('tiny_url').src = 'http://tinyurl.com/api-create.php?url='+escape(url); + }, + + /** + * (Re)render the results for a specific test + */ + renderTest: function(test) { + // Make a new row if needed + if (!test._row) { + var trow = jsl.$('test_row_template'); + if (!trow) return; + + test._row = trow.cloneNode(true); + test._row.style.display = ''; + test._row.id = ''; + test._row.onclick = function() {JSLitmus._queueTest(test);}; + test._row.title = 'Run ' + test.name + ' test'; + trow.parentNode.appendChild(test._row); + test._row.cells[0].innerHTML = test.name; + } + + var cell = test._row.cells[1]; + var cns = [test.loopArg ? 'test_looping' : 'test_nonlooping']; + + if (test.error) { + cns.push('test_error'); + cell.innerHTML = + '
    ' + test.error + '
    ' + + '
    • ' + + jsl.join(test.error, ': ', '
    • ') + + '
    '; + } else { + if (test.running) { + cns.push('test_running'); + cell.innerHTML = 'running'; + } else if (jsl.indexOf(JSLitmus._queue, test) >= 0) { + cns.push('test_pending'); + cell.innerHTML = 'pending'; + } else if (test.count) { + cns.push('test_done'); + var hz = test.getHz(jsl.$('test_normalize').checked); + cell.innerHTML = hz != Infinity ? hz : '∞'; + } else { + cell.innerHTML = 'ready'; + } + } + cell.className = cns.join(' '); + }, + + /** + * Create a new test + */ + test: function(name, f) { + // Create the Test object + var test = new Test(name, f); + JSLitmus._tests.push(test); + + // Re-render if the test state changes + test.onChange = JSLitmus.renderTest; + + // Run the next test if this one finished + test.onStop = function(test) { + if (JSLitmus.onTestFinish) JSLitmus.onTestFinish(test); + JSLitmus.currentTest = null; + JSLitmus._nextTest(); + }; + + // Render the new test + this.renderTest(test); + }, + + /** + * Add all tests to the run queue + */ + runAll: function(e) { + e = e || window.event; + var reverse = e && e.shiftKey, len = JSLitmus._tests.length; + for (var i = 0; i < len; i++) { + JSLitmus._queueTest(JSLitmus._tests[!reverse ? i : (len - i - 1)]); + } + }, + + /** + * Remove all tests from the run queue. The current test has to finish on + * it's own though + */ + stop: function() { + while (JSLitmus._queue.length) { + var test = JSLitmus._queue.shift(); + JSLitmus.renderTest(test); + } + }, + + /** + * Run the next test in the run queue + */ + _nextTest: function() { + if (!JSLitmus.currentTest) { + var test = JSLitmus._queue.shift(); + if (test) { + jsl.$('stop_button').disabled = false; + JSLitmus.currentTest = test; + test.run(); + JSLitmus.renderTest(test); + if (JSLitmus.onTestStart) JSLitmus.onTestStart(test); + } else { + jsl.$('stop_button').disabled = true; + JSLitmus.renderChart(); + } + } + }, + + /** + * Add a test to the run queue + */ + _queueTest: function(test) { + if (jsl.indexOf(JSLitmus._queue, test) >= 0) return; + JSLitmus._queue.push(test); + JSLitmus.renderTest(test); + JSLitmus._nextTest(); + }, + + /** + * Generate a Google Chart URL that shows the data for all tests + */ + chartUrl: function() { + var n = JSLitmus._tests.length, markers = [], data = []; + var d, min = 0, max = -1e10; + var normalize = jsl.$('test_normalize').checked; + + // Gather test data + for (var i=0; i < JSLitmus._tests.length; i++) { + var test = JSLitmus._tests[i]; + if (test.count) { + var hz = test.getHz(normalize); + var v = hz != Infinity ? hz : 0; + data.push(v); + markers.push('t' + jsl.escape(test.name + '(' + jsl.toLabel(hz)+ ')') + ',000000,0,' + + markers.length + ',10'); + max = Math.max(v, max); + } + } + if (markers.length <= 0) return null; + + // Build chart title + var title = document.getElementsByTagName('title'); + title = (title && title.length) ? title[0].innerHTML : null; + var chart_title = []; + if (title) chart_title.push(title); + chart_title.push('Ops/sec (' + platform + ')'); + + // Build labels + var labels = [jsl.toLabel(min), jsl.toLabel(max)]; + + var w = 250, bw = 15; + var bs = 5; + var h = markers.length*(bw + bs) + 30 + chart_title.length*20; + + var params = { + chtt: escape(chart_title.join('|')), + chts: '000000,10', + cht: 'bhg', // chart type + chd: 't:' + data.join(','), // data set + chds: min + ',' + max, // max/min of data + chxt: 'x', // label axes + chxl: '0:|' + labels.join('|'), // labels + chsp: '0,1', + chm: markers.join('|'), // test names + chbh: [bw, 0, bs].join(','), // bar widths + // chf: 'bg,lg,0,eeeeee,0,eeeeee,.5,ffffff,1', // gradient + chs: w + 'x' + h + }; + return 'http://chart.apis.google.com/chart?' + jsl.join(params, '=', '&'); + } + }; + + JSLitmus._init(); +})(); \ No newline at end of file diff --git a/public/vendor/accounting/tests/qunit/vendor/qunit.css b/public/vendor/accounting/tests/qunit/vendor/qunit.css new file mode 100644 index 000000000000..8d0d3a24b300 --- /dev/null +++ b/public/vendor/accounting/tests/qunit/vendor/qunit.css @@ -0,0 +1,196 @@ +/** Font Family and Sizes */ + +#qunit-tests, #qunit-header, .qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult { + font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; +} + +#qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; } +#qunit-tests { font-size: smaller; } + + +/** Resets */ + +#qunit-tests, #qunit-tests ol, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult { + margin: 0; + padding: 0; +} + + +/** Header */ + +#qunit-header, .qunit-header { + padding: 0.5em 0 0.5em 1em; + + color: #8699a4; + background-color: #0d3349; + + font-size: 1.5em; + line-height: 1em; + font-weight: normal; + + border-radius: 15px 15px 0 0; + -moz-border-radius: 15px 15px 0 0; + -webkit-border-top-right-radius: 15px; + -webkit-border-top-left-radius: 15px; +} + +#qunit-header a { + text-decoration: none; + color: #c2ccd1; +} + +#qunit-header a:hover, +#qunit-header a:focus { + color: #fff; +} + +#qunit-banner { + height: 5px; +} + +#qunit-testrunner-toolbar { + padding: 0em 0 0.5em 2em; +} + +#qunit-userAgent { + padding: 0.5em 0 0.5em 2.5em; + background-color: #2b81af; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px; +} + + +/** Tests: Pass/Fail */ + +#qunit-tests { + list-style-position: inside; +} + +#qunit-tests li { + padding: 0.4em 0.5em 0.4em 2.5em; + border-bottom: 1px solid #fff; + list-style-position: inside; +} + +#qunit-tests li strong { + cursor: pointer; +} + +#qunit-tests ol { + margin-top: 0.5em; + padding: 0.5em; + + background-color: #fff; + + border-radius: 15px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; + + box-shadow: inset 0px 2px 13px #999; + -moz-box-shadow: inset 0px 2px 13px #999; + -webkit-box-shadow: inset 0px 2px 13px #999; +} + +#qunit-tests table { + border-collapse: collapse; + margin-top: .2em; +} + +#qunit-tests th { + text-align: right; + vertical-align: top; + padding: 0 .5em 0 0; +} + +#qunit-tests td { + vertical-align: top; +} + +#qunit-tests pre { + margin: 0; + white-space: pre-wrap; + word-wrap: break-word; +} + +#qunit-tests del { + background-color: #e0f2be; + color: #374e0c; + text-decoration: none; +} + +#qunit-tests ins { + background-color: #ffcaca; + color: #500; + text-decoration: none; +} + +/*** Test Counts */ + +#qunit-tests b.counts { color: black; } +#qunit-tests b.passed { color: #5E740B; } +#qunit-tests b.failed { color: #710909; } + +#qunit-tests li li { + margin: 0.5em; + padding: 0.4em 0.5em 0.4em 0.5em; + background-color: #fff; + border-bottom: none; + list-style-position: inside; +} + +/*** Passing Styles */ + +#qunit-tests li li.pass { + color: #5E740B; + background-color: #fff; + border-left: 26px solid #C6E746; +} + +#qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; } +#qunit-tests .pass .test-name { color: #366097; } + +#qunit-tests .pass .test-actual, +#qunit-tests .pass .test-expected { color: #999999; } + +#qunit-banner.qunit-pass { background-color: #C6E746; } + +/*** Failing Styles */ + +#qunit-tests li li.fail { + color: #710909; + background-color: #fff; + border-left: 26px solid #EE5757; +} + +#qunit-tests .fail { color: #000000; background-color: #EE5757; } +#qunit-tests .fail .test-name, +#qunit-tests .fail .module-name { color: #000000; } + +#qunit-tests .fail .test-actual { color: #EE5757; } +#qunit-tests .fail .test-expected { color: green; } + +#qunit-banner.qunit-fail, +#qunit-testrunner-toolbar { background-color: #EE5757; } + + +/** Footer */ + +#qunit-testresult { + padding: 0.5em 0.5em 0.5em 2.5em; + + color: #2b81af; + background-color: #D2E0E6; + + border-radius: 0 0 15px 15px; + -moz-border-radius: 0 0 15px 15px; + -webkit-border-bottom-right-radius: 15px; + -webkit-border-bottom-left-radius: 15px; +} + +/** Fixture */ + +#qunit-fixture { + position: absolute; + top: -10000px; + left: -10000px; +} \ No newline at end of file diff --git a/public/vendor/accounting/tests/qunit/vendor/qunit.js b/public/vendor/accounting/tests/qunit/vendor/qunit.js new file mode 100644 index 000000000000..345630bc47e7 --- /dev/null +++ b/public/vendor/accounting/tests/qunit/vendor/qunit.js @@ -0,0 +1,2360 @@ +/* + * QUnit - A JavaScript Unit Testing Framework + * + * http://docs.jquery.com/QUnit + * + * Copyright (c) 2009 John Resig, Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + */ + +(function(window) { + +var QUnit = { + + // Initialize the configuration options + init: function init() { + config = { + stats: { all: 0, bad: 0 }, + moduleStats: { all: 0, bad: 0 }, + started: +new Date, + blocking: false, + autorun: false, + assertions: [], + filters: [], + queue: [] + }; + + var tests = id("qunit-tests"), + banner = id("qunit-banner"), + result = id("qunit-testresult"); + + if ( tests ) { + tests.innerHTML = ""; + } + + if ( banner ) { + banner.className = ""; + } + + if ( result ) { + result.parentNode.removeChild( result ); + } + }, + + // call on start of module test to prepend name to all tests + module: function module(name, testEnvironment) { + + synchronize(function() { + if ( config.currentModule ) { + QUnit.moduleDone( config.currentModule, config.moduleStats.bad, config.moduleStats.all ); + } + + config.currentModule = name; + config.moduleTestEnvironment = testEnvironment; + config.moduleStats = { all: 0, bad: 0 }; + + QUnit.moduleStart( name, testEnvironment ); + }); + }, + + asyncTest: function asyncTest(testName, expected, callback) { + if ( arguments.length === 2 ) { + callback = expected; + expected = 0; + } + + QUnit.test(testName, expected, callback, true); + }, + + test: function test(testName, expected, callback, async) { + var name = testName, testEnvironment = {}; + + if ( arguments.length === 2 ) { + callback = expected; + expected = null; + } + + if ( config.currentModule ) { + name = config.currentModule + " module: " + name; + } + + if ( !validTest(name) ) { + return; + } + + synchronize(function() { + QUnit.testStart( testName ); + + testEnvironment = extend({ + setup: function() {}, + teardown: function() {} + }, config.moduleTestEnvironment); + + config.assertions = []; + config.expected = null; + + if ( arguments.length >= 3 ) { + config.expected = callback; + callback = arguments[2]; + } + + try { + if ( !config.pollution ) { + saveGlobal(); + } + + testEnvironment.setup.call(testEnvironment); + } catch(e) { + QUnit.ok( false, "Setup failed on " + name + ": " + e.message ); + } + + if ( async ) { + QUnit.stop(); + } + + try { + callback.call(testEnvironment); + } catch(e) { + fail("Test " + name + " died, exception and test follows", e, callback); + QUnit.ok( false, "Died on test #" + (config.assertions.length + 1) + ": " + e.message ); + // else next test will carry the responsibility + saveGlobal(); + + // Restart the tests if they're blocking + if ( config.blocking ) { + start(); + } + } + }); + + synchronize(function() { + try { + checkPollution(); + testEnvironment.teardown.call(testEnvironment); + } catch(e) { + QUnit.ok( false, "Teardown failed on " + name + ": " + e.message ); + } + + try { + QUnit.reset(); + } catch(e) { + fail("reset() failed, following Test " + name + ", exception and reset fn follows", e, reset); + } + + if ( config.expected && config.expected != config.assertions.length ) { + QUnit.ok( false, "Expected " + config.expected + " assertions, but " + config.assertions.length + " were run" ); + } + + var good = 0, bad = 0, + tests = id("qunit-tests"); + + config.stats.all += config.assertions.length; + config.moduleStats.all += config.assertions.length; + + if ( tests ) { + var ol = document.createElement("ol"); + ol.style.display = "none"; + + for ( var i = 0; i < config.assertions.length; i++ ) { + var assertion = config.assertions[i]; + + var li = document.createElement("li"); + li.className = assertion.result ? "pass" : "fail"; + li.innerHTML = assertion.message || "(no message)"; + ol.appendChild( li ); + + if ( assertion.result ) { + good++; + } else { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + + var b = document.createElement("strong"); + b.innerHTML = name + " (" + bad + ", " + good + ", " + config.assertions.length + ")"; + + addEvent(b, "click", function() { + var next = b.nextSibling, display = next.style.display; + next.style.display = display === "none" ? "block" : "none"; + }); + + addEvent(b, "dblclick", function(e) { + var target = (e || window.event).target; + if ( target.nodeName.toLowerCase() === "strong" ) { + var text = "", node = target.firstChild; + + while ( node.nodeType === 3 ) { + text += node.nodeValue; + node = node.nextSibling; + } + + text = text.replace(/(^\s*|\s*$)/g, ""); + + if ( window.location ) { + window.location.href = window.location.href.match(/^(.+?)(\?.*)?$/)[1] + "?" + encodeURIComponent(text); + } + } + }); + + var li = document.createElement("li"); + li.className = bad ? "fail" : "pass"; + li.appendChild( b ); + li.appendChild( ol ); + tests.appendChild( li ); + + if ( bad ) { + var toolbar = id("qunit-testrunner-toolbar"); + if ( toolbar ) { + toolbar.style.display = "block"; + id("qunit-filter-pass").disabled = null; + id("qunit-filter-missing").disabled = null; + } + } + + } else { + for ( var i = 0; i < config.assertions.length; i++ ) { + if ( !config.assertions[i].result ) { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + } + + QUnit.testDone( testName, bad, config.assertions.length ); + + if ( !window.setTimeout && !config.queue.length ) { + done(); + } + }); + + if ( window.setTimeout && !config.doneTimer ) { + config.doneTimer = window.setTimeout(function(){ + if ( !config.queue.length ) { + done(); + } else { + synchronize( done ); + } + }, 13); + } + }, + + /** + * Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through. + */ + expect: function expect(asserts) { + config.expected = asserts; + }, + + /** + * Asserts true. + * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" ); + */ + ok: function ok(a, msg) { + QUnit.log(a, msg); + + config.assertions.push({ + result: !!a, + message: msg + }); + }, + + /** + * Checks that the first two arguments are equal, with an optional message. + * Prints out both actual and expected values. + * + * Prefered to ok( actual == expected, message ) + * + * @example equals( format("Received {0} bytes.", 2), "Received 2 bytes." ); + * + * @param Object actual + * @param Object expected + * @param String message (optional) + */ + equals: function equals(actual, expected, message) { + push(expected == actual, actual, expected, message); + }, + + same: function(a, b, message) { + push(QUnit.equiv(a, b), a, b, message); + }, + + start: function start() { + // A slight delay, to avoid any current callbacks + if ( window.setTimeout ) { + window.setTimeout(function() { + if ( config.timeout ) { + clearTimeout(config.timeout); + } + + config.blocking = false; + process(); + }, 13); + } else { + config.blocking = false; + process(); + } + }, + + stop: function stop(timeout) { + config.blocking = true; + + if ( timeout && window.setTimeout ) { + config.timeout = window.setTimeout(function() { + QUnit.ok( false, "Test timed out" ); + QUnit.start(); + }, timeout); + } + }, + + /** + * Resets the test setup. Useful for tests that modify the DOM. + */ + reset: function reset() { + if ( window.jQuery ) { + jQuery("#main").html( config.fixture ); + jQuery.event.global = {}; + jQuery.ajaxSettings = extend({}, config.ajaxSettings); + } + }, + + /** + * Trigger an event on an element. + * + * @example triggerEvent( document.body, "click" ); + * + * @param DOMElement elem + * @param String type + */ + triggerEvent: function triggerEvent( elem, type, event ) { + if ( document.createEvent ) { + event = document.createEvent("MouseEvents"); + event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView, + 0, 0, 0, 0, 0, false, false, false, false, 0, null); + elem.dispatchEvent( event ); + + } else if ( elem.fireEvent ) { + elem.fireEvent("on"+type); + } + }, + + // Logging callbacks + done: function done(failures, total) {}, + log: function log(result, message) {}, + testStart: function testStart(name) {}, + testDone: function testDone(name, failures, total) {}, + moduleStart: function moduleStart(name, testEnvironment) {}, + moduleDone: function moduleDone(name, failures, total) {} +}; + +// Maintain internal state +var config = { + // The queue of tests to run + queue: [], + + // block until document ready + blocking: true +}; + +// Load paramaters +(function() { + var location = window.location || { search: "", protocol: "file:" }, + GETParams = location.search.slice(1).split('&'); + + for ( var i = 0; i < GETParams.length; i++ ) { + GETParams[i] = decodeURIComponent( GETParams[i] ); + if ( GETParams[i] === "noglobals" ) { + GETParams.splice( i, 1 ); + i--; + config.noglobals = true; + } + } + + // restrict modules/tests by get parameters + config.filters = GETParams; + + // Figure out if we're running the tests from a server or not + QUnit.isLocal = !!(location.protocol === 'file:'); +})(); + +// Expose the API as global variables, unless an 'exports' +// object exists, in that case we assume we're in CommonJS +if ( typeof exports === "undefined" || typeof require === "undefined" ) { + extend(window, QUnit); + window.QUnit = QUnit; +} else { + extend(exports, QUnit); + exports.QUnit = QUnit; +} + +if ( typeof document === "undefined" || document.readyState === "complete" ) { + config.autorun = true; +} + +addEvent(window, "load", function() { + // Initialize the config, saving the execution queue + var oldconfig = extend({}, config); + QUnit.init(); + extend(config, oldconfig); + + config.blocking = false; + + var userAgent = id("qunit-userAgent"); + if ( userAgent ) { + userAgent.innerHTML = navigator.userAgent; + } + + var toolbar = id("qunit-testrunner-toolbar"); + if ( toolbar ) { + toolbar.style.display = "none"; + + var filter = document.createElement("input"); + filter.type = "checkbox"; + filter.id = "qunit-filter-pass"; + filter.disabled = true; + addEvent( filter, "click", function() { + var li = document.getElementsByTagName("li"); + for ( var i = 0; i < li.length; i++ ) { + if ( li[i].className.indexOf("pass") > -1 ) { + li[i].style.display = filter.checked ? "none" : "block"; + } + } + }); + toolbar.appendChild( filter ); + + var label = document.createElement("label"); + label.setAttribute("for", "filter-pass"); + label.innerHTML = "Hide passed tests"; + toolbar.appendChild( label ); + + var missing = document.createElement("input"); + missing.type = "checkbox"; + missing.id = "qunit-filter-missing"; + missing.disabled = true; + addEvent( missing, "click", function() { + var li = document.getElementsByTagName("li"); + for ( var i = 0; i < li.length; i++ ) { + if ( li[i].className.indexOf("fail") > -1 && li[i].innerHTML.indexOf('missing test - untested code is broken code') > - 1 ) { + li[i].parentNode.parentNode.style.display = missing.checked ? "none" : "block"; + } + } + }); + toolbar.appendChild( missing ); + + label = document.createElement("label"); + label.setAttribute("for", "filter-missing"); + label.innerHTML = "Hide missing tests (untested code is broken code)"; + toolbar.appendChild( label ); + } + + var main = id('main'); + if ( main ) { + config.fixture = main.innerHTML; + } + + if ( window.jQuery ) { + config.ajaxSettings = window.jQuery.ajaxSettings; + } + + QUnit.start(); +}); + +function done() { + if ( config.doneTimer && window.clearTimeout ) { + window.clearTimeout( config.doneTimer ); + config.doneTimer = null; + } + + if ( config.queue.length ) { + config.doneTimer = window.setTimeout(function(){ + if ( !config.queue.length ) { + done(); + } else { + synchronize( done ); + } + }, 13); + + return; + } + + config.autorun = true; + + // Log the last module results + if ( config.currentModule ) { + QUnit.moduleDone( config.currentModule, config.moduleStats.bad, config.moduleStats.all ); + } + + var banner = id("qunit-banner"), + tests = id("qunit-tests"), + html = ['Tests completed in ', + +new Date - config.started, ' milliseconds.
    ', + '', config.stats.all - config.stats.bad, ' tests of ', config.stats.all, ' passed, ', config.stats.bad,' failed.'].join(''); + + if ( banner ) { + banner.className += " " + (config.stats.bad ? "fail" : "pass"); + } + + if ( tests ) { + var result = id("qunit-testresult"); + + if ( !result ) { + result = document.createElement("p"); + result.id = "qunit-testresult"; + result.className = "result"; + tests.parentNode.insertBefore( result, tests.nextSibling ); + } + + result.innerHTML = html; + } + + QUnit.done( config.stats.bad, config.stats.all ); +} + +function validTest( name ) { + var i = config.filters.length, + run = false; + + if ( !i ) { + return true; + } + + while ( i-- ) { + var filter = config.filters[i], + not = filter.charAt(0) == '!'; + + if ( not ) { + filter = filter.slice(1); + } + + if ( name.indexOf(filter) !== -1 ) { + return !not; + } + + if ( not ) { + run = true; + } + } + + return run; +} + +function push(result, actual, expected, message) { + message = message || (result ? "okay" : "failed"); + QUnit.ok( result, result ? message + ": " + expected : message + ", expected: " + QUnit.jsDump.parse(expected) + " result: " + QUnit.jsDump.parse(actual) ); +} + +function synchronize( callback ) { + config.queue.push( callback ); + + if ( config.autorun && !config.blocking ) { + process(); + } +} + +function process() { + while ( config.queue.length && !config.blocking ) { + config.queue.shift()(); + } +} + +function saveGlobal() { + config.pollution = []; + + if ( config.noglobals ) { + for ( var key in window ) { + config.pollution.push( key ); + } + } +} + +function checkPollution( name ) { + var old = config.pollution; + saveGlobal(); + + var newGlobals = diff( old, config.pollution ); + if ( newGlobals.length > 0 ) { + ok( false, "Introduced global variable(s): " + newGlobals.join(", ") ); + config.expected++; + } + + var deletedGlobals = diff( config.pollution, old ); + if ( deletedGlobals.length > 0 ) { + ok( false, "Deleted global variable(s): " + deletedGlobals.join(", ") ); + config.expected++; + } +} + +// returns a new Array with the elements that are in a but not in b +function diff( a, b ) { + var result = a.slice(); + for ( var i = 0; i < result.length; i++ ) { + for ( var j = 0; j < b.length; j++ ) { + if ( result[i] === b[j] ) { + result.splice(i, 1); + i--; + break; + } + } + } + return result; +} + +function fail(message, exception, callback) { + if ( typeof console !== "undefined" && console.error && console.warn ) { + console.error(message); + console.error(exception); + console.warn(callback.toString()); + + } else if ( window.opera && opera.postError ) { + opera.postError(message, exception, callback.toString); + } +} + +function extend(a, b) { + for ( var prop in b ) { + a[prop] = b[prop]; + } + + return a; +} + +function addEvent(elem, type, fn) { + if ( elem.addEventListener ) { + elem.addEventListener( type, fn, false ); + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, fn ); + } else { + fn(); + } +} + +function id(name) { + return !!(typeof document !== "undefined" && document && document.getElementById) && + document.getElementById( name ); +} + +// Test for equality any JavaScript type. +// Discussions and reference: http://philrathe.com/articles/equiv +// Test suites: http://philrathe.com/tests/equiv +// Author: Philippe Rathé +QUnit.equiv = function () { + + var innerEquiv; // the real equiv function + var callers = []; // stack to decide between skip/abort functions + + + // Determine what is o. + function hoozit(o) { + if (o.constructor === String) { + return "string"; + + } else if (o.constructor === Boolean) { + return "boolean"; + + } else if (o.constructor === Number) { + + if (isNaN(o)) { + return "nan"; + } else { + return "number"; + } + + } else if (typeof o === "undefined") { + return "undefined"; + + // consider: typeof null === object + } else if (o === null) { + return "null"; + + // consider: typeof [] === object + } else if (o instanceof Array) { + return "array"; + + // consider: typeof new Date() === object + } else if (o instanceof Date) { + return "date"; + + // consider: /./ instanceof Object; + // /./ instanceof RegExp; + // typeof /./ === "function"; // => false in IE and Opera, + // true in FF and Safari + } else if (o instanceof RegExp) { + return "regexp"; + + } else if (typeof o === "object") { + return "object"; + + } else if (o instanceof Function) { + return "function"; + } else { + return undefined; + } + } + + // Call the o related callback with the given arguments. + function handleEvents(o, callbacks, args) { + var prop = hoozit(o); + if (prop) { + if (hoozit(callbacks[prop]) === "function") { + return callbacks[prop].apply(callbacks, args); + } else { + return callbacks[prop]; // or undefined + } + } + } + + var callbacks = function () { + + // for string, boolean, number and null + function useStrictEquality(b, a) { + if (b instanceof a.constructor || a instanceof b.constructor) { + // to catch short annotaion VS 'new' annotation of a declaration + // e.g. var i = 1; + // var j = new Number(1); + return a == b; + } else { + return a === b; + } + } + + return { + "string": useStrictEquality, + "boolean": useStrictEquality, + "number": useStrictEquality, + "null": useStrictEquality, + "undefined": useStrictEquality, + + "nan": function (b) { + return isNaN(b); + }, + + "date": function (b, a) { + return hoozit(b) === "date" && a.valueOf() === b.valueOf(); + }, + + "regexp": function (b, a) { + return hoozit(b) === "regexp" && + a.source === b.source && // the regex itself + a.global === b.global && // and its modifers (gmi) ... + a.ignoreCase === b.ignoreCase && + a.multiline === b.multiline; + }, + + // - skip when the property is a method of an instance (OOP) + // - abort otherwise, + // initial === would have catch identical references anyway + "function": function () { + var caller = callers[callers.length - 1]; + return caller !== Object && + typeof caller !== "undefined"; + }, + + "array": function (b, a) { + var i; + var len; + + // b could be an object literal here + if ( ! (hoozit(b) === "array")) { + return false; + } + + len = a.length; + if (len !== b.length) { // safe and faster + return false; + } + for (i = 0; i < len; i++) { + if ( ! innerEquiv(a[i], b[i])) { + return false; + } + } + return true; + }, + + "object": function (b, a) { + var i; + var eq = true; // unless we can proove it + var aProperties = [], bProperties = []; // collection of strings + + // comparing constructors is more strict than using instanceof + if ( a.constructor !== b.constructor) { + return false; + } + + // stack constructor before traversing properties + callers.push(a.constructor); + + for (i in a) { // be strict: don't ensures hasOwnProperty and go deep + + aProperties.push(i); // collect a's properties + + if ( ! innerEquiv(a[i], b[i])) { + eq = false; + } + } + + callers.pop(); // unstack, we are done + + for (i in b) { + bProperties.push(i); // collect b's properties + } + + // Ensures identical properties name + return eq && innerEquiv(aProperties.sort(), bProperties.sort()); + } + }; + }(); + + innerEquiv = function () { // can take multiple arguments + var args = Array.prototype.slice.apply(arguments); + if (args.length < 2) { + return true; // end transition + } + + return (function (a, b) { + if (a === b) { + return true; // catch the most you can + } else if (a === null || b === null || typeof a === "undefined" || typeof b === "undefined" || hoozit(a) !== hoozit(b)) { + return false; // don't lose time with error prone cases + } else { + return handleEvents(a, callbacks, [b, a]); + } + + // apply transition with (1..n) arguments + })(args[0], args[1]) && arguments.callee.apply(this, args.splice(1, args.length -1)); + }; + + return innerEquiv; + +}(); + +/** + * jsDump + * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com + * Licensed under BSD (http://www.opensource.org/licenses/bsd-license.php) + * Date: 5/15/2008 + * @projectDescription Advanced and extensible data dumping for Javascript. + * @version 1.0.0 + * @author Ariel Flesler + * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html} + */ +QUnit.jsDump = (function() { + function quote( str ) { + return '"' + str.toString().replace(/"/g, '\\"') + '"'; + }; + function literal( o ) { + return o + ''; + }; + function join( pre, arr, post ) { + var s = jsDump.separator(), + base = jsDump.indent(), + inner = jsDump.indent(1); + if ( arr.join ) + arr = arr.join( ',' + s + inner ); + if ( !arr ) + return pre + post; + return [ pre, inner + arr, base + post ].join(s); + }; + function array( arr ) { + var i = arr.length, ret = Array(i); + this.up(); + while ( i-- ) + ret[i] = this.parse( arr[i] ); + this.down(); + return join( '[', ret, ']' ); + }; + + var reName = /^function (\w+)/; + + var jsDump = { + parse:function( obj, type ) { //type is used mostly internally, you can fix a (custom)type in advance + var parser = this.parsers[ type || this.typeOf(obj) ]; + type = typeof parser; + + return type == 'function' ? parser.call( this, obj ) : + type == 'string' ? parser : + this.parsers.error; + }, + typeOf:function( obj ) { + var type = typeof obj, + f = 'function';//we'll use it 3 times, save it + return type != 'object' && type != f ? type : + !obj ? 'null' : + obj.exec ? 'regexp' :// some browsers (FF) consider regexps functions + obj.getHours ? 'date' : + obj.scrollBy ? 'window' : + obj.nodeName == '#document' ? 'document' : + obj.nodeName ? 'node' : + obj.item ? 'nodelist' : // Safari reports nodelists as functions + obj.callee ? 'arguments' : + obj.call || obj.constructor != Array && //an array would also fall on this hack + (obj+'').indexOf(f) != -1 ? f : //IE reports functions like alert, as objects + 'length' in obj ? 'array' : + type; + }, + separator:function() { + return this.multiline ? this.HTML ? '
    ' : '\n' : this.HTML ? ' ' : ' '; + }, + indent:function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing + if ( !this.multiline ) + return ''; + var chr = this.indentChar; + if ( this.HTML ) + chr = chr.replace(/\t/g,' ').replace(/ /g,' '); + return Array( this._depth_ + (extra||0) ).join(chr); + }, + up:function( a ) { + this._depth_ += a || 1; + }, + down:function( a ) { + this._depth_ -= a || 1; + }, + setParser:function( name, parser ) { + this.parsers[name] = parser; + }, + // The next 3 are exposed so you can use them + quote:quote, + literal:literal, + join:join, + // + _depth_: 1, + // This is the list of parsers, to modify them, use jsDump.setParser + parsers:{ + window: '[Window]', + document: '[Document]', + error:'[ERROR]', //when no parser is found, shouldn't happen + unknown: '[Unknown]', + 'null':'null', + undefined:'undefined', + 'function':function( fn ) { + var ret = 'function', + name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never have name in IE + if ( name ) + ret += ' ' + name; + ret += '('; + + ret = [ ret, this.parse( fn, 'functionArgs' ), '){'].join(''); + return join( ret, this.parse(fn,'functionCode'), '}' ); + }, + array: array, + nodelist: array, + arguments: array, + object:function( map ) { + var ret = [ ]; + this.up(); + for ( var key in map ) + ret.push( this.parse(key,'key') + ': ' + this.parse(map[key]) ); + this.down(); + return join( '{', ret, '}' ); + }, + node:function( node ) { + var open = this.HTML ? '<' : '<', + close = this.HTML ? '>' : '>'; + + var tag = node.nodeName.toLowerCase(), + ret = open + tag; + + for ( var a in this.DOMAttrs ) { + var val = node[this.DOMAttrs[a]]; + if ( val ) + ret += ' ' + a + '=' + this.parse( val, 'attribute' ); + } + return ret + close + open + '/' + tag + close; + }, + functionArgs:function( fn ) {//function calls it internally, it's the arguments part of the function + var l = fn.length; + if ( !l ) return ''; + + var args = Array(l); + while ( l-- ) + args[l] = String.fromCharCode(97+l);//97 is 'a' + return ' ' + args.join(', ') + ' '; + }, + key:quote, //object calls it internally, the key part of an item in a map + functionCode:'[code]', //function calls it internally, it's the content of the function + attribute:quote, //node calls it internally, it's an html attribute value + string:quote, + date:quote, + regexp:literal, //regex + number:literal, + 'boolean':literal + }, + DOMAttrs:{//attributes to dump from nodes, name=>realName + id:'id', + name:'name', + 'class':'className' + }, + HTML:true,//if true, entities are escaped ( <, >, \t, space and \n ) + indentChar:' ',//indentation unit + multiline:true //if true, items in a collection, are separated by a \n, else just a space. + }; + + return jsDump; +})(); + +})(this);/* + * QUnit - A JavaScript Unit Testing Framework + * + * http://docs.jquery.com/QUnit + * + * Copyright (c) 2009 John Resig, Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + */ + +(function(window) { + +var defined = { + setTimeout: typeof window.setTimeout !== "undefined", + sessionStorage: (function() { + try { + return !!sessionStorage.getItem; + } catch(e){ + return false; + } + })() +} + +var testId = 0; + +var Test = function(name, testName, expected, testEnvironmentArg, async, callback) { + this.name = name; + this.testName = testName; + this.expected = expected; + this.testEnvironmentArg = testEnvironmentArg; + this.async = async; + this.callback = callback; + this.assertions = []; +}; +Test.prototype = { + init: function() { + var tests = id("qunit-tests"); + if (tests) { + var b = document.createElement("strong"); + b.innerHTML = "Running " + this.name; + var li = document.createElement("li"); + li.appendChild( b ); + li.id = this.id = "test-output" + testId++; + tests.appendChild( li ); + } + }, + setup: function() { + if (this.module != config.previousModule) { + if ( this.previousModule ) { + QUnit.moduleDone( this.module, config.moduleStats.bad, config.moduleStats.all ); + } + config.previousModule = this.module; + config.moduleStats = { all: 0, bad: 0 }; + QUnit.moduleStart( this.module, this.moduleTestEnvironment ); + } + + config.current = this; + this.testEnvironment = extend({ + setup: function() {}, + teardown: function() {} + }, this.moduleTestEnvironment); + if (this.testEnvironmentArg) { + extend(this.testEnvironment, this.testEnvironmentArg); + } + + QUnit.testStart( this.testName, this.testEnvironment ); + + // allow utility functions to access the current test environment + // TODO why?? + QUnit.current_testEnvironment = this.testEnvironment; + + try { + if ( !config.pollution ) { + saveGlobal(); + } + + this.testEnvironment.setup.call(this.testEnvironment); + } catch(e) { + // TODO use testName instead of name for no-markup message? + QUnit.ok( false, "Setup failed on " + this.name + ": " + e.message ); + } + }, + run: function() { + if ( this.async ) { + QUnit.stop(); + } + + try { + this.callback.call(this.testEnvironment); + } catch(e) { + // TODO use testName instead of name for no-markup message? + fail("Test " + this.name + " died, exception and test follows", e, this.callback); + QUnit.ok( false, "Died on test #" + (this.assertions.length + 1) + ": " + e.message + " - " + QUnit.jsDump.parse(e) ); + // else next test will carry the responsibility + saveGlobal(); + + // Restart the tests if they're blocking + if ( config.blocking ) { + start(); + } + } + }, + teardown: function() { + try { + checkPollution(); + this.testEnvironment.teardown.call(this.testEnvironment); + } catch(e) { + // TODO use testName instead of name for no-markup message? + QUnit.ok( false, "Teardown failed on " + this.name + ": " + e.message ); + } + }, + finish: function() { + if ( this.expected && this.expected != this.assertions.length ) { + QUnit.ok( false, "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run" ); + } + + var good = 0, bad = 0, + tests = id("qunit-tests"); + + config.stats.all += this.assertions.length; + config.moduleStats.all += this.assertions.length; + + if ( tests ) { + var ol = document.createElement("ol"); + + for ( var i = 0; i < this.assertions.length; i++ ) { + var assertion = this.assertions[i]; + + var li = document.createElement("li"); + li.className = assertion.result ? "pass" : "fail"; + li.innerHTML = assertion.message || (assertion.result ? "okay" : "failed"); + ol.appendChild( li ); + + if ( assertion.result ) { + good++; + } else { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + + // store result when possible + defined.sessionStorage && sessionStorage.setItem("qunit-" + this.testName, bad); + + if (bad == 0) { + ol.style.display = "none"; + } + + var b = document.createElement("strong"); + b.innerHTML = this.name + " (" + bad + ", " + good + ", " + this.assertions.length + ")"; + + addEvent(b, "click", function() { + var next = b.nextSibling, display = next.style.display; + next.style.display = display === "none" ? "block" : "none"; + }); + + addEvent(b, "dblclick", function(e) { + var target = e && e.target ? e.target : window.event.srcElement; + if ( target.nodeName.toLowerCase() == "span" || target.nodeName.toLowerCase() == "b" ) { + target = target.parentNode; + } + if ( window.location && target.nodeName.toLowerCase() === "strong" ) { + window.location.search = "?" + encodeURIComponent(getText([target]).replace(/\(.+\)$/, "").replace(/(^\s*|\s*$)/g, "")); + } + }); + + var li = id(this.id); + li.className = bad ? "fail" : "pass"; + li.style.display = resultDisplayStyle(!bad); + li.removeChild( li.firstChild ); + li.appendChild( b ); + li.appendChild( ol ); + + if ( bad ) { + var toolbar = id("qunit-testrunner-toolbar"); + if ( toolbar ) { + toolbar.style.display = "block"; + id("qunit-filter-pass").disabled = null; + } + } + + } else { + for ( var i = 0; i < this.assertions.length; i++ ) { + if ( !this.assertions[i].result ) { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + } + + try { + QUnit.reset(); + } catch(e) { + // TODO use testName instead of name for no-markup message? + fail("reset() failed, following Test " + this.name + ", exception and reset fn follows", e, QUnit.reset); + } + + QUnit.testDone( this.testName, bad, this.assertions.length ); + }, + + queue: function() { + var test = this; + synchronize(function() { + test.init(); + }); + function run() { + // each of these can by async + synchronize(function() { + test.setup(); + }); + synchronize(function() { + test.run(); + }); + synchronize(function() { + test.teardown(); + }); + synchronize(function() { + test.finish(); + }); + } + // defer when previous test run passed, if storage is available + var bad = defined.sessionStorage && +sessionStorage.getItem("qunit-" + this.testName); + if (bad) { + run(); + } else { + synchronize(run); + }; + } + +} + +var QUnit = { + + // call on start of module test to prepend name to all tests + module: function(name, testEnvironment) { + config.previousModule = config.currentModule; + config.currentModule = name; + config.currentModuleTestEnviroment = testEnvironment; + }, + + asyncTest: function(testName, expected, callback) { + if ( arguments.length === 2 ) { + callback = expected; + expected = 0; + } + + QUnit.test(testName, expected, callback, true); + }, + + test: function(testName, expected, callback, async) { + var name = '' + testName + '', testEnvironmentArg; + + if ( arguments.length === 2 ) { + callback = expected; + expected = null; + } + // is 2nd argument a testEnvironment? + if ( expected && typeof expected === 'object') { + testEnvironmentArg = expected; + expected = null; + } + + if ( config.currentModule ) { + name = '' + config.currentModule + ": " + name; + } + + if ( !validTest(config.currentModule + ": " + testName) ) { + return; + } + + var test = new Test(name, testName, expected, testEnvironmentArg, async, callback); + test.previousModule = config.previousModule; + test.module = config.currentModule; + test.moduleTestEnvironment = config.currentModuleTestEnviroment; + test.queue(); + }, + + /** + * Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through. + */ + expect: function(asserts) { + config.current.expected = asserts; + }, + + /** + * Asserts true. + * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" ); + */ + ok: function(a, msg) { + a = !!a; + var details = { + result: a, + message: msg + }; + msg = escapeHtml(msg); + QUnit.log(a, msg, details); + config.current.assertions.push({ + result: a, + message: msg + }); + }, + + /** + * Checks that the first two arguments are equal, with an optional message. + * Prints out both actual and expected values. + * + * Prefered to ok( actual == expected, message ) + * + * @example equal( format("Received {0} bytes.", 2), "Received 2 bytes." ); + * + * @param Object actual + * @param Object expected + * @param String message (optional) + */ + equal: function(actual, expected, message) { + QUnit.push(expected == actual, actual, expected, message); + }, + + notEqual: function(actual, expected, message) { + QUnit.push(expected != actual, actual, expected, message); + }, + + deepEqual: function(actual, expected, message) { + QUnit.push(QUnit.equiv(actual, expected), actual, expected, message); + }, + + notDeepEqual: function(actual, expected, message) { + QUnit.push(!QUnit.equiv(actual, expected), actual, expected, message); + }, + + strictEqual: function(actual, expected, message) { + QUnit.push(expected === actual, actual, expected, message); + }, + + notStrictEqual: function(actual, expected, message) { + QUnit.push(expected !== actual, actual, expected, message); + }, + + raises: function(block, expected, message) { + var actual, ok = false; + + if (typeof expected === 'string') { + message = expected; + expected = null; + } + + try { + block(); + } catch (e) { + actual = e; + } + + if (actual) { + // we don't want to validate thrown error + if (!expected) { + ok = true; + // expected is a regexp + } else if (QUnit.objectType(expected) === "regexp") { + ok = expected.test(actual); + // expected is a constructor + } else if (actual instanceof expected) { + ok = true; + // expected is a validation function which returns true is validation passed + } else if (expected.call({}, actual) === true) { + ok = true; + } + } + + QUnit.ok(ok, message); + }, + + start: function() { + // A slight delay, to avoid any current callbacks + if ( defined.setTimeout ) { + window.setTimeout(function() { + if ( config.timeout ) { + clearTimeout(config.timeout); + } + + config.blocking = false; + process(); + }, 13); + } else { + config.blocking = false; + process(); + } + }, + + stop: function(timeout) { + config.blocking = true; + + if ( timeout && defined.setTimeout ) { + config.timeout = window.setTimeout(function() { + QUnit.ok( false, "Test timed out" ); + QUnit.start(); + }, timeout); + } + } + +}; + +// Backwards compatibility, deprecated +QUnit.equals = QUnit.equal; +QUnit.same = QUnit.deepEqual; + +// Maintain internal state +var config = { + // The queue of tests to run + queue: [], + + // block until document ready + blocking: true +}; + +// Load paramaters +(function() { + var location = window.location || { search: "", protocol: "file:" }, + GETParams = location.search.slice(1).split('&'); + + for ( var i = 0; i < GETParams.length; i++ ) { + GETParams[i] = decodeURIComponent( GETParams[i] ); + if ( GETParams[i] === "noglobals" ) { + GETParams.splice( i, 1 ); + i--; + config.noglobals = true; + } else if ( GETParams[i].search('=') > -1 ) { + GETParams.splice( i, 1 ); + i--; + } + } + + // restrict modules/tests by get parameters + config.filters = GETParams; + + // Figure out if we're running the tests from a server or not + QUnit.isLocal = !!(location.protocol === 'file:'); +})(); + +// Expose the API as global variables, unless an 'exports' +// object exists, in that case we assume we're in CommonJS +if ( typeof exports === "undefined" || typeof require === "undefined" ) { + extend(window, QUnit); + window.QUnit = QUnit; +} else { + extend(exports, QUnit); + exports.QUnit = QUnit; +} + +// define these after exposing globals to keep them in these QUnit namespace only +extend(QUnit, { + config: config, + + // Initialize the configuration options + init: function() { + extend(config, { + stats: { all: 0, bad: 0 }, + moduleStats: { all: 0, bad: 0 }, + started: +new Date, + updateRate: 1000, + blocking: false, + autostart: true, + autorun: false, + filters: [], + queue: [] + }); + + var tests = id("qunit-tests"), + banner = id("qunit-banner"), + result = id("qunit-testresult"); + + if ( tests ) { + tests.innerHTML = ""; + } + + if ( banner ) { + banner.className = ""; + } + + if ( result ) { + result.parentNode.removeChild( result ); + } + }, + + /** + * Resets the test setup. Useful for tests that modify the DOM. + * + * If jQuery is available, uses jQuery's html(), otherwise just innerHTML. + */ + reset: function() { + if ( window.jQuery ) { + jQuery( "#main, #qunit-fixture" ).html( config.fixture ); + } else { + var main = id( 'main' ) || id( 'qunit-fixture' ); + if ( main ) { + main.innerHTML = config.fixture; + } + } + }, + + /** + * Trigger an event on an element. + * + * @example triggerEvent( document.body, "click" ); + * + * @param DOMElement elem + * @param String type + */ + triggerEvent: function( elem, type, event ) { + if ( document.createEvent ) { + event = document.createEvent("MouseEvents"); + event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView, + 0, 0, 0, 0, 0, false, false, false, false, 0, null); + elem.dispatchEvent( event ); + + } else if ( elem.fireEvent ) { + elem.fireEvent("on"+type); + } + }, + + // Safe object type checking + is: function( type, obj ) { + return QUnit.objectType( obj ) == type; + }, + + objectType: function( obj ) { + if (typeof obj === "undefined") { + return "undefined"; + + // consider: typeof null === object + } + if (obj === null) { + return "null"; + } + + var type = Object.prototype.toString.call( obj ) + .match(/^\[object\s(.*)\]$/)[1] || ''; + + switch (type) { + case 'Number': + if (isNaN(obj)) { + return "nan"; + } else { + return "number"; + } + case 'String': + case 'Boolean': + case 'Array': + case 'Date': + case 'RegExp': + case 'Function': + return type.toLowerCase(); + } + if (typeof obj === "object") { + return "object"; + } + return undefined; + }, + + push: function(result, actual, expected, message) { + var details = { + result: result, + message: message, + actual: actual, + expected: expected + }; + + message = escapeHtml(message) || (result ? "okay" : "failed"); + message = '' + message + ""; + expected = escapeHtml(QUnit.jsDump.parse(expected)); + actual = escapeHtml(QUnit.jsDump.parse(actual)); + var output = message + ''; + if (actual != expected) { + output += ''; + output += ''; + } + if (!result) { + var source = sourceFromStacktrace(); + if (source) { + details.source = source; + output += ''; + } + } + output += "
    Expected:
    ' + expected + '
    Result:
    ' + actual + '
    Diff:
    ' + QUnit.diff(expected, actual) +'
    Source:
    ' + source +'
    "; + + QUnit.log(result, message, details); + + config.current.assertions.push({ + result: !!result, + message: output + }); + }, + + // Logging callbacks + begin: function() {}, + done: function(failures, total) {}, + log: function(result, message) {}, + testStart: function(name, testEnvironment) {}, + testDone: function(name, failures, total) {}, + moduleStart: function(name, testEnvironment) {}, + moduleDone: function(name, failures, total) {} +}); + +if ( typeof document === "undefined" || document.readyState === "complete" ) { + config.autorun = true; +} + +addEvent(window, "load", function() { + QUnit.begin(); + + // Initialize the config, saving the execution queue + var oldconfig = extend({}, config); + QUnit.init(); + extend(config, oldconfig); + + config.blocking = false; + + var userAgent = id("qunit-userAgent"); + if ( userAgent ) { + userAgent.innerHTML = navigator.userAgent; + } + var banner = id("qunit-header"); + if ( banner ) { + var paramsIndex = location.href.lastIndexOf(location.search); + if ( paramsIndex > -1 ) { + var mainPageLocation = location.href.slice(0, paramsIndex); + if ( mainPageLocation == location.href ) { + banner.innerHTML = ' ' + banner.innerHTML + ' '; + } else { + var testName = decodeURIComponent(location.search.slice(1)); + banner.innerHTML = '' + banner.innerHTML + '' + testName + ''; + } + } + } + + var toolbar = id("qunit-testrunner-toolbar"); + if ( toolbar ) { + toolbar.style.display = "none"; + + var filter = document.createElement("input"); + filter.type = "checkbox"; + filter.id = "qunit-filter-pass"; + filter.disabled = true; + addEvent( filter, "click", function() { + var li = document.getElementsByTagName("li"); + for ( var i = 0; i < li.length; i++ ) { + if ( li[i].className.indexOf("pass") > -1 ) { + li[i].style.display = filter.checked ? "none" : ""; + } + } + }); + toolbar.appendChild( filter ); + + var label = document.createElement("label"); + label.setAttribute("for", "qunit-filter-pass"); + label.innerHTML = "Hide passed tests"; + toolbar.appendChild( label ); + } + + var main = id('main') || id('qunit-fixture'); + if ( main ) { + config.fixture = main.innerHTML; + } + + if (config.autostart) { + QUnit.start(); + } +}); + +function done() { + config.autorun = true; + + // Log the last module results + if ( config.currentModule ) { + QUnit.moduleDone( config.currentModule, config.moduleStats.bad, config.moduleStats.all ); + } + + var banner = id("qunit-banner"), + tests = id("qunit-tests"), + html = ['Tests completed in ', + +new Date - config.started, ' milliseconds.
    ', + '', config.stats.all - config.stats.bad, ' tests of ', config.stats.all, ' passed, ', config.stats.bad,' failed.'].join(''); + + if ( banner ) { + banner.className = (config.stats.bad ? "qunit-fail" : "qunit-pass"); + } + + if ( tests ) { + var result = id("qunit-testresult"); + + if ( !result ) { + result = document.createElement("p"); + result.id = "qunit-testresult"; + result.className = "result"; + tests.parentNode.insertBefore( result, tests.nextSibling ); + } + + result.innerHTML = html; + } + + QUnit.done( config.stats.bad, config.stats.all ); +} + +function validTest( name ) { + var i = config.filters.length, + run = false; + + if ( !i ) { + return true; + } + + while ( i-- ) { + var filter = config.filters[i], + not = filter.charAt(0) == '!'; + + if ( not ) { + filter = filter.slice(1); + } + + if ( name.indexOf(filter) !== -1 ) { + return !not; + } + + if ( not ) { + run = true; + } + } + + return run; +} + +// so far supports only Firefox, Chrome and Opera (buggy) +// could be extended in the future to use something like https://github.com/csnover/TraceKit +function sourceFromStacktrace() { + try { + throw new Error(); + } catch ( e ) { + if (e.stacktrace) { + // Opera + return e.stacktrace.split("\n")[6]; + } else if (e.stack) { + // Firefox, Chrome + return e.stack.split("\n")[4]; + } + } +} + +function resultDisplayStyle(passed) { + return passed && id("qunit-filter-pass") && id("qunit-filter-pass").checked ? 'none' : ''; +} + +function escapeHtml(s) { + if (!s) { + return ""; + } + s = s + ""; + return s.replace(/[\&"<>\\]/g, function(s) { + switch(s) { + case "&": return "&"; + case "\\": return "\\\\"; + case '"': return '\"'; + case "<": return "<"; + case ">": return ">"; + default: return s; + } + }); +} + +function synchronize( callback ) { + config.queue.push( callback ); + + if ( config.autorun && !config.blocking ) { + process(); + } +} + +function process() { + var start = (new Date()).getTime(); + + while ( config.queue.length && !config.blocking ) { + if ( config.updateRate <= 0 || (((new Date()).getTime() - start) < config.updateRate) ) { + config.queue.shift()(); + } else { + window.setTimeout( process, 13 ); + break; + } + } + if (!config.blocking && !config.queue.length) { + done(); + } +} + +function saveGlobal() { + config.pollution = []; + + if ( config.noglobals ) { + for ( var key in window ) { + config.pollution.push( key ); + } + } +} + +function checkPollution( name ) { + var old = config.pollution; + saveGlobal(); + + var newGlobals = diff( old, config.pollution ); + if ( newGlobals.length > 0 ) { + ok( false, "Introduced global variable(s): " + newGlobals.join(", ") ); + config.current.expected++; + } + + var deletedGlobals = diff( config.pollution, old ); + if ( deletedGlobals.length > 0 ) { + ok( false, "Deleted global variable(s): " + deletedGlobals.join(", ") ); + config.current.expected++; + } +} + +// returns a new Array with the elements that are in a but not in b +function diff( a, b ) { + var result = a.slice(); + for ( var i = 0; i < result.length; i++ ) { + for ( var j = 0; j < b.length; j++ ) { + if ( result[i] === b[j] ) { + result.splice(i, 1); + i--; + break; + } + } + } + return result; +} + +function fail(message, exception, callback) { + if ( typeof console !== "undefined" && console.error && console.warn ) { + console.error(message); + console.error(exception); + console.warn(callback.toString()); + + } else if ( window.opera && opera.postError ) { + opera.postError(message, exception, callback.toString); + } +} + +function extend(a, b) { + for ( var prop in b ) { + a[prop] = b[prop]; + } + + return a; +} + +function addEvent(elem, type, fn) { + if ( elem.addEventListener ) { + elem.addEventListener( type, fn, false ); + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, fn ); + } else { + fn(); + } +} + +function id(name) { + return !!(typeof document !== "undefined" && document && document.getElementById) && + document.getElementById( name ); +} + +// Test for equality any JavaScript type. +// Discussions and reference: http://philrathe.com/articles/equiv +// Test suites: http://philrathe.com/tests/equiv +// Author: Philippe Rathé +QUnit.equiv = function () { + + var innerEquiv; // the real equiv function + var callers = []; // stack to decide between skip/abort functions + var parents = []; // stack to avoiding loops from circular referencing + + // Call the o related callback with the given arguments. + function bindCallbacks(o, callbacks, args) { + var prop = QUnit.objectType(o); + if (prop) { + if (QUnit.objectType(callbacks[prop]) === "function") { + return callbacks[prop].apply(callbacks, args); + } else { + return callbacks[prop]; // or undefined + } + } + } + + var callbacks = function () { + + // for string, boolean, number and null + function useStrictEquality(b, a) { + if (b instanceof a.constructor || a instanceof b.constructor) { + // to catch short annotaion VS 'new' annotation of a declaration + // e.g. var i = 1; + // var j = new Number(1); + return a == b; + } else { + return a === b; + } + } + + return { + "string": useStrictEquality, + "boolean": useStrictEquality, + "number": useStrictEquality, + "null": useStrictEquality, + "undefined": useStrictEquality, + + "nan": function (b) { + return isNaN(b); + }, + + "date": function (b, a) { + return QUnit.objectType(b) === "date" && a.valueOf() === b.valueOf(); + }, + + "regexp": function (b, a) { + return QUnit.objectType(b) === "regexp" && + a.source === b.source && // the regex itself + a.global === b.global && // and its modifers (gmi) ... + a.ignoreCase === b.ignoreCase && + a.multiline === b.multiline; + }, + + // - skip when the property is a method of an instance (OOP) + // - abort otherwise, + // initial === would have catch identical references anyway + "function": function () { + var caller = callers[callers.length - 1]; + return caller !== Object && + typeof caller !== "undefined"; + }, + + "array": function (b, a) { + var i, j, loop; + var len; + + // b could be an object literal here + if ( ! (QUnit.objectType(b) === "array")) { + return false; + } + + len = a.length; + if (len !== b.length) { // safe and faster + return false; + } + + //track reference to avoid circular references + parents.push(a); + for (i = 0; i < len; i++) { + loop = false; + for(j=0;j= 0) { + type = "array"; + } else { + type = typeof obj; + } + return type; + }, + separator:function() { + return this.multiline ? this.HTML ? '
    ' : '\n' : this.HTML ? ' ' : ' '; + }, + indent:function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing + if ( !this.multiline ) + return ''; + var chr = this.indentChar; + if ( this.HTML ) + chr = chr.replace(/\t/g,' ').replace(/ /g,' '); + return Array( this._depth_ + (extra||0) ).join(chr); + }, + up:function( a ) { + this._depth_ += a || 1; + }, + down:function( a ) { + this._depth_ -= a || 1; + }, + setParser:function( name, parser ) { + this.parsers[name] = parser; + }, + // The next 3 are exposed so you can use them + quote:quote, + literal:literal, + join:join, + // + _depth_: 1, + // This is the list of parsers, to modify them, use jsDump.setParser + parsers:{ + window: '[Window]', + document: '[Document]', + error:'[ERROR]', //when no parser is found, shouldn't happen + unknown: '[Unknown]', + 'null':'null', + undefined:'undefined', + 'function':function( fn ) { + var ret = 'function', + name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never have name in IE + if ( name ) + ret += ' ' + name; + ret += '('; + + ret = [ ret, QUnit.jsDump.parse( fn, 'functionArgs' ), '){'].join(''); + return join( ret, QUnit.jsDump.parse(fn,'functionCode'), '}' ); + }, + array: array, + nodelist: array, + arguments: array, + object:function( map ) { + var ret = [ ]; + QUnit.jsDump.up(); + for ( var key in map ) + ret.push( QUnit.jsDump.parse(key,'key') + ': ' + QUnit.jsDump.parse(map[key]) ); + QUnit.jsDump.down(); + return join( '{', ret, '}' ); + }, + node:function( node ) { + var open = QUnit.jsDump.HTML ? '<' : '<', + close = QUnit.jsDump.HTML ? '>' : '>'; + + var tag = node.nodeName.toLowerCase(), + ret = open + tag; + + for ( var a in QUnit.jsDump.DOMAttrs ) { + var val = node[QUnit.jsDump.DOMAttrs[a]]; + if ( val ) + ret += ' ' + a + '=' + QUnit.jsDump.parse( val, 'attribute' ); + } + return ret + close + open + '/' + tag + close; + }, + functionArgs:function( fn ) {//function calls it internally, it's the arguments part of the function + var l = fn.length; + if ( !l ) return ''; + + var args = Array(l); + while ( l-- ) + args[l] = String.fromCharCode(97+l);//97 is 'a' + return ' ' + args.join(', ') + ' '; + }, + key:quote, //object calls it internally, the key part of an item in a map + functionCode:'[code]', //function calls it internally, it's the content of the function + attribute:quote, //node calls it internally, it's an html attribute value + string:quote, + date:quote, + regexp:literal, //regex + number:literal, + 'boolean':literal + }, + DOMAttrs:{//attributes to dump from nodes, name=>realName + id:'id', + name:'name', + 'class':'className' + }, + HTML:false,//if true, entities are escaped ( <, >, \t, space and \n ) + indentChar:' ',//indentation unit + multiline:true //if true, items in a collection, are separated by a \n, else just a space. + }; + + return jsDump; +})(); + +// from Sizzle.js +function getText( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += getText( elem.childNodes ); + } + } + + return ret; +}; + +/* + * Javascript Diff Algorithm + * By John Resig (http://ejohn.org/) + * Modified by Chu Alan "sprite" + * + * Released under the MIT license. + * + * More Info: + * http://ejohn.org/projects/javascript-diff-algorithm/ + * + * Usage: QUnit.diff(expected, actual) + * + * QUnit.diff("the quick brown fox jumped over", "the quick fox jumps over") == "the quick brown fox jumped jumps over" + */ +QUnit.diff = (function() { + function diff(o, n){ + var ns = new Object(); + var os = new Object(); + + for (var i = 0; i < n.length; i++) { + if (ns[n[i]] == null) + ns[n[i]] = { + rows: new Array(), + o: null + }; + ns[n[i]].rows.push(i); + } + + for (var i = 0; i < o.length; i++) { + if (os[o[i]] == null) + os[o[i]] = { + rows: new Array(), + n: null + }; + os[o[i]].rows.push(i); + } + + for (var i in ns) { + if (ns[i].rows.length == 1 && typeof(os[i]) != "undefined" && os[i].rows.length == 1) { + n[ns[i].rows[0]] = { + text: n[ns[i].rows[0]], + row: os[i].rows[0] + }; + o[os[i].rows[0]] = { + text: o[os[i].rows[0]], + row: ns[i].rows[0] + }; + } + } + + for (var i = 0; i < n.length - 1; i++) { + if (n[i].text != null && n[i + 1].text == null && n[i].row + 1 < o.length && o[n[i].row + 1].text == null && + n[i + 1] == o[n[i].row + 1]) { + n[i + 1] = { + text: n[i + 1], + row: n[i].row + 1 + }; + o[n[i].row + 1] = { + text: o[n[i].row + 1], + row: i + 1 + }; + } + } + + for (var i = n.length - 1; i > 0; i--) { + if (n[i].text != null && n[i - 1].text == null && n[i].row > 0 && o[n[i].row - 1].text == null && + n[i - 1] == o[n[i].row - 1]) { + n[i - 1] = { + text: n[i - 1], + row: n[i].row - 1 + }; + o[n[i].row - 1] = { + text: o[n[i].row - 1], + row: i - 1 + }; + } + } + + return { + o: o, + n: n + }; + } + + return function(o, n){ + o = o.replace(/\s+$/, ''); + n = n.replace(/\s+$/, ''); + var out = diff(o == "" ? [] : o.split(/\s+/), n == "" ? [] : n.split(/\s+/)); + + var str = ""; + + var oSpace = o.match(/\s+/g); + if (oSpace == null) { + oSpace = [" "]; + } + else { + oSpace.push(" "); + } + var nSpace = n.match(/\s+/g); + if (nSpace == null) { + nSpace = [" "]; + } + else { + nSpace.push(" "); + } + + if (out.n.length == 0) { + for (var i = 0; i < out.o.length; i++) { + str += '' + out.o[i] + oSpace[i] + ""; + } + } + else { + if (out.n[0].text == null) { + for (n = 0; n < out.o.length && out.o[n].text == null; n++) { + str += '' + out.o[n] + oSpace[n] + ""; + } + } + + for (var i = 0; i < out.n.length; i++) { + if (out.n[i].text == null) { + str += '' + out.n[i] + nSpace[i] + ""; + } + else { + var pre = ""; + + for (n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++) { + pre += '' + out.o[n] + oSpace[n] + ""; + } + str += " " + out.n[i].text + nSpace[i] + pre; + } + } + } + + return str; + }; +})(); + +})(this); \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/.bower.json b/public/vendor/bootstrap-datepicker/.bower.json new file mode 100644 index 000000000000..6348a85d0a71 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/.bower.json @@ -0,0 +1,23 @@ +{ + "name": "bootstrap-datepicker", + "version": "1.3.0", + "main": [ + "js/bootstrap-datepicker.js", + "css/datepicker.css", + "css/datepicker3.css" + ], + "dependencies": { + "jquery": ">=1.7.1", + "bootstrap": ">=3.0 <4.0" + }, + "homepage": "https://github.com/eternicode/bootstrap-datepicker", + "_release": "1.3.0", + "_resolution": { + "type": "version", + "tag": "1.3.0", + "commit": "37db99f95ff3a32ccc76b7122b2b73f3b0b9fe42" + }, + "_source": "git://github.com/eternicode/bootstrap-datepicker.git", + "_target": "~1.*", + "_originalSource": "bootstrap-datepicker" +} \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/.gitignore b/public/vendor/bootstrap-datepicker/.gitignore new file mode 100644 index 000000000000..3a0d5cd7976f --- /dev/null +++ b/public/vendor/bootstrap-datepicker/.gitignore @@ -0,0 +1,3 @@ +instrumented/ +tests/coverage.html +docs/_build diff --git a/public/vendor/bootstrap-datepicker/.hgignore b/public/vendor/bootstrap-datepicker/.hgignore new file mode 100644 index 000000000000..3a0d5cd7976f --- /dev/null +++ b/public/vendor/bootstrap-datepicker/.hgignore @@ -0,0 +1,3 @@ +instrumented/ +tests/coverage.html +docs/_build diff --git a/public/vendor/bootstrap-datepicker/.hgtags b/public/vendor/bootstrap-datepicker/.hgtags new file mode 100644 index 000000000000..838992aea2f0 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/.hgtags @@ -0,0 +1,18 @@ +b965e03abfcb10d66c8dad96d54d6f8e1c5d8501 v1.0.0 +7a490672b362af7640bbeb68553a0e0a5a95cb9e v1.0.1 +9a730557f14d79c2ce2d28eacb24bdf52ac2e042 1.0.2-rc.1 +62604d506e5ba9d85ee6c2d86723b9b3d817e7bd 1.0.2-rc.1.1 +f6211e251c021331decc16bfbcf25577dd354ef4 1.0.2-rc.2 +493d2332f0cb7f2dd308c442920da86063ff2e0f 1.0.2 +77a6755dc3df3ada745024648535562587fab630 1.1.0 +fe9e4106def42741adba1606245ab0eab32acb55 1.1.1 +e37ab4f7d0d30a45ee80a7019fd2bcf8c1765de7 1.1.2 +0596a9619e30c5f52d0f56c9cba9daf0d69d29ab 1.1.3 +ba267071688d93d973bee4ddb11344971e851e9e 1.2.0-rc.1 +57e2f78d70dc5c6a265869cff3b885a78123300c 1.2.0 +68703f4d535efdeb865eba0c0b3d3b4acfb76121 1.3.0-rc.1 +abfc042e74af3e944a0819296260a8c96c6169c1 1.3.0-rc.2 +2687213f73e257375fcc3c35c1a3d23284e17341 1.3.0-rc.3 +0e5bbe72a69c9d75edbfce775943e2f7eb719eeb 1.3.0-rc.4 +3d6c7937e3f7b7e1cdb7db22fbd504e853ee776b 1.3.0-rc.5 +5bc760304871bb691a613b79c86ba9a91735007f 1.3.0-rc.6 diff --git a/public/vendor/bootstrap-datepicker/.jscs.json b/public/vendor/bootstrap-datepicker/.jscs.json new file mode 100644 index 000000000000..22fd3046b01b --- /dev/null +++ b/public/vendor/bootstrap-datepicker/.jscs.json @@ -0,0 +1,27 @@ +{ + "requireSpaceAfterKeywords": [ + "if", "else", "for", "while", "do", "switch", "return" + ], + "disallowSpacesInFunctionExpression": { + "beforeOpeningRoundBrace": true, + "beforeOpeningCurlyBrace": true + }, + "disallowSpacesInsideObjectBrackets": true, + "disallowSpacesInsideArrayBrackets": true, + "disallowSpacesInsideParentheses": true, + "disallowQuotedKeysInObjects": "allButReserved", + "disallowSpaceAfterObjectKeys": true, + "disallowLeftStickedOperators": [ + "?", "==", "===", "!=", "!==", ">", ">=", "<", "<=" + ], + "disallowRightStickedOperators": [ + "?", "==", "===", "!=", "!==", ">", ">=", "<", "<=" + ], + "requireLeftStickedOperators": [","], + "requireRightStickedOperators": ["!"], + "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~"], + "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], + "validateLineBreaks": "LF", + "requireKeywordsOnNewLine": ["else", "return", "break", "delete"], + "requireLineFeedAtFileEnd": true +} diff --git a/public/vendor/bootstrap-datepicker/.jshintrc b/public/vendor/bootstrap-datepicker/.jshintrc new file mode 100644 index 000000000000..f19475da5b36 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/.jshintrc @@ -0,0 +1,20 @@ +{ + "jquery": true, + "browser": true, + + "eqeqeq": true, + "freeze": true, + //"indent": 4, // when we move to spaces + "latedef": true, + "undef": true, + "unused": true, + "immed": true, + "trailing": true, + "maxcomplexity": 50, // Can we get this under 5? + //"maxlen": 120, + + "-W014": false, // Bad line breaking before ? (in tertiary operator) + "-W065": false, // Missing radix parameter to parseInt (defaults to 10) + "-W069": false, // Literal accessor is better written in dot notation + "-W100": false // Silently deleted characters (in locales) +} diff --git a/public/vendor/bootstrap-datepicker/.travis.yml b/public/vendor/bootstrap-datepicker/.travis.yml new file mode 100644 index 000000000000..ce6df3b4a32e --- /dev/null +++ b/public/vendor/bootstrap-datepicker/.travis.yml @@ -0,0 +1,9 @@ +install: + - npm install -g jshint jscs +before_script: + - cd ./tests + - echo "new Date().toString();" | phantomjs +script: + - jshint ../js/bootstrap-datepicker.js ../js/locales/*.js + - jscs -c ../.jscs.json ../js/bootstrap-datepicker.js ../js/locales/*.js + - phantomjs run-qunit.js tests.html diff --git a/public/vendor/bootstrap-datepicker/CHANGELOG.md b/public/vendor/bootstrap-datepicker/CHANGELOG.md new file mode 100644 index 000000000000..3df70bf44fda --- /dev/null +++ b/public/vendor/bootstrap-datepicker/CHANGELOG.md @@ -0,0 +1,172 @@ +Changelog +========= + +1.3.0 +----- + +New features: +* Bootstrap 3 support. Added build files `build/build_standalone3.less` and `build/build3.less`, and source files `less/datepicker3.less` and `css/datepicker3.css` (built from `build_standalone3.less`). +* Multi-date functionality. This required rethinking several areas of the picker: + * The internals have been modified to be completely multidate-centric. + * Attributes and methods availabel on events have changed, but the old attributes and functions will still work. + * Keyboard navigation has been revamped, as it didn't work at all properly with multidate selection. + * The picker now explicitly supports "no selected date". + +Non-API changes: +* Keyboard navigation has been changed. See `docs/keyboard.rst`. +* Empty pickers in a range picker setup will be populated with the first date selected by the user to make finding the next date easier. + +Bug squashed: +* Jan 1, 1970 is now highlighted when selected +* `touchstart` added to document-bound picker-closing events (alongside `mousedown`) +* Fixed a display bug with component add-on icons being vertically higher than they should have been. +* Input is refocused after clicking the picker. +* `changeDate` event is triggered when `setDate` is called. + +Locale changes: +* Added Ukrainian, Belgium-Dutch, Welsh, Galician, Vietnamese, and Azerbaijani +* `clear` for German, Danish, Italian, and Romanian +* Fixed `weekStart` and `format` for Norwegian +* `weekStart` and `format` for Georgian +* Tweaks for Latvian, French, Vietnamese, Swedish, and Croatian +* De-duplicated Ukrainian files from `uk` and `ua` to just `ua` + +Repository changes: +* Documentation has been moved from the base `README.md` file to the `docs/` folder, and been re-written to use sphinx docs. The docs are now viewable online at http://bootstrap-datepicker.readthedocs.org/. The [gh-pages](http://eternicode.github.io/bootstrap-datepicker/) branch has been reduced to the sandbox demo. +* Changed the js file header to point at repo/demo/docs urls instead of eyecon.ro +* The css files are now the output of the standalone build scripts instead of `build/build.less` etc. +* `composer.json` now supports component-installer +* Added [JSHint](http://www.jshint.com/docs/) and [JSCS](https://github.com/mdevils/node-jscs) configurations + + +1.2.0 +----- + +New features: +* Google Closure Compiler Compatibility +* Smart orientation by default, and explicit picker orientation with the `orientation` option +* Text inside the picker is no longer user-selectable +* Packagist/Composer support (I think...) +* No longer depends on glyphicons for arrows +* `clearDate` event added, fired when the date is cleared + +Bug squashed: +* `noConflict` fixed +* Fix for large years causing an infinite loop in date parsing +* Fixed cases where `changeYear` and `changeMonth` events were not being triggered +* `component.js` moved to `bower.js` +* Falsey values for `startDate` and `endDate` translate to `-Infinity` and `Infinity`, respectively (effectively, falsey values mean "no bounds") +* Fixed `autoclose` for non-input, non-component elements +* Fixed 50% param in `mix()` less function -- expands compatibility with less compilers +* Fixed `update` method to update the selected date +* `beforeShowDay` was getting UTC dates, now it gets local dates (all dates that developers are given should be in local time, not UTC). +* `startDate` and `endDate` were a bit confused when given `new Date()` -- they would not allow today to be selected (the range should be inclusive), they would change whether it was selectable based on local time, etc. These quirks should be fixed now. They both also now expect local dates (which will then be time-zeroed and converted to UTC). +* Fixed selected date not being automatically constrained to the specified range when `setStartDate` and `setEndDate` were called. +* No longer uses jQuery's `.size()` (deprecated in favor of `.length`) +* `changeDate` triggered during manual user input +* `change` event fired when input value changed, it wasn't in some cases + +Locale changes: +* Added Arabic, Norwegian, Georgian +* `clear` for French +* `today` and `clear` for Bahasa +* `today` and `clear` for Portuguese (both `pt` and `pt-BR`) +* `format` for Turkish +* `format` and `weekStart` for Swedish +* `format` and `weekStart` for Simplified Chinese; `today`, `format`, and `weekStart` for Traditional Chinese +* Fixed typo in Serbian latin (`rs-latin`) +* More appropriate use of Traditional Chinese habit in `zh-TW` + + +1.1.3 +---------- + +Clicking the clear button now triggers the input's `change` and datepicker's `changeDate` events. +Fixed a bug that broke the event-attached `format` function. + + +1.1.2 +---------- + +Botched release, no change from 1.1.1 + + +1.1.1 +---------- + +Fixes a bug when setting startDate or endDate during initialization. + + +1.1.0 +---------- + +New features: +* Date range picker. +* Data API / noConflict. +* `getDate` and `setDate` methods. +* `format` method for events; this allows you to easily format the `date` associated with the event. +* New options: + * `beforeShowDay` option: a dev-provided function that can enable/disable dates, add css classes, and add tooltips. + * `clearBtn`, a button for resetting the picker. + +Internal changes: +* Cleaner and more reliable method for extracting options from all potential sources (defaults, locale overrides, data-attrs, and instantiation options, in that order). This also populates `$.fn.datepicker.defaults` with the default values, and uses this hash as the actual source of defaults, meaning you can globally change the default value for a given option. + +Bugs squashed: +* Resolved a conflict with bootstrap's native `.switch` class. +* Fixed a bug with components where they would be stuck with a stale value when editing the value manually. +* The `date` attributes on events are now local dates instead of internal UTC dates. +* Separate `Date` objects for internal selected and view date references. +* Clicking multiple times inside inputs no longer hides the picker. + +Minor improvements: +* Better text color for highlighted "today" date. +* Last year in decade view now marked as "new" instead of "old". +* Formats now properly handle trailing separators. + +Locale changes: +* Added Albanian, Estonian, and Macedonian +* Added `weekStart` for Russian +* Added `weekStart` and `format` for Finnish + +Potentially backward-incompatible changes: +* Options revamp: + * This fixes bugs in the correlation of some data-attrs to their associated option names. If you use `data-date-weekstart`, `data-date-startdate`, or `data-date-enddate`, you should update these to `data-date-week-start`, `data-date-start-date`, or `data-date-end-date`, respectively. + * All options for datepicker are now properties on the datepicker's `o` property; options are no longer stored on the Datepicker instance itself. If you have code that accesses options stored on the datepicker instance (eg, `datepicker.format`), you will need to update it to access those options via the `o` property (eg, `datepicker.o.format`). "Raw" options are available via the `_o` property. + +1.0.2 +---------- + +Small optimizations release + +* Reduced the number of times `update` is called on initialization. +* Datepicker now detaches the picker dropdown when it is hidden, and appends it when shown. This removes the picker from the DOM when it is not in use. +* No longer listens to document/window events unless picker is visible. + +v1.0.1 +------ + +* Support for [Bower](http://twitter.github.com/bower/) +* Component pickers are now aligned under the input, not the add-on element. +* Japanese locale now has "today" and "format". +* "remove" method removes `.data().date` if the datepicker is on a non-input. +* Events on initialized elements are no longer blocked from bubbling up the DOM (jQuery.live et al can now catch the events). +* Component triggers now include `.btn` in addition to `.add-on`. +* Updates to README contents. + +v1.0.0 +------ + +Initial release: + +* format option +* weekStart option +* calendarWeeks option +* startDate / endDate options +* daysOfWeekDisabled option +* autoclose option +* startView / mnViewMode options +* todayBtn / todayHighlight options +* keyboardNavigation option +* language option +* forceParse option diff --git a/public/vendor/bootstrap-datepicker/CONTRIBUTING.md b/public/vendor/bootstrap-datepicker/CONTRIBUTING.md new file mode 100644 index 000000000000..775c6447cf59 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# Contributing + +## Support requests + +The issue tracker is not the place for support requests. If you get stuck with bootstrap-datepicker, it's very likely that the fine folks at [StackOverflow](http://stackoverflow.com/) will be able to help you; simply describe the problem you're having and provide them a link to the repo (so they know what code you're using). Another option is to post to the [bootstrap-datepicker google group](https://groups.google.com/group/bootstrap-datepicker). + +## Issues + +If you've found a bug in bootstrap-datepicker, we want to know about it! However, please keep the following in mind: + +* This is not the bootstrap-datepicker from [eyecon.ro](http://www.eyecon.ro/bootstrap-datepicker/). Stefan provided the initial code for bootstrap-datepicker, but this repo is divergent from his codebase. Please make sure you're using either the latest tagged version or the latest master from https://github.com/eternicode/bootstrap-datepicker/ . +* A working example of the bug you've found is *much* easier to work with than a description alone. If possible, please provide a link to a demonstration of the bug, perhaps using http://jsfiddle.net/ . + * CDN-backed assets can be found at http://bsdp-assets.blackcherry.us/ . These should be used *only* for building test cases, as they may be removed or changed at any time. +* Finally, it's possible someone else has already reported the same bug you have. Please search the issue tracker for similar issues before posting your own. Thanks! + +## Pull Requests + +Patches welcome! + +For all cases, you should have your own fork of the repo. + +To submit a pull request for a **new feature**: + +1. Run the tests. Every pull request for a new feature should have an accompanying unit test and docs changes. See the README in the `tests/` and `docs/` directories for details. +2. Create a new branch off of the `master` branch for your feature. This is particularly helpful when you want to submit multiple pull requests. +3. Add a test (or multiple tests) for your feature. Again, see `tests/README.md`. +4. Add your new feature, making the test pass. +5. Push to your fork and submit the pull request! + +To submit a **bug fix**: + +1. Create a new branch off of the `master` branch. +2. Add a test that demonstrates the bug. +3. Make the test pass. +4. Push to your fork and submit the pull request! + +To submit a **documentation fix**: + +1. Create a new branch off of the `master` branch. +2. Add your documentation fixes (no tests required). +3. Push to your fork and submit the pull request! diff --git a/public/vendor/bootstrap-datepicker/LICENSE b/public/vendor/bootstrap-datepicker/LICENSE new file mode 100644 index 000000000000..d64569567334 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/public/vendor/bootstrap-datepicker/README.md b/public/vendor/bootstrap-datepicker/README.md new file mode 100644 index 000000000000..8218e24a9015 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/README.md @@ -0,0 +1,13 @@ +# bootstrap-datepicker + +This is a fork of Stefan Petre's [original code](http://www.eyecon.ro/bootstrap-datepicker/); +thanks go to him for getting this thing started! + +Please note that this fork is not used on Stefan's page, nor is it maintained or contributed to by him. + +Versions are incremented according to [semver](http://semver.org/). + +* [Online Demo](http://eternicode.github.io/bootstrap-datepicker/) +* [Online Docs](http://bootstrap-datepicker.readthedocs.org/) (ReadTheDocs.com) +* [Google Group](https://groups.google.com/group/bootstrap-datepicker/) +* [Travis CI ![Build Status](https://travis-ci.org/eternicode/bootstrap-datepicker.png?branch=master)](https://travis-ci.org/eternicode/bootstrap-datepicker) diff --git a/public/vendor/bootstrap-datepicker/bower.json b/public/vendor/bootstrap-datepicker/bower.json new file mode 100644 index 000000000000..f57de5adc671 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/bower.json @@ -0,0 +1,9 @@ +{ + "name": "bootstrap-datepicker", + "version": "1.3.0", + "main": ["js/bootstrap-datepicker.js", "css/datepicker.css", "css/datepicker3.css"], + "dependencies": { + "jquery" : ">=1.7.1", + "bootstrap" : ">=3.0 <4.0" + } +} diff --git a/public/vendor/bootstrap-datepicker/build/build.less b/public/vendor/bootstrap-datepicker/build/build.less new file mode 100644 index 000000000000..04fce23b03f1 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/build/build.less @@ -0,0 +1,67 @@ +// Datepicker .less buildfile. Includes select mixins/variables from bootstrap +// and imports the included datepicker.less to output a minimal datepicker.css +// +// Usage: +// lessc build.less datepicker.css +// +// Variables and mixins copied from bootstrap 2.0.2 + +// Variables +@grayLight: #999; +@grayLighter: #eee; +@white: #fff; +@linkColor: #08c; +@btnPrimaryBackground: @linkColor; +@orange: #f89406; +@baseLineHeight: 18px; + +// Mixins + +// Border Radius +.border-radius(@radius: 5px) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; +} + +// Button backgrounds +.buttonBackground(@startColor, @endColor) { + .gradientBar(@startColor, @endColor); + .reset-filter(); + &:hover, &:active, &.active, &.disabled, &[disabled] { + background-color: @endColor; + } + &:active, + &.active { + background-color: darken(@endColor, 10%) e("\9"); + } +} + +// Reset filters for IE +.reset-filter() { + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} + +// Gradient Bar Colors for buttons and alerts +.gradientBar(@primaryColor, @secondaryColor) { + #gradient > .vertical(@primaryColor, @secondaryColor); + border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%); + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); +} + +// Gradients +#gradient { + .vertical(@startColor: #555, @endColor: #333) { + background-color: mix(@startColor, @endColor, 60%); + background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ + background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(top, @startColor, @endColor); // The standard + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down + } +} + +@import "../less/datepicker.less"; diff --git a/public/vendor/bootstrap-datepicker/build/build3.less b/public/vendor/bootstrap-datepicker/build/build3.less new file mode 100644 index 000000000000..c2f6db145d66 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/build/build3.less @@ -0,0 +1,71 @@ +// Datepicker .less buildfile. Includes select mixins/variables from bootstrap +// and imports the included datepicker.less to output a minimal datepicker.css +// +// Usage: +// lessc build.less datepicker.css +// +// Variables and mixins copied from bootstrap 2.0.2 + +// Variables +@gray: lighten(#000, 33.5%); // #555 +@gray-light: lighten(#000, 60%); // #999 +@gray-lighter: lighten(#000, 93.5%); // #eee + +@input-border: #ccc; + +@brand-primary: #428bca; +//@btn-default-color: #333; +//@btn-default-bg: #fff; +//@btn-default-border: #ccc; +@btn-primary-color: #fff; +@btn-primary-bg: @brand-primary; +@btn-primary-border: darken(@btn-primary-bg, 5%); + + +@btn-link-disabled-color: @gray-light; + +@input-group-addon-bg: @gray-lighter; +@input-group-addon-border-color: @input-border; + +@font-size-base: 14px; +@line-height-base: 1.428571429; // 20/14 +@line-height-computed: floor(@font-size-base * @line-height-base); // ~20px + + +// Mixins + +// Button variants +.button-variant(@color; @background; @border) { + color: @color; + background-color: @background; + border-color: @border; + + &:hover, + &:focus, + &:active, + &.active, + .open .dropdown-toggle& { + color: @color; + background-color: darken(@background, 8%); + border-color: darken(@border, 12%); + } + &:active, + &.active, + .open .dropdown-toggle& { + background-image: none; + } + &.disabled, + &[disabled], + fieldset[disabled] & { + &, + &:hover, + &:focus, + &:active, + &.active { + background-color: @background; + border-color: @border + } + } +} + +@import "../less/datepicker3.less"; diff --git a/public/vendor/bootstrap-datepicker/build/build_standalone.less b/public/vendor/bootstrap-datepicker/build/build_standalone.less new file mode 100644 index 000000000000..22f923d8bec3 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/build/build_standalone.less @@ -0,0 +1,61 @@ +// Datepicker standalone .less buildfile. Includes all necessary mixins/variables/rules from bootstrap +// and imports the included datepicker.less to output a minimal standalone datepicker.css +// +// Usage: +// lessc build_standalone.less datepicker.css +// +// Variables, mixins, and rules copied from bootstrap 2.0.2 + +@import "build.less"; + +// Dropdown css + +@zindexDropdown: 1000; +@grayDark: #333; +@baseLineHeight: 20px; +@tableBackground: transparent; // overall background-color +@dropdownBackground: @white; +@dropdownBorder: rgba(0,0,0,.2); +@dropdownLinkColor: @grayDark; +@dropdownLinkColorHover: @white; +@dropdownLinkBackgroundHover: @linkColor; + +// Drop shadows +.box-shadow(@shadow) { + -webkit-box-shadow: @shadow; + -moz-box-shadow: @shadow; + box-shadow: @shadow; +} + +// The dropdown menu (ul) +// ---------------------- +.datepicker.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindexDropdown; + float: left; + display: none; // none by default, but block on "open" of the menu + min-width: 160px; + list-style: none; + background-color: @dropdownBackground; + border: 1px solid #ccc; + border: 1px solid rgba(0,0,0,.2); + .border-radius(5px); + .box-shadow(0 5px 10px rgba(0,0,0,.2)); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + + // Normally inherited from bootstrap's `body` + color: #333333; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-size:13px; + line-height: @baseLineHeight; + + th, td { + padding: 4px 5px; + } +} diff --git a/public/vendor/bootstrap-datepicker/build/build_standalone3.less b/public/vendor/bootstrap-datepicker/build/build_standalone3.less new file mode 100644 index 000000000000..f4e52131c719 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/build/build_standalone3.less @@ -0,0 +1,63 @@ +// Datepicker standalone .less buildfile. Includes all necessary mixins/variables/rules from bootstrap +// and imports the included datepicker.less to output a minimal standalone datepicker.css +// +// Usage: +// lessc build_standalone.less datepicker.css +// +// Variables, mixins, and rules copied from bootstrap 2.0.2 + +@import "build3.less"; + +// Dropdown css + +@zindex-dropdown: 1000; +@gray-dark: #333; +@line-height-base: 1.428571429; // 20/14 +@table-bg: transparent; // overall background-color +@dropdown-bg: #fff; +@dropdow-border: rgba(0,0,0,.15); +@dropdown-link-color: @gray-dark; +@dropdown-link-hover-color: #fff; +@component-active-bg: @brand-primary; +@dropdown-link-active-bg: @component-active-bg; +@dropdown-link-hover-bg: @dropdown-link-active-bg; + +// Drop shadows +.box-shadow(@shadow) { + -webkit-box-shadow: @shadow; + -moz-box-shadow: @shadow; + box-shadow: @shadow; +} + +// The dropdown menu (ul) +// ---------------------- +.datepicker.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindex-dropdown; + float: left; + display: none; // none by default, but block on "open" of the menu + min-width: 160px; + list-style: none; + background-color: @dropdown-bg; + border: 1px solid #ccc; + border: 1px solid rgba(0,0,0,.2); + border-radius: 5px; + .box-shadow(0 5px 10px rgba(0,0,0,.2)); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + + // Normally inherited from bootstrap's `body` + color: #333333; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-size:13px; + line-height: @line-height-base; + + th, td { + padding: 4px 5px; + } +} diff --git a/public/vendor/bootstrap-datepicker/composer.json b/public/vendor/bootstrap-datepicker/composer.json new file mode 100644 index 000000000000..b83580301daa --- /dev/null +++ b/public/vendor/bootstrap-datepicker/composer.json @@ -0,0 +1,20 @@ +{ + "name": "eternicode/bootstrap-datepicker", + "type": "component", + "require": { + "robloach/component-installer": "*", + "components/bootstrap" : ">=3.0, <4.0", + "components/jquery": ">=1.7.1" + }, + "extra": { + "component": { + "scripts": [ + "js/bootstrap-datepicker.js" + ], + "styles": [ + "css/datepicker.css", + "css/datepicker3.css" + ] + } + } +} diff --git a/public/vendor/bootstrap-datepicker/css/datepicker.css b/public/vendor/bootstrap-datepicker/css/datepicker.css new file mode 100644 index 000000000000..7134641be52b --- /dev/null +++ b/public/vendor/bootstrap-datepicker/css/datepicker.css @@ -0,0 +1,512 @@ +/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.datepicker { + padding: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + direction: ltr; + /*.dow { + border-top: 1px solid #ddd !important; + }*/ +} +.datepicker-inline { + width: 220px; +} +.datepicker.datepicker-rtl { + direction: rtl; +} +.datepicker.datepicker-rtl table tr td span { + float: right; +} +.datepicker-dropdown { + top: 0; + left: 0; +} +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + border-top: 0; + position: absolute; +} +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} +.datepicker-dropdown.datepicker-orient-top:before { + top: -7px; +} +.datepicker-dropdown.datepicker-orient-top:after { + top: -6px; +} +.datepicker-dropdown.datepicker-orient-bottom:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} +.datepicker-dropdown.datepicker-orient-bottom:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #ffffff; +} +.datepicker > div { + display: none; +} +.datepicker.days div.datepicker-days { + display: block; +} +.datepicker.months div.datepicker-months { + display: block; +} +.datepicker.years div.datepicker-years { + display: block; +} +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border: none; +} +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} +.datepicker table tr td.day:hover, +.datepicker table tr td.day.focused { + background: #eeeeee; + cursor: pointer; +} +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999999; +} +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); + background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); + background-image: linear-gradient(top, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} +.datepicker table tr td.today:hover:hover { + color: #000; +} +.datepicker table tr td.today.active:hover { + color: #fff; +} +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eeeeee; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a)); + background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -o-linear-gradient(top, #f3c17a, #f3e97a); + background-image: linear-gradient(top, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -moz-linear-gradient(top, #b3b3b3, #808080); + background-image: -ms-linear-gradient(top, #b3b3b3, #808080); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080)); + background-image: -webkit-linear-gradient(top, #b3b3b3, #808080); + background-image: -o-linear-gradient(top, #b3b3b3, #808080); + background-image: linear-gradient(top, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.datepicker table tr td span:hover { + background: #eeeeee; +} +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999999; +} +.datepicker th.datepicker-switch { + width: 145px; +} +.datepicker thead tr:first-child th, +.datepicker tfoot tr th { + cursor: pointer; +} +.datepicker thead tr:first-child th:hover, +.datepicker tfoot tr th:hover { + background: #eeeeee; +} +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} +.datepicker thead tr:first-child th.cw { + cursor: default; + background-color: transparent; +} +.input-append.date .add-on i, +.input-prepend.date .add-on i { + cursor: pointer; + width: 16px; + height: 16px; +} +.input-daterange input { + text-align: center; +} +.input-daterange input:first-child { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.input-daterange input:last-child { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 20px; + padding: 4px 5px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + vertical-align: middle; + background-color: #eeeeee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} +.datepicker.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + float: left; + display: none; + min-width: 160px; + list-style: none; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + color: #333333; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 20px; +} +.datepicker.dropdown-menu th, +.datepicker.dropdown-menu td { + padding: 4px 5px; +} diff --git a/public/vendor/bootstrap-datepicker/css/datepicker3.css b/public/vendor/bootstrap-datepicker/css/datepicker3.css new file mode 100644 index 000000000000..aa78b1d4b5b0 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/css/datepicker3.css @@ -0,0 +1,790 @@ +/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.datepicker { + padding: 4px; + border-radius: 4px; + direction: ltr; + /*.dow { + border-top: 1px solid #ddd !important; + }*/ +} +.datepicker-inline { + width: 220px; +} +.datepicker.datepicker-rtl { + direction: rtl; +} +.datepicker.datepicker-rtl table tr td span { + float: right; +} +.datepicker-dropdown { + top: 0; + left: 0; +} +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute; +} +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} +.datepicker-dropdown.datepicker-orient-top:before { + top: -7px; +} +.datepicker-dropdown.datepicker-orient-top:after { + top: -6px; +} +.datepicker-dropdown.datepicker-orient-bottom:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} +.datepicker-dropdown.datepicker-orient-bottom:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff; +} +.datepicker > div { + display: none; +} +.datepicker.days div.datepicker-days { + display: block; +} +.datepicker.months div.datepicker-months { + display: block; +} +.datepicker.years div.datepicker-years { + display: block; +} +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.datepicker table tr td, +.datepicker table tr th { + text-align: center; + width: 30px; + height: 30px; + border-radius: 4px; + border: none; +} +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} +.datepicker table tr td.day:hover, +.datepicker table tr td.day.focused { + background: #eeeeee; + cursor: pointer; +} +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999999; +} +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + color: #000000; + background-color: #ffdb99; + border-color: #ffb733; +} +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:focus, +.datepicker table tr td.today:hover:focus, +.datepicker table tr td.today.disabled:focus, +.datepicker table tr td.today.disabled:hover:focus, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.today, +.open .dropdown-toggle.datepicker table tr td.today:hover, +.open .dropdown-toggle.datepicker table tr td.today.disabled, +.open .dropdown-toggle.datepicker table tr td.today.disabled:hover { + color: #000000; + background-color: #ffcd70; + border-color: #f59e00; +} +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.today, +.open .dropdown-toggle.datepicker table tr td.today:hover, +.open .dropdown-toggle.datepicker table tr td.today.disabled, +.open .dropdown-toggle.datepicker table tr td.today.disabled:hover { + background-image: none; +} +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td.today, +fieldset[disabled] .datepicker table tr td.today:hover, +fieldset[disabled] .datepicker table tr td.today.disabled, +fieldset[disabled] .datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today:hover.disabled:hover, +.datepicker table tr td.today.disabled.disabled:hover, +.datepicker table tr td.today.disabled:hover.disabled:hover, +.datepicker table tr td.today[disabled]:hover, +.datepicker table tr td.today:hover[disabled]:hover, +.datepicker table tr td.today.disabled[disabled]:hover, +.datepicker table tr td.today.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td.today:hover, +fieldset[disabled] .datepicker table tr td.today:hover:hover, +fieldset[disabled] .datepicker table tr td.today.disabled:hover, +fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today.disabled:focus, +.datepicker table tr td.today:hover.disabled:focus, +.datepicker table tr td.today.disabled.disabled:focus, +.datepicker table tr td.today.disabled:hover.disabled:focus, +.datepicker table tr td.today[disabled]:focus, +.datepicker table tr td.today:hover[disabled]:focus, +.datepicker table tr td.today.disabled[disabled]:focus, +.datepicker table tr td.today.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td.today:focus, +fieldset[disabled] .datepicker table tr td.today:hover:focus, +fieldset[disabled] .datepicker table tr td.today.disabled:focus, +fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today:hover.disabled:active, +.datepicker table tr td.today.disabled.disabled:active, +.datepicker table tr td.today.disabled:hover.disabled:active, +.datepicker table tr td.today[disabled]:active, +.datepicker table tr td.today:hover[disabled]:active, +.datepicker table tr td.today.disabled[disabled]:active, +.datepicker table tr td.today.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td.today:active, +fieldset[disabled] .datepicker table tr td.today:hover:active, +fieldset[disabled] .datepicker table tr td.today.disabled:active, +fieldset[disabled] .datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today:hover.disabled.active, +.datepicker table tr td.today.disabled.disabled.active, +.datepicker table tr td.today.disabled:hover.disabled.active, +.datepicker table tr td.today[disabled].active, +.datepicker table tr td.today:hover[disabled].active, +.datepicker table tr td.today.disabled[disabled].active, +.datepicker table tr td.today.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td.today.active, +fieldset[disabled] .datepicker table tr td.today:hover.active, +fieldset[disabled] .datepicker table tr td.today.disabled.active, +fieldset[disabled] .datepicker table tr td.today.disabled:hover.active { + background-color: #ffdb99; + border-color: #ffb733; +} +.datepicker table tr td.today:hover:hover { + color: #000; +} +.datepicker table tr td.today.active:hover { + color: #fff; +} +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eeeeee; + border-radius: 0; +} +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + color: #000000; + background-color: #f7ca77; + border-color: #f1a417; + border-radius: 0; +} +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:focus, +.datepicker table tr td.range.today:hover:focus, +.datepicker table tr td.range.today.disabled:focus, +.datepicker table tr td.range.today.disabled:hover:focus, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.range.today, +.open .dropdown-toggle.datepicker table tr td.range.today:hover, +.open .dropdown-toggle.datepicker table tr td.range.today.disabled, +.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover { + color: #000000; + background-color: #f4bb51; + border-color: #bf800c; +} +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.range.today, +.open .dropdown-toggle.datepicker table tr td.range.today:hover, +.open .dropdown-toggle.datepicker table tr td.range.today.disabled, +.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover { + background-image: none; +} +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td.range.today, +fieldset[disabled] .datepicker table tr td.range.today:hover, +fieldset[disabled] .datepicker table tr td.range.today.disabled, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today:hover.disabled:hover, +.datepicker table tr td.range.today.disabled.disabled:hover, +.datepicker table tr td.range.today.disabled:hover.disabled:hover, +.datepicker table tr td.range.today[disabled]:hover, +.datepicker table tr td.range.today:hover[disabled]:hover, +.datepicker table tr td.range.today.disabled[disabled]:hover, +.datepicker table tr td.range.today.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td.range.today:hover, +fieldset[disabled] .datepicker table tr td.range.today:hover:hover, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today.disabled:focus, +.datepicker table tr td.range.today:hover.disabled:focus, +.datepicker table tr td.range.today.disabled.disabled:focus, +.datepicker table tr td.range.today.disabled:hover.disabled:focus, +.datepicker table tr td.range.today[disabled]:focus, +.datepicker table tr td.range.today:hover[disabled]:focus, +.datepicker table tr td.range.today.disabled[disabled]:focus, +.datepicker table tr td.range.today.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td.range.today:focus, +fieldset[disabled] .datepicker table tr td.range.today:hover:focus, +fieldset[disabled] .datepicker table tr td.range.today.disabled:focus, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today:hover.disabled:active, +.datepicker table tr td.range.today.disabled.disabled:active, +.datepicker table tr td.range.today.disabled:hover.disabled:active, +.datepicker table tr td.range.today[disabled]:active, +.datepicker table tr td.range.today:hover[disabled]:active, +.datepicker table tr td.range.today.disabled[disabled]:active, +.datepicker table tr td.range.today.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td.range.today:active, +fieldset[disabled] .datepicker table tr td.range.today:hover:active, +fieldset[disabled] .datepicker table tr td.range.today.disabled:active, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today:hover.disabled.active, +.datepicker table tr td.range.today.disabled.disabled.active, +.datepicker table tr td.range.today.disabled:hover.disabled.active, +.datepicker table tr td.range.today[disabled].active, +.datepicker table tr td.range.today:hover[disabled].active, +.datepicker table tr td.range.today.disabled[disabled].active, +.datepicker table tr td.range.today.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td.range.today.active, +fieldset[disabled] .datepicker table tr td.range.today:hover.active, +fieldset[disabled] .datepicker table tr td.range.today.disabled.active, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active { + background-color: #f7ca77; + border-color: #f1a417; +} +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + color: #ffffff; + background-color: #999999; + border-color: #555555; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:focus, +.datepicker table tr td.selected:hover:focus, +.datepicker table tr td.selected.disabled:focus, +.datepicker table tr td.selected.disabled:hover:focus, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.selected, +.open .dropdown-toggle.datepicker table tr td.selected:hover, +.open .dropdown-toggle.datepicker table tr td.selected.disabled, +.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover { + color: #ffffff; + background-color: #858585; + border-color: #373737; +} +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.selected, +.open .dropdown-toggle.datepicker table tr td.selected:hover, +.open .dropdown-toggle.datepicker table tr td.selected.disabled, +.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover { + background-image: none; +} +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td.selected, +fieldset[disabled] .datepicker table tr td.selected:hover, +fieldset[disabled] .datepicker table tr td.selected.disabled, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected:hover.disabled:hover, +.datepicker table tr td.selected.disabled.disabled:hover, +.datepicker table tr td.selected.disabled:hover.disabled:hover, +.datepicker table tr td.selected[disabled]:hover, +.datepicker table tr td.selected:hover[disabled]:hover, +.datepicker table tr td.selected.disabled[disabled]:hover, +.datepicker table tr td.selected.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td.selected:hover, +fieldset[disabled] .datepicker table tr td.selected:hover:hover, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected.disabled:focus, +.datepicker table tr td.selected:hover.disabled:focus, +.datepicker table tr td.selected.disabled.disabled:focus, +.datepicker table tr td.selected.disabled:hover.disabled:focus, +.datepicker table tr td.selected[disabled]:focus, +.datepicker table tr td.selected:hover[disabled]:focus, +.datepicker table tr td.selected.disabled[disabled]:focus, +.datepicker table tr td.selected.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td.selected:focus, +fieldset[disabled] .datepicker table tr td.selected:hover:focus, +fieldset[disabled] .datepicker table tr td.selected.disabled:focus, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected:hover.disabled:active, +.datepicker table tr td.selected.disabled.disabled:active, +.datepicker table tr td.selected.disabled:hover.disabled:active, +.datepicker table tr td.selected[disabled]:active, +.datepicker table tr td.selected:hover[disabled]:active, +.datepicker table tr td.selected.disabled[disabled]:active, +.datepicker table tr td.selected.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td.selected:active, +fieldset[disabled] .datepicker table tr td.selected:hover:active, +fieldset[disabled] .datepicker table tr td.selected.disabled:active, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected:hover.disabled.active, +.datepicker table tr td.selected.disabled.disabled.active, +.datepicker table tr td.selected.disabled:hover.disabled.active, +.datepicker table tr td.selected[disabled].active, +.datepicker table tr td.selected:hover[disabled].active, +.datepicker table tr td.selected.disabled[disabled].active, +.datepicker table tr td.selected.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td.selected.active, +fieldset[disabled] .datepicker table tr td.selected:hover.active, +fieldset[disabled] .datepicker table tr td.selected.disabled.active, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active { + background-color: #999999; + border-color: #555555; +} +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + color: #ffffff; + background-color: #428bca; + border-color: #357ebd; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:focus, +.datepicker table tr td.active:hover:focus, +.datepicker table tr td.active.disabled:focus, +.datepicker table tr td.active.disabled:hover:focus, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.active, +.open .dropdown-toggle.datepicker table tr td.active:hover, +.open .dropdown-toggle.datepicker table tr td.active.disabled, +.open .dropdown-toggle.datepicker table tr td.active.disabled:hover { + color: #ffffff; + background-color: #3276b1; + border-color: #285e8e; +} +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.active, +.open .dropdown-toggle.datepicker table tr td.active:hover, +.open .dropdown-toggle.datepicker table tr td.active.disabled, +.open .dropdown-toggle.datepicker table tr td.active.disabled:hover { + background-image: none; +} +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td.active, +fieldset[disabled] .datepicker table tr td.active:hover, +fieldset[disabled] .datepicker table tr td.active.disabled, +fieldset[disabled] .datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active:hover.disabled:hover, +.datepicker table tr td.active.disabled.disabled:hover, +.datepicker table tr td.active.disabled:hover.disabled:hover, +.datepicker table tr td.active[disabled]:hover, +.datepicker table tr td.active:hover[disabled]:hover, +.datepicker table tr td.active.disabled[disabled]:hover, +.datepicker table tr td.active.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td.active:hover, +fieldset[disabled] .datepicker table tr td.active:hover:hover, +fieldset[disabled] .datepicker table tr td.active.disabled:hover, +fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active.disabled:focus, +.datepicker table tr td.active:hover.disabled:focus, +.datepicker table tr td.active.disabled.disabled:focus, +.datepicker table tr td.active.disabled:hover.disabled:focus, +.datepicker table tr td.active[disabled]:focus, +.datepicker table tr td.active:hover[disabled]:focus, +.datepicker table tr td.active.disabled[disabled]:focus, +.datepicker table tr td.active.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td.active:focus, +fieldset[disabled] .datepicker table tr td.active:hover:focus, +fieldset[disabled] .datepicker table tr td.active.disabled:focus, +fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active:hover.disabled:active, +.datepicker table tr td.active.disabled.disabled:active, +.datepicker table tr td.active.disabled:hover.disabled:active, +.datepicker table tr td.active[disabled]:active, +.datepicker table tr td.active:hover[disabled]:active, +.datepicker table tr td.active.disabled[disabled]:active, +.datepicker table tr td.active.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td.active:active, +fieldset[disabled] .datepicker table tr td.active:hover:active, +fieldset[disabled] .datepicker table tr td.active.disabled:active, +fieldset[disabled] .datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active:hover.disabled.active, +.datepicker table tr td.active.disabled.disabled.active, +.datepicker table tr td.active.disabled:hover.disabled.active, +.datepicker table tr td.active[disabled].active, +.datepicker table tr td.active:hover[disabled].active, +.datepicker table tr td.active.disabled[disabled].active, +.datepicker table tr td.active.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td.active.active, +fieldset[disabled] .datepicker table tr td.active:hover.active, +fieldset[disabled] .datepicker table tr td.active.disabled.active, +fieldset[disabled] .datepicker table tr td.active.disabled:hover.active { + background-color: #428bca; + border-color: #357ebd; +} +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px; +} +.datepicker table tr td span:hover { + background: #eeeeee; +} +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + color: #ffffff; + background-color: #428bca; + border-color: #357ebd; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:focus, +.datepicker table tr td span.active:hover:focus, +.datepicker table tr td span.active.disabled:focus, +.datepicker table tr td span.active.disabled:hover:focus, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td span.active, +.open .dropdown-toggle.datepicker table tr td span.active:hover, +.open .dropdown-toggle.datepicker table tr td span.active.disabled, +.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover { + color: #ffffff; + background-color: #3276b1; + border-color: #285e8e; +} +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td span.active, +.open .dropdown-toggle.datepicker table tr td span.active:hover, +.open .dropdown-toggle.datepicker table tr td span.active.disabled, +.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover { + background-image: none; +} +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td span.active, +fieldset[disabled] .datepicker table tr td span.active:hover, +fieldset[disabled] .datepicker table tr td span.active.disabled, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active:hover.disabled:hover, +.datepicker table tr td span.active.disabled.disabled:hover, +.datepicker table tr td span.active.disabled:hover.disabled:hover, +.datepicker table tr td span.active[disabled]:hover, +.datepicker table tr td span.active:hover[disabled]:hover, +.datepicker table tr td span.active.disabled[disabled]:hover, +.datepicker table tr td span.active.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td span.active:hover, +fieldset[disabled] .datepicker table tr td span.active:hover:hover, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active.disabled:focus, +.datepicker table tr td span.active:hover.disabled:focus, +.datepicker table tr td span.active.disabled.disabled:focus, +.datepicker table tr td span.active.disabled:hover.disabled:focus, +.datepicker table tr td span.active[disabled]:focus, +.datepicker table tr td span.active:hover[disabled]:focus, +.datepicker table tr td span.active.disabled[disabled]:focus, +.datepicker table tr td span.active.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td span.active:focus, +fieldset[disabled] .datepicker table tr td span.active:hover:focus, +fieldset[disabled] .datepicker table tr td span.active.disabled:focus, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active:hover.disabled:active, +.datepicker table tr td span.active.disabled.disabled:active, +.datepicker table tr td span.active.disabled:hover.disabled:active, +.datepicker table tr td span.active[disabled]:active, +.datepicker table tr td span.active:hover[disabled]:active, +.datepicker table tr td span.active.disabled[disabled]:active, +.datepicker table tr td span.active.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td span.active:active, +fieldset[disabled] .datepicker table tr td span.active:hover:active, +fieldset[disabled] .datepicker table tr td span.active.disabled:active, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active:hover.disabled.active, +.datepicker table tr td span.active.disabled.disabled.active, +.datepicker table tr td span.active.disabled:hover.disabled.active, +.datepicker table tr td span.active[disabled].active, +.datepicker table tr td span.active:hover[disabled].active, +.datepicker table tr td span.active.disabled[disabled].active, +.datepicker table tr td span.active.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td span.active.active, +fieldset[disabled] .datepicker table tr td span.active:hover.active, +fieldset[disabled] .datepicker table tr td span.active.disabled.active, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active { + background-color: #428bca; + border-color: #357ebd; +} +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999999; +} +.datepicker th.datepicker-switch { + width: 145px; +} +.datepicker thead tr:first-child th, +.datepicker tfoot tr th { + cursor: pointer; +} +.datepicker thead tr:first-child th:hover, +.datepicker tfoot tr th:hover { + background: #eeeeee; +} +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} +.datepicker thead tr:first-child th.cw { + cursor: default; + background-color: transparent; +} +.input-group.date .input-group-addon i { + cursor: pointer; + width: 16px; + height: 16px; +} +.input-daterange input { + text-align: center; +} +.input-daterange input:first-child { + border-radius: 3px 0 0 3px; +} +.input-daterange input:last-child { + border-radius: 0 3px 3px 0; +} +.input-daterange .input-group-addon { + width: auto; + min-width: 16px; + padding: 4px 5px; + font-weight: normal; + line-height: 1.428571429; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: #eeeeee; + border: solid #cccccc; + border-width: 1px 0; + margin-left: -5px; + margin-right: -5px; +} +.datepicker.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + float: left; + display: none; + min-width: 160px; + list-style: none; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 5px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + color: #333333; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.428571429; +} +.datepicker.dropdown-menu th, +.datepicker.dropdown-menu td { + padding: 4px 5px; +} diff --git a/public/vendor/bootstrap-datepicker/docs/Makefile b/public/vendor/bootstrap-datepicker/docs/Makefile new file mode 100644 index 000000000000..34b6ef8d4be8 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/Makefile @@ -0,0 +1,153 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/bootstrap-datepicker.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/bootstrap-datepicker.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/bootstrap-datepicker" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/bootstrap-datepicker" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/public/vendor/bootstrap-datepicker/docs/REAME.md b/public/vendor/bootstrap-datepicker/docs/REAME.md new file mode 100644 index 000000000000..f8d03089b672 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/REAME.md @@ -0,0 +1,8 @@ +Documentation +============= + +Project documentation is built using [Sphinx docs](http://sphinx-doc.org/), which uses [ReST](http://docutils.sf.net/rst.html) for markup. This allows the docs to cover a vast amount of topics without using a thousand-line README file. + +Sphinx docs is pip-installable via `pip install sphinx`. Once installed, open a command line in the docs folder and run `make html`; the output files will be placed in the `_build/html/` directory, and can be browsed (locally) with any browser. + +The docs can also be found online at http://bootstrap-datepicker.readthedocs.org/. diff --git a/public/vendor/bootstrap-datepicker/docs/_static/demo_head.png b/public/vendor/bootstrap-datepicker/docs/_static/demo_head.png new file mode 100644 index 0000000000000000000000000000000000000000..655b304296b0d06d29d3433e8cb852b3a83c2088 GIT binary patch literal 28027 zcma&O1ymeQn>X6HB*8tnySoPu?k*v?yK8WQd(a>uSa5d<5FCOAcXxOAn*85)cfZ}c z_ul6m4l_N~)iu>s)jxS^!WHEu-yq^40s!#ly_A?T06@_L00b30BzUB|Mv)l&2jwL4 zUKJi5etuP91$>KOFQw%K07%_0e-KG@NN)jv7Z{x^(f-)2>My-L2RX!SSGjEAB=5v#h;A7;fX zv&9KTs=AOmyOG*B%DPV5qeUf}amcacMxWr$lbks}!&u&aNcCtgI3GA0k~ z{)$bqx~;*8$hEecGJRi6wB*~=Y-wTwgCYV?5;S&I%;*O7_a&j&mmrcL@MRJNr6Kqc ziinB-dz_a-int%pLSD+K!v60?Cb!N+`9}@feSIt}c8?aD^KDT?aHqhSnIYn~_s=bK ztT!RRCn!9VB1dy*cuyYhSPzpUtzNr{dG3+*{BS->o{%y+I+W0JCnuD!xUAR1L{*-Sj;>PkV7K5aqu}J(87o-UcF_|odon60l3#r( z`{#0h=B2vF`|FwM=`~x}q`|YZvn&Cx;*yebgZ8I`>e1w89-5hQ1HYGAeJ+&1h8-lQ zq!?A=#3_PpjuE`026WqfA5+b;NYKzpoZCwiD)RI5dwV55=h_nm4itWWiLJ_CggUyq z^lmywTH4y452wEzoU=cRO*nJoGrG~C6dUUt^BgU;>KGWr+~cUaf)!t0Uh)-R?1BA* z77i^5S1bh{3m{Hx#)Ma^%5WuYhqS>q4KEE zbIZ-f*QedD`d){%_g|l{>f0F<22ng$3}5b5l5CFR4}tz0d=gbgcW$(oyIJ_!p7J$G z5bf;3LdFewoRqPbepWKcMaNI_m!n!LDhW5xR$VA_7AN-PBJgUgJ?aCC9dJ0?dmpuu z4;>vgZTn4cVi!MJPE^njTF%L0dHE|Cj8xGN)}_*4p&+L-8DOSy9tJ41$}uB|ft=r=y(ziSv(H7Wp^)#s*_ z9PvKSt;SAb4B3S);*TtanuZ2doYa!<{o$uipANOiu(rs+mU@kqp}Vg4MyV9YFE%)= zpZ+4kPFZ+<|8w=EuHH%}vcK*FxWbKaO*>f9q9OE-4;H00FB7pTGdlgsmejlm@jzD* ztASnY3x=pgNs#h>hChGG{yB;}=_`o>sPax}Bf+Yw9A8-5?FnVLeI$jCPqtM-$Nby_ z;h#JX0K#}U4RN5Gq@erMl$)lt`4+xs=UVK1P@$z&GZ;!s2~Ai_^vsbvji*^^f%d4 zbZ`PsE=>8YLfhuO@}-fGihzF^>O+K}8M8E>50E`sv?FU1(L`TxhacCQa2$h!(Gl96 zU$Q&byLNw{EUAZ8tuih+TapVi^Zl*iz4bWD)xoUO`PMKxm3+hEQG6W)vLxx>ezfeO zq@tQRnygtrIU-CpnMLv{mimmHfPnx2L}^F7OB@G~wf*DsEvK2vNvhr=N^cFMVIUZj z^?`N|_I&5VB5g7ll$I-xW(^>=zVLWdmize2uI5*=X>Z4cxd|}{U~C)~Sn1N8D}MXU zxo$JV&r}d8E>$H|>q_b?HqbHeW-R%Y_!e9{73AfUJsG&sUuHi2qxO&4ERA?@eL6io z{ry`h^d||UmZm1PUBdX7BaJXU_xg#2ob<@yYY5@MjAY>Csq)+xV#6};9d1<+Fs;C} znBocHFGdOh!1F8`mSXXvqeoaV*++b7z*V1NZ&9( zO{4y_ti_?wU|Tt1lF#@$byX68t`Y%^O_KVN51z>mGd17y!46ifp||QU&(F(D;8MZ7 z?|PZtisCsIa~~@!==oS#(PDlLE@rS}OnkS!>BB|N5^~w_woFwuQ&k39#H69RNmYad zS(7}2UpWEk-ykq1#^JMiZXRZhLb=+Kz1XFTtRM@p*8pOr-7lB7XvYF}u3`Z35iY;4 zyP|F(Vd~qNG;PWIt@V-WUm0s%u#4}bUhfPIT6lUhtgq_oN#3=5jE$$_@vt&C-`U@v z*uR{w=HiePUkHJ04V2|@g4s7>7Dy~_-=}e)@9(*0+pzynboYa#Dpw5%(52X8}~Dy!e> zsaC3<(o905UtV8Xi7E*|$+vpUcW5^vn9}+0ttm{7Kevl~+ zm^}AbtlRQLP5T1b9Z4NlhsqFqT7`>!9E4)5)TAej;o{^(v&0d>J>hT9EA!LS)60~ltj8x< z2A7*mJ~t$M?h1iYk+87M&CSVOx59wmX)Mc z+>VzPPsU4i>Ir>s45K8f>o(?UtqiO9`A9K*zq>Gk*?Vb#m3#(Ocpj*c7*xHkZ=j$a~N!rgTk4@W8$PXnvdJ=kD8CW zQ*4*pTFpkYeuf@5tB9m6KR;djwiCs)WGlOG#7Po*Y@k-Ug*T_#EX}@DqdqGMCqgZ$ zl~7UZGc+*pd2~Bra5F~W3TGNFn?M95$ei8td`m7#8f;Q4=a_?7ngquaQB*4os;W8>! zCMPp6F-1_(3SIp%nxCf)ayeD*<`XjEG(m}2P#;lDkExKTv zT@z8H)t>^uf{gP#yeJ|tecn9}7d}IC*fc?|*|qvL;J2#(^Yr@@%7DyPTEztv z*d24EH=Yk@l5zb;raHM&flM0Uk!Dj%&ksO1?3}8UI@tX z;Dsp4A1(h1QwYOu13R~Qq%JBtGXVKdXed?2Qy4Httns!9u4x`ae91c5$%SC|91`%a zdLFM)qGXJolaqvd1c2<9)oI*Vy;2`F&f{zTVItYmAD>Rsj{vuu-TbZxgz)&;(ZQDx zSa_|dU!zQ%J5**2#Q|KuDH-bPM{(|2#BDQ%P9v696w}I-V}FE_89wU6UzR|taw1P{(4 z(#7GMy7&Qml2KBCy_R{ikAI+aLyy8O62Sut#_CfR7`)#K;|uO`6Fj&AMy0u0Q>pNaLh|0M3{%!Qnh##G0P&*uBkN z3kS0ewbUo3IoRKBIYr7@{ldn2i7kmq0N9J;IelK&rf%4DR*@kCpmj+IiMK9$l?QtY zy!$W#z(WR|p>DyJrM40TrLXn!7||H)q-@YftPWYsHIt`YzZ~Z1LY3EJxpHu~*3tY6 z4enNKp?W2hk=jN?b0%ZfOTZi9 z!$!0$I2h)-Fl|USrbTTT9wp;c%#Z`lYO?OLwNeskq`IGfh05SK3+e4or*b$nDnI8QZnHFrcDq3H@1kyy= z$j%`L9U7fG07XX&!7|ve&dUA`=PjAeBXMxjO9MbhE)~w35ja4&Xl6eVK(U9-Bhi2c z5*eZ}g#YlcFbM~OXEo9}VM|^phw)G@{FV#cmM`XWb2u94aViD7?F{4M?dcVPp@vNc zjP+QQZWF7UgA~=Ez>=w6Fw3kmx~)?J)h2*~&>MD{`?@NNK2&Jfh$eSwv{p!yp z3z?MJ%+-3jk=It>@Zqqbj1cH3U^3H6Hkp@w``mIul5X+SEWD|-wMa`Xs?)dQU&=5et*3&ytkk+^6!hl6XxJy9AI z;1oT)fvPb5Eg4F9Y%}$;2LjK9RwCa9I_zGTP(u-jElFYp1UJF~;RTPYo4B8n(U&|Q z0hBK>u@)Zd{YRWIay0C`umJQsl&~N@GA>t36O7Wn@I0YUf;-5Fq%kt!N372Cv+k_t4Pt+Jz&0;AxEozRyK0z)zyJWrmfP#Bz4RzZ z`=fUgdyy>N57F-?=5*aA&4_rXSX#>D6Okh`d3}5ZIZ9~79-=!{d|Z_cY{NkE_`fg1IQ4F5xF)I@m{#L?BZTiV?>ZF(2 z%*->s^x7g=5CA#~vK%WRpVnl^KV#*g5p%Qfufi$f>0qQURM8WXHmT73*mR6ihD34F z%0vZEa@EY+ZdyLs4%pkk?~B5wk(W0u_`$=C`l#P`@Gio!>^9%{4=?1H%(Rt;-qcLk_GnFC>_Rx0;%poq>w|;SFuN8) z_=G#ads1LC5=!cl412qqx2wTvfB*&feY(8~`!)Dpc#ikvX(5RYd)Y?? zk=Q-6Q(3+QYaJw}k}-s>&b!KuZpB6 z)8FGDIjfa^R{iKTuM2kX8;{~Dm)mNY)(;FZ;RspUz3`l&cj-)@TH4}MuA*OlL$=w8 zOCY}LgT*jdHK*?djbq{@V|hFTCA^1JPEx=(bZ$7)-TiUtHw7BN@+tzx=pzy(qioKX zWC;L1%g>CnJ6O-C4jy2h`#35bXenFso!=gU&8A!{}4jG`;f<+wAw=nAuew~S zf^nbo*^;MJwLFVAdy>Wi$WGEWu?(+i)EcVB@hQ+IC5+ZBX<kR`u>EuhB-zN`$#du$aINQ+{S+vA!7=RoBp z*K+L7Jxt)+og0&0BX{nggIwhYXkgg!axXK>rMXlB7qDLn z4=0w=ZjzJ3z>a_d7%=^mGuEPhaf5t0nIwUCz8*`EdD3;`M$1gM_${9KV4ibjBCBiU z-rn9XBEN^9$U;B*0-5-{oV!I>fDhV9*G;JT)+PWk+Us)w#ZlHBI=1GuZVUUQTni*--s}^OoI?qxg@}L5-J(3CPls_0|d9-FcTb8%5fW%%b z+`h>>)04YJPNDJ| z!i#z`F36!N_=M}CC4b378b!5C#6sa_vua-%rk6 z98mgb^f=!NN2gk_y>{g+nsoiOvjVYGvwfW$k!esgLu*{);o6y@-Iil%tY^c@Y}RC! z5!e|^)$R7fcTz&7K>b~y2)`dDPYy|sG-DwKZI$mki0H8ewTyKf@sIf~`e|Pf!@MAE0 z%2hV>Q?9v0iN<$Y(>h(ZTLJJ&2?+_CwlId^n3ck%0iZKGy#!KT@dg6KX5)kU!7XBl=$Hzoh!Byz8S9KjRa?3sivfQBF>7eSO`t)z_xK>t!x} z@E$t~U#@3As)V~8E+(c4Rz?C)=Y!~mf)73}=9{0-z5i^nPf$B|fL+l17J``jtGez` z4|mplMZxDL1_C`5-}i$Z7w)5bh7!_croab>wFm1jubL^pck{{jRjZXL)&xX!uXh$9 zXncvdJ79bFhuvacKi&CttG zK#}^WB9JJu2oJm~pu)dI0&#N*hu86Oug(l592Mn)A>%<>g#;kH6pz>@u4kVN&P9m< zvf1S0hPX43p#>3Yk|Rq(0&){r5y2+2adC0(4^OgYR4bxaw>bVS_W_IDVG$xmA?qq} z9$tkrLpAIHW-Nk!SASNc?2IE12a4PR9L$zksDuM`Ax|gWTr3mZ!rk7>>111*Py?|8 zZ-KSWRin_*DR4HVgrn2!pUkFoz z01}Iv4X7AxR>)3k-@^!+yO}HrOn?L5zfFsukxXq5?gv!5y3csp)2@?U*<;Jm&_+X% zMd+c{krHjvTguP0Q%D2^HNB38RR+r~+C{W>)7J|66+c{9QVq?|BLDoNh$=Pfy`TDs zx*uZOqGnT7)vDJboZE6av@y1)5hJn}a85*{m2!L&ceWA<-g0)e-4rGLW-15LIMBNR zwUAb?>!Yr&uKn_MePQ$Hb#u>9{3p^+ZrAvNhY-8z>)1n<@Wa}&;4|yZUB6a@rQ~Dh zQYPXN1Ne|&8LR>oaWHEC2FT}ML=ZJKW1X-(sHDLWB9PQ~p$OuqmW^MrBr4CmCiFYV zDg~>@@ z`?Xz-L}R4D7vTmhsg`X3(>R^lp`jLTOdyQ*A^*=WV*+orB=by!2U@8ub%}rcutLaI zjz8sSZn{T!|sSunDo0`5K(($I`O#3zuNFAo&yN~xZlAlNNLqq zgOb4f_ky|Pw>%YIG35U^ZaLCo)M~T@|2iW)o`MG})sr0J-(?rfx@_TAnz{X)7lwBn?D&EB)k?mGTyAq8o*~Fe`6!&d$=c zf7&leVe+!;PT)X3HbSax`7vkEClK7Y?B_Xq-ZOj*mi0Xu)t~yN-4`n4q<J(r?+1J{Ypun+69kW>I}Tr)WiksNn#dv z7reU0RFN}|6BLZ#{Qf+NY6;Mbw>Lb5Ph9uDE#_wnvhKW%9rTd9+e63<2+6OwPEg2* zM-TbV&z3KC!B+6qclHMRo}yoe>&fKmj7l(1NnDiF^K!zc-{ygY}`UK!cw zC}=WlJ6bEbzxTTl`elc|*Ltq@C@M70CiJ{7^kgf0Bj;Fh9q*5AB@PZaRJ6*`pOf$M zbK9`8lT9Zrd9flX0JM4$-PZWHsTs)0>A@_e>1D*lfooO;t-$36eq}$!{A?=-%YDq^ zz>CtiFwoZqfo55=1_rNcC-o(K!nQ;zp#g8A#yEa^MaDXBp`VirEw?^dmDO-?Qr?HI z?(usm`9X{gfcJ-s3+m+%kB4#) zQx1+E(Ie75l7{;IG_rLrd0*J5b-LrL;E!Q93T9z=@DIDOx@4B4chLkDl82K)H5$ z_4NS@AilfJi#hUHkJ89$ISuuT-d^nO`o|iAbjY#lXlW?N0(Jt+ivx&!*)Oe5F?S=V zkg&8$6R~uQ7wRwG8r=A6lc2UCd6xAC-5FO^wC;~@w?CZBaKZRXreA)XQdgFmmO9FJ zuZ`733xk0xTpXkZ98;ACP}x(a{{-yqwoSboBTt`fauAcnSl?-mhoJ4X0QJ&Vmj-O=wKWe7| zAAX~+0shF%4{N5V0cFg{fNozkJRrx=Jt8_QC%vTRN{CNjVef3c1rh^_gqyo+1v}=s zlx}(iv`Q_#Q~$aufeTc~XC+!C)<4f8<; zIMCj|Ik}E5qUfeD4mg(Z?%+MJAYk514uA*?pTvsc_a*=cKfw5J3sv}d)E+5)=M24$ z7bZnm_u*8)7hV$d-5uyk`s)v~Y&*xot?25}4_4_ho+9^$Ja37SCIQekgbqSvM<(Rs zmwFkZ;>@U7~Q;6x$#*xzTxzpgk(TK_c_JA=>gRPL9I^5E@}{VIHlO zla8k}M2;{Z8XFgjV5rxTwE?ezCpuFYAvX9{c|Pb|+v_!6vPmt0saIje?pAF@N#|~@ zoMF{)w5z$MTqsA(pLAzT2OZ~{${!6Jo`I4u9v~B3Y#GOgEx3;MlM@w!iMb*jIFK76})Y&Xwtk9)M^)M z52%m}IObIDgqIQ)Q9T)M{W)pliv={dR`2=jv27`w+?f!>OuMM@ z0OB>5TQYp=xe(n~uU;J~aiktsovHhf3ETIg2T!%i=C!G1U7=?TTJzq=aghT4DCfS; zbw*=)BkhWgE-FyM3)>M8+vx@%m8=2PO|0!e{O*7@Zhx`-cqn1#=>?XZlV1Q36z29l zX60J{`NOh@f*9cMKE?xzEC@Y%5klUsl+^yjahw~VTK=sh$kY>#pmS1QE6jZ)y%eI$ zhVd0X!T!ol-w`;vHckz%nS>CId@3&+F9L09?^O|3&sQ#WydlwK48ML&DY@G8V`g+Z z5xbaZul9ZLNK_zC&TYTG^N{c%K0eiJK3@5>vE8;WgWwPC_PB?Qur=1E4Y+GED(Jon zNeCl}&Hj8bB9+25~!`q|m~ zWcPeK!kC7Tmw1PT06?4FMHBH1Rm~yEtw%VG7$@XeO%{E~sT8{iC9FIn3-_+A5s&U}Jfy43#=JTuM*E7`&E61=D zGk8hIui?zLd;%7cv)L^-R~oRDevm4;ezh<%?#S59azKI=%|cmzSC`EZlRTI<>3AX; zz&QGY32CfQg{4@E>;~J1Q9<;->B9|9hpnG(;g>1N#?E>Z7Htsmg!7C(EHS|c0K$%e zeNma(xG>p$`+DhanExf)0ThQ#KK*Ck*33O>s}yjq%S`&J&Fd78Ll;~TdA6=AvQ$C< zmL{XMt(OargZp2n@V*W==tFjjW1ROs_h2-JxR@U{$jGn~=T|jg(ZjSTwYY7ZsmHh- zJy>7V3(YIKwQn{{5j$6^|2N4u|MkBmUnDB2|0emyAE?EgqWm^u2(HyFQ<4TgGM2DG z604QuC+e130%6={TSfp{ej2KuV#9IiDURE7m&n-XN%<_=HDnjhslgDo_HWV_??|d$ zF$LKdU0SUEz*r{a*EgPU9`keaPIvx}TLiTU6xyN;(=J3G@=vmcZQ_GfKk8-(AtYuO z;_vQ%Livj=kOXBMF^`7ofvF1~k||O^_oFO54*E6gS{DZBb3yyB+`5^H>i*#{jR1f= zhO2|(Ty1#{OI#p~sTYD=x-oF zRYF-8mO*nQL+lT zKlFXD)Dn$Q5{Cf(Gj-ur3^K753#}n{LsN>@b*oO!zBP~EGA5g;R9{mElF^UiiE6^8<(N*(o>9Yl9lR2%CrK+V>i( z6v}wSSTFiv(IlPj7bs%)=b5UG-ws6h1gYSJgvwDSV>eLaH6Dq!-XkQk&=~AtT0yg@ zF7sO;^)*rZFWC#tI$FZc{!@1MMXf_2OjT8Nal4aqtPtX!=fL&g>9A> zZG(D>!mG0SBw?eY@8=@($g1H$FI@HGVE%)o$kf2Vz?`4@-vHC|(8I+@;~GHrx!CLm znuPj(k1niMqG2^LLQh{zW}E)T+}{92$zm{QMP}IagF%Oqcb=0MWiGY&LSH$hZaEv4 z*iZwTC{)o<@P#Ul$)Azyy&448k~G2v1%C@~(GvZe*ZGV+JMYO#RC#DZ3hwx&Nxfou zNp1^Lgz?;jyLj+Z6TFqO8AeRytw_UkKZ~2YeJ=LigfkwAm^IND262B7%D`_rrm;9= z18O(As;<<(9508p<0bLsB_r=|s$38XEz~~@FK7UGb*@zOK-<@Pxtg*}PZd9VOr6<` z2a#1+_PEkLQBHlT&j8j+3o#Ou6Mv%?Yn6!vvQepNfE?jLX8MJuPVaV<2e?;bfz>Ag z3CyZ!c5;3Q9BLcKQ)()g(-$e5Pxdd(f&h~Ole)RWp#fpc4#d@8s>a|6<|#i@!87{z z&=zP&5h`B4Kd6S!@eVrF!>bzvSU)50Ufhs|&e8 zrVCCba*>G_{8alauGdu{%c$3m z8h%AWB$n6M_KGB^uFC_=Rp5;XSHz2rj&T?1z=36Kz{V)rS#Psh&N@^byQgI3U;Nk&aH~DJm6XBcHaWcRk5v0Wd#*HC5OPT$>U8(b!`BAc%U%}kgOr4Vz)Fy2tJY_BurW@%W% zW3jIu&gu%^H>>J$a>8c454^=$87H4>^jVl}Rzu!F%) zAKd!Ydo3}8nSHa7NlHw}>25bA%CFKOzQtwTz?8{vjSWwYojg}VsI^XG{^=*wWyQrM zcA0@elwf|`W@Bp=j6&;<6K{D>{^$laTeB=ji1>QTPt)dcM?+zXzzVCHf*Jbu*uiXR zNL2`WyC>=vWA2Bq>s&~ei?@3@p}x+Mx3>n*r*7N9%L|KptF{$i0KC3iDTjn@EA1*9(42gOUL zUp`7Cy#}b0mZ^Mkk$Cs0%NlTwvB&6{xyf0EV_9}rVh?eaZL{@=I`h2JDubrk;va89Q3`i{? zI$TOis2jXe)M4_H(DI{mrduB5H+kcGelGR+E-9c4rm$3_5NW*L76WC$?@gA6sh(#vPtwwy*^PB~`EuxyQGo zyzZl8n?FMzbJV-YhR&#CLlr4Y@41QfPrc4`6?-jh&rXkL--A;caFKybkyCh)EF;ZU zL@pM9pU2Q?XbMO#(PMwKdJKvPtkKdRC}I(LuUVRVD1rv(&>F6JwNm{#oPCXpD z0Y2qekY2|gWILy8C86Iiity>3qDaCEU&N(th>1p@=f3 zWP7le@SW?8s@0Xj)w3;1g#Iyi8H`PNnF|P!pQpJtZ8eB77g*5aixCQByocT<&|-eu zj;GF78lF8|Liq(nbjf4QQX4lEwgQz0YZD{TamtVFD5sgn8$jh!mN!<|xqA`*R%pfX zUBvfq6Gaq_@;KN{utO2|mJt4eH^sC!tCA}1SO#%z?rR_7-ZC;Ys5aW|aZ*-wY;$Q$;o+@YW$w<5oG{rF!6FL+;z?>MD++1>SOk)HSg zSF-Yfv@y4|d*vbXes|6c9fx0^Q<$(5VlWn3^dKZ9P3Olyk(3K&I7xZUoW8Te7xr+> zFn<3iq*5)o1j3*v9za8eHF78BOmec@LUAQ9`QsB+|zhNc^S4;Bw=A# zaDa)W{){6&PeE8f`LaI;^}84yS`snB`v14u)e_{U_rIuJBlJ^3*CD$+nuv|QyUrd- zRP0s8Xkj*)_W{S_G8+>As9hUZK1`|imm0TUABXLH)kRw`u?O0p2PO7rL5;z!#O+X@ zn|FW?>=wFI!vz!nLa&`ki-@TY$A)2I3>JE~fuR51ToYuZEZ3`)9%nzsQDa#O6k|{i zf00p%?{iLY=rhHqefL4_S7B=&w8QcKTh>w&Z7Y)Y??X}sxumC;W?z>+)G&qLLr8U( z_3W6c6@S?5AW>`8tPmmR1{6Q1ye7y5<2#r36~ifqvqLEBUMlvKGRc(yFeydO(Xq_u zn}CuMi_rG=6k@-kz@;N`|A?-D&i51r!5@f)M!7+Lx=+#ACp2+vT>i}%oR`;fcKGu) z&VrXOy^%O)Up(ApbGxpn4BT8oDF*I~`41VX0Ktmf!bL&+A#((WU+!#L&hS{pBW04j zE9Lnpu%!Md7~+&!hM}}j!M9xWp>^QTEP>8W2A2GA*MErZpiG$v^0%8AXcr2T(=$peo5Dk(>Q) z-`gKYl#b>TS(hvpD8qk+D_>qikJUuHe`wLIWqKBxP7S2W{rZ%7xjvfbEkcjCg?ss_ z+Xx_ZPb+)7@) zgRHbw?fLZn#g+0PmreMb%uk9Eu{U$;7t0tcTSK+Cles=k33kjFE-RZUc8$86qle^^ z{Bt*JC36qg&{~0m`jZ4r-nT>rzL`Ox`2*PV`ivXU@qcBJ6sFM@H$DVpnIwktc6!3m zq8C*}$l+;?3liXOIS$tF(-fxBs9R}Q9Oxb_Q%Cjv(P_yBG8;_LGE+rU5LCXODixzK z?aJ!AkI#FlMqcc$P8=Qr=ztUQ;B`sK!OV>rJn2-(V!RH0;d$^NQ%mZm6UyFxR=?dK ztL0c*Bt-8KoF-rGm$ZC2Hh_Fmyb2big&>@Lmwz_!%6a1__Q2xj!>bbF>*-Jf-|7r0 zEVpKBpb&K>d~Xg}p8xSP+PQoXO0n?EZVi@pM90#JPvymE{b>tFS&h5x#&7=Gi%1W& zVb?Yi@HvP<;2ym07SK?fRPAJqebD$9i!%l<+V}Hk96ai|94UnGQ&?Gmj^=#qR^DqqcCF*#;RNA}@0!|Udd zf7E58(Jy?`oHu*C2O#TfU~uv~IjM=0(=dN{J-j9ADq|V()~f(Yyv9q^eq^f0c5IW; zL;xQ29OG01UejNOp$woBRb5_klkzYzadK}HaLy+^Vwcg=>o$(j)nBKXy&6hnh29o5 z+QR+*+?5m@+_+2FYjl*3g#N0H*7|LY1VvAVOd<_8_F4DT_7>K3q}40#9%>b1P{%V$ za@O81(`{s5B9Xn2gLW4g{$9I&jn`st@lEa4w4gZAOyXtZ8xO@m#|b3_{AL((WESBj z-+ekoBLkBlH&Km;d7eH+9zY#jH_?5A-wEj$K;K!A86ZC|rUJ0%9rE`F@slWn4q)&P zQ?KgA1RD22W2BK#knCAGAjod@Wter*usECJrsW#bu74R^nim7jttY6ZbEB?)d6)O2 z^1nb%?+EU&%VEv?hg!`wm<`vp?5reunonEC<}>8v!yMMJ!D^%)PDp_HnnZ7gx2fj;>;)dZtBvstr%vibXDAXtoU#xxyU1 z`{Yu-fcM2OGc)0t9GVRyV}y}^u{s)3s6n)h|H13dg-pLR&iA|$K?YRB!6$P3U9Iy#JTVzvP z_f`x%%bI&+<`Jbr3@P|!PYQ=dPnXAh8iG5z?*-aUlgUH9U^fu?>?!kieo`EQvKyUb zK6<9luUXbHy}r&$x&GJdU?#TAaa+Hf)(;Y8C7$b@v0R7jKoU%50#L?WSns981E^D_ z3!r9XNhB?fsr*rp=N4qI?_V-7@s*p0V6azBe!*EYGUMQkI~=PF$f$m^e1sp}%(r~( zotJj_qE3IkUprFUcbjcgQD7(Hlan1de4Y1C-cv-Ar$RGdU($VW!9A>Kh@086P41^x z+(QNT)(PqkNX=3igCAX)lOseeam9St3hwX7k7M3`e$4+qK%zERV?t8WlV79jt-%mz z-oe7nkEw`0cQsFipa@gZGP^DsbGUfF`RsXSw(QfoYKf8FMko2_6C2GtB1Q|i5e)C@ zP4mzdsA)rmegAx8zdGZzkrC4ZwjogmHjUh!A13UkcvKuib;7?p#JM4|Z<1xGi)yr% z?Ns|ggLOB`v4pIzzCXEn3j-!n-nn}8q0_KBZaMZ<%tPV%R5#>)S0~s!KW<}s&>0O^GqVBy{s)E!6C9dB|}{kLgkN5*&9aX(}uVRd&Kiy>z! z>-2AOaXtrb$8xY+Ms+;@(K53z?QkqB&j_oWpD1+}B>Pxv-l6{5l(9j*Ipxd_@#>_z8MhgKjo$U8UbvTJ5k4M%f zqxwavOKZH9dr!Q@z&StftE1soitl-~+WOqgd9lo=@w7VnygeV&QqheL(g36k+|&Q~ z0%#d-KlW?%mTXw!_iJeqt6J46M&0xH0U}q0Vf)g<;f<}jtfU z-N}+Z^4N>N<#+gUaxdi?=P{+kU5A3cS$6HB5uNvblkRa{sHrD^kCUq19vKGCD)GVv zyI1+t*D5#+hn1Z~M21?)0*>Cy)3&?BY``{0+sk!W4lnl=#2q)l1U-N1B zM$quhWwQ{&ecAjtk!y$B>jy^CKw`1m4>C^Y2j)RSL5|L^`1=eVMcgEbO@80V*qskv zj=E%75fQtss7y~Ag=Gr41eqWcu{9??<{iE+8lwT%3^owWo2mw+F;`C84GqO2XBJ=T z_%N#MI@?=P{;?sMpi|lO?ajF^FEk(FnwT+5ZWog9bmjTr^vN)h1P>#3WEFQOt7Wn* z{@owG-)4lFQwbK0KWxmYKXMZB5utt?K3qJMt}iIGx-%j37tYqqUWnIO4BQ!Ud)_v9 z9G!G}_oWr>F`eys{`u6w_$o$cv7H(loKW-0g1Wc_4Ijtm98x%AHhZ88RIz3P^8aLO z1wa8kIHA_PIpfgaau5)x@`BDQ3$wLIp-Ne!X61T9N6tEFK#VR*dN&<58WdjZyIt2j z9RrU*k;LhC^;V4)5nOoe60u!}Tjj+0Z9mUI2g zE`X8iHJD2EqgDrZwXlovQ#B?6MgC0<6U0$WHzk0Nfycp}Dd?~c zr^{&m+j`WQ_I-cpQ_rzxyZ22Lk;u9nll}ADmE(Hp^YwfQm~%3O;JPAPSA?t~1}6b; zQ?9H}^@E(+v4>RF_pH{j`45{h%SWmjugNho?-ki7uZT78awwZ@dmvMywj|h@LWPG^_BNc zu21c>2Dk5u7-J(qnGYq<$m@B^Ehxe7y#=S+ZoTczq?ZEt{1 z7K6Jb=CuzgX(yL~h0-w6zwl|AvJE<@oyz>gs?>4}eEE5b9K^1_V!qT}?uqmA2PrOA zFB8MnfrBtk?muR)&|i%-(wo8=wYi%Z8roK+R9;@ro{u7OA6Lwl9kkoOlnmByY@Ok! zgGJC{V9eiK15qg*c1TTUcoCq$=$@<~Mt<|1j)9hy2#;-)`7f9qlDlRmbXs)Uyorm^*$>BWsZ)>DG;UpAd&N3f|cbgRiHxT+Sn<&#Dvv(*n^$8t=&qhtEppoYu zoxPg1!7MD+q&7XmGqE#ppOp>aT%iW2GD_zhva<+E#=`mk^LWK+DN>WXeeh5iHhz<} ziH?fU)-N3q&3}mDJoi#BuFdv)%8mZ}dN3*cCU(l&j?;}bU!m&+4fBPRz~&#}kI_D! zgH8EtVMvOkA#7w0;*~~x)bGJL@Gx-tD>IJZrJyZBHb@EkJ@3+%341;7)L-A-KDHu;9T$@B|3%1Pczq0|aZ_g40Oj(2cyq_syMI zbMJj`X3bku|J3SLb?VfvQ(gPFe|w*Oc0>rensGi}Pxe|%2B%4U_#bM><8iO_ouqK_WI6{a#4|YS38Mxqo&CD(kJ1D8(;dm& zX4ukFPo}FQVpIDNVa8uRu^eyyz^3r=zOc^vji~ zA}(XyLmq2v-9zX9kmmFC7al5S5IcfKQe*lTlY^M!x~YZ3#{OLwrJ_E4WmYWWPG~u3kBBR0 zZ+&tsCc%(>prxyd6GyGj?+Ji#k`vZ;38Z75CX&j%RY~xjQ!Lup zjYKBs9E(zA)bi!tS$}(=oT7gk2H=oP{o(#aN?|p<(Av<%!{zZ`!B_ZTcUB2sWNRLF z$a^tmCQkY}=W|Ty#Z!v$vC9+9Z^1c=Wgj|GNW$EyL3G;(_CR`+MJv)w_FY!VqQQVU ziu@V&)1Jjv1t_oCz-P7PQuaPjOdSA-{at7%1eIL4AHkR4hBJ@0?ik{0bqkBsx3$=+8GN~YJNuFP8g_FK(elhQ%+I3gcgFS7N7i5C zI;(PpN1Rbq5wmxWFWPn|JAs{(dT)s}CMQa5>W3m5r^5U4Vjg95C*vfb^U&JKi>+tE z?%}3tif84s^va|y3HS5U0jtWrgo={&ZQ@SkiPi$|bsS8rw z({#f2$%@e;t#)&Yu=W95&i*$Gx7!)DE4NXG3QY>)EL#WiwKY!R*GW$Q!o)sTdg%XU zk?;7rl#SzR-yN_S!!&uioiIZSWf7<;zqiCo9fQ;-vYm^n$Jv5|js_>&ky$KGwvZ&@l*B_jZ zgUlBckHtbI=KAH#gftCk^$b%ElZZ(yEu3jdzP%q}88EVAARz>can&RAl*ZZwSqR9B3t;2>8ynTc z{W$O&x)=O@L@xvu{8=!+Fm~(|-aL<0Y#5tfuwA#2sYZkO>VV{hc;&u^2r!r-5)9ev z4SsCB;ZYb1Q9}hv&ULLM1>frUcWFUKmqEH zPv^pcFj@o)#Q&sOhW1TLe*L|)M4rYAj4Y4MZzj^!(<6BcO3$Yujptxv`#t&u0U_kDm%#z` zgEWl@(+i+mBXU*^#p`@{WHSXiLTfx1coA$%j!5;1 zGYCFR^ow10K;wfd-k3;&PKCS2=RbqUy*YA_a-D=cGMqwgX!v^Dj$Ld^S$=+gSx0I6 zY|60yiO?ADO#hhuE!1bcCC!X%lo?k<{d!olc@d(?0=x(OxF)U0$MI3r9b}IxCQDfow{T$`(_L(g@7lF>_-@!`ZdpzYj6v|MU?M4Lng?uQ=&}ylQpw z*0Lva@Ux@6G8S_kw%>1l9A|ltDj| zuedud8`+P49O3i1Al`8hapmI|b=GZ_S_}#t+#=l)tspElXK#cVNx-Hu=s9A&Vy;;p+1{ z6Oscd2}!Yv-aj;t=Mhx$OHHoI+<`0#7peG&A!0%oW z0t5HKgku*V=Zw!e;y?|t4CX>3cs*{iS!rj&?MT!=1rF%6J%8xA`8GtK#L)%z0WoOQ zJ$gIoIqxgAiY7AM33!Xd3Nh{Wrbz_(!4E=RUZrQ1En-2PK2o6976$v&@2 z+Cb~gQ-|K0_PBfzNMk`0Hqq>hs+{ZlYL{58MpC*4&G(IG%u8L0c&hJ%a%bYQB@EzR z)q1dX`?hvnU-JU-d9lf&byD|MdY}C>spmk65*K^^{kwpjO$5(^aC>LdDgoXHJYonO z_UF2dDW+8Vl7cVjd}=&+N<}$dyANR2p-5(+JhVvY8}YPF>|S&;!2;@tN~ahb=bn`# z%Yw{)m1B%2ttDge15n7T$*;U#EI?0-h)@qsLB$@95ADbxsW;yi~yczqFh-Pzz%srX{Pu2V6@`CwHY$sl@q?H;OvQ%}hxwJUtIj(Uw zdHbSM(>zmv`AwwGR6rEc{=}}gSYu@5 z{&1z5(yw?j0U$A!Nk_oY+3lY{@0bWpmN0+`dEbynkTkd$?v1!Mr4^mssfPnY6ziu)v_OF-c z8rzkKlQ^fnp@vPKGL#rMUja z*O@JE3_XWCmy%x}E6zo>J7~e~@gs|uujKe`qY9^B={2+5cVG$E{0GpzagOaOZfZEw z!=2p2){cMP9OKWQ15+YwzpSgJF>{}%^fUA}@@s}JM;;UD0`%$A6%M}l;&%Fc-_+1>9mR}|R$*INe)$Qck zMsw>gT%2pfuujDykZ`jcR{Q9($twLII8KscFGwKj*sxu7-DKa7GE(Ac_v#v!{2;2n zH?7b~K=a0@U%icDh}eOVtbvUHG+!PVEJ{tc)zK-vzISz(lvdOOyZ)iS*KnTrME{Vi zGWe*FXi$2+w%QR&K`(Vvuo~cBb&2XKhXF(i51kw;@jA$^g1u)d01p>6m)FjptuJ3y zvkuhU>)mPMj2*m*7aa{4SX168GOamAIbRm;MHL(OCckj$aanXm9wz0*kz3^ zoqU`B{oViM$X%}UKvSS8YeSb**1Brb-+vh~6pwnXR%A|AY0}wLnNXE?27BLZU{28| zxJlPi-mEp1DjVQU@H|kp4OI5Cpihcr?D?UAfli#9z;%1a*rdM{9u(CGIpRFQWQiB? zC-1xbDTrE;iY!)Vhiuqq-hsRiinqx+mPU0AJ+P>yH7%*US{c212FP(V^wT_84SS%< z1y@J%kvybm`kj$BzYag$t4T6ktp9gVfRpTA7{VP7SyNNTG#vu#YC!=k@W0q&3Q$ud-O}SDHPjoI%qzA zY7IF%9CQz_&|34>_8eLcav6`*V8QingTG(-bPsa>Gm2uqiC{7lWUdm^Sq0L;NvU?0 zXhD=Kb6zBv2vXC5;niwKedk_1^JUs!p^nD$+ zpK=8g8H<&p={iS0#$mai$;jcJkH7Eb-gpL1(=TMfIIBc0u{6@6fQ$^{`!&pYmw zW-C1x?W%pf{d*9+(4r;sC5f97OWDiWaZqAqwrVAceW-Kzcyl0RUM)u6KQbGFaux0y z`ygKvJOj5X#OJ@C?rRK{5K}u9zV9m0=sc_A$mTfN6L^@?zVLpyLEgGda9*|Q<*2Hg z_qg@hZ<1L-!(FmH#^TT6FTT0lr9ge!rXZNcm{#@pct<X8X)w7 ziK}$9lpsJSAASUMa^r4;a^m&oOV#`P3D8ghXkom99F}+(yn8F3v37l#B}^dDq_Jy} zdY*m2cI*SpSa;G#W6w^IbthaAuo^aV+iZA$TvCA<8Ubbai11w=5xyixIt04jt4~gI zyTuut#B>8+edv%LB6&<1850w8`&a@ZBmuy0!L4udSSXhndk#V<7|rXE5j4U&0r>o1 z!um#J`Dq!}l=Wg%_T255M7InZ}fSRRAFFNX6u&{XOzG-ZWL7! zK=rT2#TQ24r4KJoGq*2SW*IHH<|X}+$ho12S7*93NkkphJm6bBDW1GwKj*F+3%{g6 z%o(_NRp|n2xBvXjK;Y_1;Irn*NAwO&SRY*_PUBK7#^1bX>TSYK?V zdMU1Vy*#8ncymVdZFuk?7S$WY$@iC)m=a^aOvS*uK2`XstkmZmLZ$nDzfI(Qvd=Zg z_bN?o`yVdudgP%)U6rAz`{UvqMRgHo&9wZB3k4Cy-cIem%X#XMX&((6gjP)-yXIAr zSL9mi4@Ubg(AvcL;u%6FH1(S7?k<#pFf+S#T7trgitn%A5Gp^jo*O?kv0G~bcgo6v#K9C<ptA8O4xBqcytL%jiF2b8j^xh{I*Mam~_km5i z>Q>xm_3n<6%XDZ2eg2;GEK1}x#H*0Y_hF@?Ll#8WCoA=})E0K}Ebx^SnmS>s-N@k2 zLEf|^IU4BzK5>1IwLv0KfZ3~~z*k&Qk5E~cHt50ill9?Pn;j<(Qft8U#*Yq{{My$i zle+`z2oU1q^8^y_?t-_C7|ANqDM#643Y1o{bDc_@I>ZRzJ#XuWy!@TWo-v1WiU}Lf zy7)oomnJ8F736O3|45jiw_884LP<1KZB2gQz>f&_?z6Ky`U~-JW+HK2G3;B>x- zzpYeC!*AWDWJ{MV9j+Vw)6>%<>72f~AR{BJ2+6;xggsYBnV9)dq)$a51sY(kEu3gPT2aRD*U~7az)Z9_~CZ)t*QzZ%WHb+e2FkpmAeuWsD)XRPF5 zt@4B%J~<|yIi=Z_Xl8S6nmG#)d03j$|Et-2_g>kR)kh$mFZR8aC1E#HJv1_z)DZ5chVMJi*z%(qS^rQ*wUWg23q+$ zbn5UczuPzC(FsY!& zH*gAb?Tan8_4b4y3Ehlyxnw%>7Ag#9Hl+M6#-?9fu*Qz^+F*>(R|8ukZ^Ech~G=8uUcaRXKOEFxdLelR-zj_Uo@f`r)81E$~058s$3>}jq< zJL-@#k?Pj6pez!F7nHJ}rfPB95LNVD5%r3j+T1wgsE1DX90ayl9b376Wz7 zbCMBOtF~K zSYlfjhVabj;wWIM2_4c-(daICRow&fa-u41=2FAnLtf~wls^W?}IIaNz+dpbrBC>L3W5xV~_iQ(L=DWIpa?E=9 zCs`3vQVu|KdWAtVAp9wo4P^bEU`gLi_bR1P&oq>E#@i^4GmT%rXHx&^nf-;`al&Rek1l5B3dkNc#lBXO%BTD_r0J9F29943 zf*biEuKn}=A02Kwc@7KL?}&QwSH@#gd(z?*ztuNnUi4uBEQhDn#o{s-b5!-INR*6} zrJr})3Is4`(8IPWuyE6OZ_L z3K$aE4E09D@DW)LcS0m!w!fxeHAVOmzt6z7b|gGAN@-td3=x0!Xc6lMmgC+~soQFo z-VOVUWUG@2@*j;MDfoIfy}8~e>L-6Q_IYI>$pLSSiG(3&b2v4RYJE`m!@X-R4}*7- z5%l{^W@~_}+`BN#Y2gOqfIA_iGwE+iFlP}ujMWQ(<-rb?VtJ}uSh4Qi7=rj3X`0`x z4ZbwN37;N4+`e8-|C`zVfs8~g*=6os6aR@&xQ8EyF%x*dpvK&RzO8eyoV&1Qfewuk zV5FWbze&?cfkFPAHELi$OVlq6i64OV`@C6ePlz=})U0!kHUIv}uC`j_Qu7QObhKU0 zE*y!MU&@Wwx=bLlZjOUmTA}!ZfXVFIDH2JQM)VGeK?4jG(eFZ_dZxG>^uD-$tIj{S zSz_;DbeLLdVC^aG2(f_(>EeR;&2EeQG>ScBuV@qQO%R##uLSyT1c4+PIzXZ4oq`nQ ziN|yra?gWjz~>idz8cq3Q?&`;vP}tbDs`Wh!??=!L)|FVXldXSTbWNj$M4@Y9OKKi zyE!k|0TvTD+NvzSRc6)CHFK)no(Fuy%jeb`_i!0X@JoRjV?NC`@`3%m!qvbEbNd3E z{NbAl6^H*OG5_1?7b<{_Lmayp05FU|g;|4+4Ag^2k7x>j(|=LB2qA3$Uz^{`e`Z(4 zITvT+nRUmSnRDsl;aUs2SEM`bx$^AKd}(j9eWrGdEtsdwiSPT>Z*_oA+aHrDvRZs# zqr>@F&aOhvCYNO84DPg3KAWhdJbl_*Z+?ZEz40b#u=DC3(LBB*b+Y;Cal^>vo&b(I zxmT4WqBA**F(N^!o!&l@2^0qxOX6f)?nB$#N_g}3fW|E^B2_HiVt52HWozI&6Kz=` z-Op|Ic}#pkIt9#BZL{;%O+hl6f=RARD#n_kJSxb2n0z+XqXbqlXuNHn6*vW+-!0lqc77D9Rj4dU^>7}Th2UD_( zw!1?jOxjz$O_|o70L~&BV{9eEuC^U;`&vhyevppQ>la9BC{FWYatXihZINE^N;?&s~rW-**ZNY1!%8>I8d)wthjI9`}{r(2% zdFr4ROmWf4b83C4aMe78)1kGt$B_|Q%GL4cK5np4Ar*j$xN;>mr_LcW!9)N=mp>jn z57khC(I!fNxV8&8?aibGr5-#hmUF_!D)|*9@x{N7MN~xmO>?h|mX!NT44-(9r^?*w zy_1B{o}cYen{u9=Ts9a0I9V&&$kjDe^W8^$?R7YpSc0Z@cd~*xc5ObykxS@;ipBD( zS)S2xz0_Q9&iR&$r`lpm(bwWlVV%Zs+OQZ)?|>h6`CBFoUIXK9-ge3&?K4gW1!l$@ z_VMiZNGnhJkQg#b%oH#L$+OYwgzpsLYb$p!q?p4ngpXui+i5isLlVLR^T;z>9_isV z&R^iUW%oO9U6Tpf4@L^bAi2+!zV~)8->bgX>cn|YP{F0sWzDhbmDp%fUUi$NqEXy| z`g0AEAMck(ST@EarQeTGVQQ|(cs;aEAH7F1k^6zfKvH5hgrQeuVS<|lYt2TWf_ts> zF#b=hR?2r&rSb2u8fa&9a3!@x(zBS#M4Qn1^)tqP z-=}HWJ&QxL+kadIOA$xasN(F)B-pX~?NlY}6t69OLI zSxT#I_pVnWrgDSBfcLnNt_{EOvY1_qWoC2J0wwB6jj?!MqNP5*ZdFF;JYox{A;38` zI>#<1`TF|O)6*9e6mXif;mN$>F-Mw9W{Mfl6(ggdU}t6?0waY1{h5iZP!Svk`h&Yf z@E_AJ{AN)nybF3bI5=2ZGU8QzF@SyirA-h>)MBEpo@7v|!;*GWz6q=mM>-7G$K2~R z&hXKrPn(Hflr$^fUekafCGFFvGOeu zA&+EQ3RF?=mbAXH>gS8Btu0G7u8+^{Etyk>2r>E={8EOp*nr`)+{_+_=Ld$bd<8%Q z$Bbx-L}{8@K9mtGi#`L_;f)G*Q4&2{E)gng%Rr!OU1Kvo;69(Fhz1;QOOBy&vFy~f zTbqYz3}?DMKripj!N--aSPieVr_h6VMBn)zMu>xn2V)v!HyUQIPV9e??&XRF5d$~Z ztP>GIpn8g49p1;u1v~;kCJ30gg7>4DuX8)Q>!J9_f&@1Y)-RkvJ|S+PCo|bqc;Baw zbBYAkM&iH<^^x$JE6Y{>y6I9sQp*DJ`VN>@pmzW)!N=^Z%$ literal 0 HcmV?d00001 diff --git a/public/vendor/bootstrap-datepicker/docs/conf.py b/public/vendor/bootstrap-datepicker/docs/conf.py new file mode 100644 index 000000000000..15de1e1c286f --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/conf.py @@ -0,0 +1,248 @@ +# -*- coding: utf-8 -*- +# +# bootstrap-datepicker documentation build configuration file, created by +# sphinx-quickstart on Fri Aug 2 14:45:57 2013. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +#version = '' +# The full version, including alpha/beta/rc tags. +#release = '' + + + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +primary_domain = 'js' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'bootstrap-datepicker' +copyright = u'2013, eternicode' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +highlight_language = 'javascript' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'bootstrap-datepickerdoc' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'bootstrap-datepicker.tex', u'bootstrap-datepicker Documentation', + u'eternicode', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'bootstrap-datepicker', u'bootstrap-datepicker Documentation', + [u'eternicode'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------------ + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'bootstrap-datepicker', u'bootstrap-datepicker Documentation', + u'eternicode', 'bootstrap-datepicker', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' diff --git a/public/vendor/bootstrap-datepicker/docs/events.rst b/public/vendor/bootstrap-datepicker/docs/events.rst new file mode 100644 index 000000000000..4423aa1e865e --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/events.rst @@ -0,0 +1,48 @@ +Events +====== + +Datepicker triggers a number of events in certain circumstances. All events have extra data attached to the event object that is passed to any event handlers:: + + $('.datepicker').datepicker() + .on(picker_event, function(e){ + # `e` here contains the extra attributes + }); + +* ``date``: the relevant Date object, in local timezone. For a multidate picker, this will be the latest date picked. +* ``dates``: an Array of Date objects, in local timezone, when using a multidate picker. +* ``format([ix], [format])``: a function to make formatting ``date`` easier. ``ix`` can be the index of a Date in the ``dates`` array to format; if absent, the last date selected will be used. ``format`` can be any format string that datepicker supports; if absent, the format set on the datepicker will be used. Both arguments are optional. + + +show +---- + +Fired when the date picker is displayed. + + +hide +---- + +Fired when the date picker is hidden. + + +clearDate +--------- + +Fired when the date is cleared, normally when the "clear" button (enabled with the ``clearBtn`` option) is pressed. + + +changeDate +---------- + +Fired when the date is changed. + + +changeYear +---------- + +Fired when the *view* year is changed from decade view. + +changeMonth +----------- + +Fired when the *view* month is changed from year view. diff --git a/public/vendor/bootstrap-datepicker/docs/i18n.rst b/public/vendor/bootstrap-datepicker/docs/i18n.rst new file mode 100644 index 000000000000..d7055fec7012 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/i18n.rst @@ -0,0 +1,28 @@ +I18N +==== + +The plugin supports i18n for the month and weekday names and the ``weekStart`` option. The default is English ("en"); other available translations are avilable in the ``js/locales/`` directory, simply include your desired locale after the plugin. To add more languages, simply add a key to ``$.fn.datepicker.dates``, before calling ``.datepicker()``. Example:: + + $.fn.datepicker.dates['en'] = { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today", + clear: "Clear" + }; + +Right-to-left languages may also include ``rtl: true`` to make the calendar display appropriately. + +If your browser (or those of your users) is displaying characters wrong, chances are the browser is loading the javascript file with a non-unicode encoding. Simply add ``charset="UTF-8"`` to your ``script`` tag: + +.. code-block:: html + + + +:: + + $('.datepicker').datepicker({ + language: 'XX' + }); diff --git a/public/vendor/bootstrap-datepicker/docs/index.rst b/public/vendor/bootstrap-datepicker/docs/index.rst new file mode 100644 index 000000000000..03ff9ac639fb --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/index.rst @@ -0,0 +1,122 @@ +bootstrap-datepicker +==================== + +Bootstrap-datepicker provides a flexible datepicker widget in the Twitter bootstrap style. + +.. figure:: _static/demo_head.png + :align: center + +This is a fork of Stefan Petre's `original code `_; thanks go to him for getting this thing started! + +Please note that this fork is not used on Stefan's page at this time, nor is it maintained or contributed to by him. + +Versions are incremented according to `semver `_. + +`Online Demo `_ + + +Requirements +------------ + +* `Bootstrap`_ 2.0.4+ +* `jQuery`_ 1.7.1+ + +.. _Bootstrap: http://twitter.github.com/bootstrap/ +.. _jQuery: http://jquery.com/ + +These are the specific versions bootstrap-datepicker is tested against (``js`` files) and built against (``css`` files). Use other versions at your own risk. + + +Dependencies +------------ + +Requires bootstrap's dropdown component (``dropdowns.less``) for some styles, and bootstrap's sprites (``sprites.less`` and associated images) for arrows. + +A standalone .css file (including necessary dropdown styles and alternative, text-based arrows) can be generated by running ``build/build_standalone.less`` through the ``lessc`` compiler:: + + $ lessc build/build_standalone.less datepicker.css + + +Usage +----- + +Call the datepicker via javascript:: + + $('.datepicker').datepicker() + + +Data API +^^^^^^^^ + +As with bootstrap's own plugins, datepicker provides a data-api that can be used to instantiate datepickers without the need for custom javascript. For most datepickers, simply set ``data-provide="datepicker"`` on the element you want to initialize, and it will be intialized lazily, in true bootstrap fashion. For inline datepickers, use ``data-provide="datepicker-inline"``; these will be immediately initialized on page load, and cannot be lazily loaded. + +.. code-block:: html + + + +You can disable datepicker's data-api in the same way as you would disable other bootstrap plugins:: + + $(document).off('.datepicker.data-api'); + + +Configuration +^^^^^^^^^^^^^ + +:doc:`options` are passed to the ``datepicker`` function via an options hash at instantiation:: + + $('.datepicker').datepicker({ + format: 'mm/dd/yyyy', + startDate: '-3d' + }) + +Most options may be provided as data-attributes on the target element: + +.. code-block:: html + + + +:: + + $('.datepicker').datepicker({ + startDate: '-3d' + }) + +Defaults for all options can be modified directly by changing values in the ``$.fn.datepicker.defaults`` hash:: + + $.fn.datepicker.defaults.format = "mm/dd/yyyy"; + $('.datepicker').datepicker({ + startDate: '-3d' + }) + + +No Conflict mode +^^^^^^^^^^^^^^^^ + +``$.fn.datepicker.noConflict`` provides a way to avoid conflict with other jQuery datepicker plugins:: + + var datepicker = $.fn.datepicker.noConflict(); // return $.fn.datepicker to previously assigned value + $.fn.bootstrapDP = datepicker; // give $().bootstrapDP the bootstrap-datepicker functionality + + + +Table of Contents +----------------- + +.. toctree:: + + markup + options + methods + events + keyboard + i18n + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/public/vendor/bootstrap-datepicker/docs/keyboard.rst b/public/vendor/bootstrap-datepicker/docs/keyboard.rst new file mode 100644 index 000000000000..e34ba65d6e90 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/keyboard.rst @@ -0,0 +1,27 @@ +Keyboard support +================ + +The datepicker includes keyboard navigation. The "focused date" is kept track of and highlighted (as with mouse hover) during keyboard nav, and is cleared when a date is toggled or the picker is hidden. + +up, down, left, right arrow keys +-------------------------------- + +By themselves, left/right will move focus backward/forward one day, up/down will move focus back/forward one week. + +With the shift key, up/left will move focus backward one month, down/right will move focus forward one month. + +With the ctrl key, up/left will move focus backward one year, down/right will move focus forward one year. + +Shift+ctrl behaves the same as ctrl -- that is, it does not change both month and year simultaneously, only the year. + +enter +----- + +When the picker is visible, enter will toggle the focused date (if there is one). When the picker is not visible, enter will have normal effects -- submitting the current form, etc. + +When the date is deselected, the ``clearDate`` event is triggered; otherwise, the ``changeDate`` event is triggered. If ``autoclose`` is enabled, the picker will be hidden after selection or deselection. + +escape +------ + +The escape key can be used to clear the focused date and hide and re-show the datepicker; hiding the picker is necessary if the user wants to manually edit the value. diff --git a/public/vendor/bootstrap-datepicker/docs/make.bat b/public/vendor/bootstrap-datepicker/docs/make.bat new file mode 100644 index 000000000000..282b37a8f362 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/make.bat @@ -0,0 +1,190 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\bootstrap-datepicker.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\bootstrap-datepicker.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +:end diff --git a/public/vendor/bootstrap-datepicker/docs/markup.rst b/public/vendor/bootstrap-datepicker/docs/markup.rst new file mode 100644 index 000000000000..a6ec82b24742 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/markup.rst @@ -0,0 +1,50 @@ +Markup +======= + +The following are examples of supported markup. On their own, these will not provide a datepicker widget; you will need to instantiate the datepicker on the markup. + + +input +----- + +The simplest case: focusing the input (clicking or tabbing into it) will show the picker. + +.. code-block:: html + + + +component +--------- + +Adding the ``date`` class to an ``input-append`` or ``input-prepend`` bootstrap component will allow the ``add-on`` elements to trigger the picker. + +.. code-block:: html + +
    + + +
    + + +date-range +---------- + +Using the ``input-daterange`` construct with multiple child inputs will instantiate one picker per input and link them together to allow selecting ranges. + +.. code-block:: html + +
    + + to + +
    + + +inline or embedded +------------------ + +Instantiating the datepicker on a simple div will give an embedded picker that is always visible. + +.. code-block:: html + +
    diff --git a/public/vendor/bootstrap-datepicker/docs/methods.rst b/public/vendor/bootstrap-datepicker/docs/methods.rst new file mode 100644 index 000000000000..3e38f9515b19 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/methods.rst @@ -0,0 +1,164 @@ +Methods +======= + +Methods are called on a datepicker by call the ``datepicker`` function with a string first argument, followed by any arguments the method takes:: + + $('.datepicker').datepicker('method', arg1, arg2); + + +remove +------ + +Arguments: None + +Remove the datepicker. Removes attached events, internal attached objects, and added HTML elements. + + +show +---- + +Arguments: None + +Show the picker. + + +hide +---- + +Arguments: None + +Hide the picker. + + +update +------ + +Arguments: + +* date (String|Date, optional) + +Update the datepicker with given argument or the current input value. + +If ``date`` is provided and is a Date object, it is assumed to be a "local" date object, and will be converted to UTC for internal use. + +:: + + $('.datepicker').datepicker('update'); + $('.datepicker').datepicker('update', '2011-03-05'); + $('.datepicker').datepicker('update', new Date(2011, 2, 5)); + + +setDate +------- + +Arguments: + +* date (Date) + +Sets the internal date. ``date`` is assumed to be a "local" date object, and will be converted to UTC for internal use. + + +setUTCDate +---------- + +Arguments: + +* date (Date) + +Sets the internal date. ``date`` is assumed to be a UTC date object, and will not be converted. + + +setDates +-------- + +Arguments: + +* date[, date[, ...]] (Date) + +or + +* [date[, date[, ...]]] (Array) + +Sets the internal date list; accepts multiple dates or a single array of dates as arguments. Each ``date`` is assumed to mbe a "local" date object, and will be converted to UTC for internal use. For use with multidate pickers. + + +setUTCDates +----------- + +Arguments: + +* date[, date[, ...]] (Date) + +or + +* [date[, date[, ...]]] (Array) + +Sets the internal date list. Each ``date`` is assumed to be a UTC date object, and will not be converted. For use with multidate pickers. + + +getDate +------- + +Arguments: None + +Returns a localized date object representing the internal date object of the first datepicker in the selection. For multidate pickers, returns the latest date selected. + + +getUTCDate +---------- + +Arguments: None + +Returns the internal UTC date object, as-is and unconverted to local time, of the first datepicker in the selection. For multidate pickers, returns the latest date selected. + + +getDates +-------- + +Arguments: None + +Returns a list of localized date objects representing the internal date objects of the first datepicker in the selection. For use with multidate pickers. + + +getUTCDates +----------- + +Arguments: None + +Returns the internal list of UTC date objects, as they are and unconverted to local time, of the first datepicker in the selection. For use with multidate pickers. + + +setStartDate +------------ + +Arguments: + +* startDate (Date) + +Sets a new lower date limit on the datepicker. See :ref:`startdate` for valid values. + +Omit startDate (or provide an otherwise falsey value) to unset the limit. + + +setEndDate +---------- + +Arguments: + +* endDate (Date) + +Sets a new upper date limit on the datepicker. See :ref:`enddate` for valid values. + +Omit endDate (or provide an otherwise falsey value) to unset the limit. + + +setDaysOfWeekDisabled +--------------------- + +Arguments: + +* daysOfWeekDisabled (String|Array) + +Sets the days of week that should be disabled. See :ref:`daysofweekdisabled` for valid values. + +Omit daysOfWeekDisabled (or provide an otherwise falsey value) to unset the disabled days. diff --git a/public/vendor/bootstrap-datepicker/docs/options.rst b/public/vendor/bootstrap-datepicker/docs/options.rst new file mode 100644 index 000000000000..82459c40ec60 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/docs/options.rst @@ -0,0 +1,191 @@ +Options +======= + +All options that take a "Date" can handle a ``Date`` object; a String formatted according to the given ``format``; or a timedelta relative to today, eg "-1d", "+6m +1y", etc, where valid units are "d" (day), "w" (week), "m" (month), and "y" (year). + +Most options can be provided via data-attributes. An option can be converted to a data-attribute by taking its name, replacing each uppercase letter with its lowercase equivalent preceded by a dash, and prepending "data-date-" to the result. For example, ``startDate`` would be ``data-date-start-date``, ``format`` would be ``data-date-format``, and ``daysOfWeekDisabled`` would be ``data-date-days-of-week-disabled``. + + +autoclose +--------- + +Boolean. Default: false + +Whether or not to close the datepicker immediately when a date is selected. + + +beforeShowDay +------------- + +Function(Date). Default: $.noop + +A function that takes a date as a parameter and returns one of the following values: + + * undefined to have no effect + * A Boolean, indicating whether or not this date is selectable + * A String representing additional CSS classes to apply to the date's cell + * An object with the following properties: + + * ``enabled``: same as the Boolean value above + * ``classes``: same as the String value above + * ``tooltip``: a tooltip to apply to this date, via the ``title`` HTML attribute + + +calendarWeeks +------------- + +Boolean. Default: false + +Whether or not to show week numbers to the left of week rows. + + +clearBtn +-------- + +Boolean. Default: false + +If true, displays a "Clear" button at the bottom of the datepicker to clear the input value. If "autoclose" is also set to true, this button will also close the datepicker. + + +.. _daysofweekdisabled: + +daysOfWeekDisabled +------------------ + +String, Array. Default: '', [] + +Days of the week that should be disabled. Values are 0 (Sunday) to 6 (Saturday). Multiple values should be comma-separated. Example: disable weekends: ``'0,6'`` or ``[0,6]``. + + +.. _enddate: + +endDate +------- + +Date. Default: End of time + +The latest date that may be selected; all later dates will be disabled. + + +forceParse +---------- + +Boolean. Default: true + +Whether or not to force parsing of the input value when the picker is closed. That is, when an invalid date is left in the input field by the user, the picker will forcibly parse that value, and set the input's value to the new, valid date, conforming to the given `format`. + + +format +------ + +String. Default: "mm/dd/yyyy" + +The date format, combination of d, dd, D, DD, m, mm, M, MM, yy, yyyy. + +* d, dd: Numeric date, no leading zero and leading zero, respectively. Eg, 5, 05. +* D, DD: Abbreviated and full weekday names, respectively. Eg, Mon, Monday. +* m, mm: Numeric month, no leading zero and leading zero, respectively. Eg, 7, 07. +* M, MM: Abbreviated and full month names, respectively. Eg, Jan, January +* yy, yyyy: 2- and 4-digit years, respectively. Eg, 12, 2012. + + +inputs +------ + +Array. Default: None + +A list of inputs to be used in a range picker, which will be attached to the selected element. Allows for explicitly creating a range picker on a non-standard element. + + +keyboardNavigation +------------------ + +Boolean. Default: true + +Whether or not to allow date navigation by arrow keys. + + +language +-------- + +String. Default: "en" + +The IETF code (eg "en" for English, "pt-BR" for Brazilian Portuguese) of the language to use for month and day names. These will also be used as the input's value (and subsequently sent to the server in the case of form submissions). If a full code (eg "de-DE") is supplied the picker will first check for an "de-DE" language and if not found will fallback and check for a "de" language. If an unknown language code is given, English will be used. See :doc:`i18n`. + + +minViewMode +----------- + +Number, String. Default: 0, "days" + +Set a limit for the view mode. Accepts: "days" or 0, "months" or 1, and "years" or 2. +Gives the ability to pick only a month or an year. The day is set to the 1st for "months", and the month is set to January for "years". + + +multidate +--------- + +Boolean, Number. Default: false + +Enable multidate picking. Each date in month view acts as a toggle button, keeping track of which dates the user has selected in order. If a number is given, the picker will limit how many dates can be selected to that number, dropping the oldest dates from the list when the number is exceeded. ``true`` equates to no limit. The input's value (if present) is set to a string generated by joining the dates, formatted, with ``multidateSeparator``. + + +multidateSeparator +------------------ + +String. Default: "," + +The string that will appear between dates when generating the input's value. When parsing the input's value for a multidate picker, this will also be used to split the incoming string to separate multiple formatted dates; as such, it is highly recommended that you not use a string that could be a substring of a formatted date (eg, using '-' to separate dates when your format is 'yyyy-mm-dd'). + + +orientation +----------- + +String. Default: "auto" + +A space-separated string consisting of one or two of "left" or "right", "top" or "bottom", and "auto" (may be omitted); for example, "top left", "bottom" (horizontal orientation will default to "auto"), "right" (vertical orientation will default to "auto"), "auto top". Allows for fixed placement of the picker popup. + +"orientation" refers to the location of the picker popup's "anchor"; you can also think of it as the location of the trigger element (input, component, etc) relative to the picker. + +"auto" triggers "smart orientation" of the picker. Horizontal orientation will default to "left" and left offset will be tweaked to keep the picker inside the browser viewport; vertical orientation will simply choose "top" or "bottom", whichever will show more of the picker in the viewport. + +.. _startdate: + +startDate +--------- + +Date. Default: Beginning of time + +The earliest date that may be selected; all earlier dates will be disabled. + + +startView +--------- + +Number, String. Default: 0, "month" + +The view that the datepicker should show when it is opened. Accepts values of 0 or "month" for month view (the default), 1 or "year" for the 12-month overview, and 2 or "decade" for the 10-year overview. Useful for date-of-birth datepickers. + + +todayBtn +-------- + +Boolean, "linked". Default: false + +If true or "linked", displays a "Today" button at the bottom of the datepicker to select the current date. If true, the "Today" button will only move the current date into view; if "linked", the current date will also be selected. + + +todayHighlight +-------------- + +Boolean. Default: false + +If true, highlights the current date. + + +weekStart +--------- + +Integer. Default: 0 + +Day of the week start. 0 (Sunday) to 6 (Saturday) diff --git a/public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js b/public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js new file mode 100644 index 000000000000..4975226d32d6 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js @@ -0,0 +1,1671 @@ +/* ========================================================= + * bootstrap-datepicker.js + * Repo: https://github.com/eternicode/bootstrap-datepicker/ + * Demo: http://eternicode.github.io/bootstrap-datepicker/ + * Docs: http://bootstrap-datepicker.readthedocs.org/ + * Forked from http://www.eyecon.ro/bootstrap-datepicker + * ========================================================= + * Started by Stefan Petre; improvements by Andrew Rowls + contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + +(function($, undefined){ + + var $window = $(window); + + function UTCDate(){ + return new Date(Date.UTC.apply(Date, arguments)); + } + function UTCToday(){ + var today = new Date(); + return UTCDate(today.getFullYear(), today.getMonth(), today.getDate()); + } + function alias(method){ + return function(){ + return this[method].apply(this, arguments); + }; + } + + var DateArray = (function(){ + var extras = { + get: function(i){ + return this.slice(i)[0]; + }, + contains: function(d){ + // Array.indexOf is not cross-browser; + // $.inArray doesn't work with Dates + var val = d && d.valueOf(); + for (var i=0, l=this.length; i < l; i++) + if (this[i].valueOf() === val) + return i; + return -1; + }, + remove: function(i){ + this.splice(i,1); + }, + replace: function(new_array){ + if (!new_array) + return; + if (!$.isArray(new_array)) + new_array = [new_array]; + this.clear(); + this.push.apply(this, new_array); + }, + clear: function(){ + this.splice(0); + }, + copy: function(){ + var a = new DateArray(); + a.replace(this); + return a; + } + }; + + return function(){ + var a = []; + a.push.apply(a, arguments); + $.extend(a, extras); + return a; + }; + })(); + + + // Picker object + + var Datepicker = function(element, options){ + this.dates = new DateArray(); + this.viewDate = UTCToday(); + this.focusDate = null; + + this._process_options(options); + + this.element = $(element); + this.isInline = false; + this.isInput = this.element.is('input'); + this.component = this.element.is('.date') ? this.element.find('.add-on, .input-group-addon, .btn') : false; + this.hasInput = this.component && this.element.find('input').length; + if (this.component && this.component.length === 0) + this.component = false; + + this.picker = $(DPGlobal.template); + this._buildEvents(); + this._attachEvents(); + + if (this.isInline){ + this.picker.addClass('datepicker-inline').appendTo(this.element); + } + else { + this.picker.addClass('datepicker-dropdown dropdown-menu'); + } + + if (this.o.rtl){ + this.picker.addClass('datepicker-rtl'); + } + + this.viewMode = this.o.startView; + + if (this.o.calendarWeeks) + this.picker.find('tfoot th.today') + .attr('colspan', function(i, val){ + return parseInt(val) + 1; + }); + + this._allow_update = false; + + this.setStartDate(this._o.startDate); + this.setEndDate(this._o.endDate); + this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled); + + this.fillDow(); + this.fillMonths(); + + this._allow_update = true; + + this.update(); + this.showMode(); + + if (this.isInline){ + this.show(); + } + }; + + Datepicker.prototype = { + constructor: Datepicker, + + _process_options: function(opts){ + // Store raw options for reference + this._o = $.extend({}, this._o, opts); + // Processed options + var o = this.o = $.extend({}, this._o); + + // Check if "de-DE" style date is available, if not language should + // fallback to 2 letter code eg "de" + var lang = o.language; + if (!dates[lang]){ + lang = lang.split('-')[0]; + if (!dates[lang]) + lang = defaults.language; + } + o.language = lang; + + switch (o.startView){ + case 2: + case 'decade': + o.startView = 2; + break; + case 1: + case 'year': + o.startView = 1; + break; + default: + o.startView = 0; + } + + switch (o.minViewMode){ + case 1: + case 'months': + o.minViewMode = 1; + break; + case 2: + case 'years': + o.minViewMode = 2; + break; + default: + o.minViewMode = 0; + } + + o.startView = Math.max(o.startView, o.minViewMode); + + // true, false, or Number > 0 + if (o.multidate !== true){ + o.multidate = Number(o.multidate) || false; + if (o.multidate !== false) + o.multidate = Math.max(0, o.multidate); + else + o.multidate = 1; + } + o.multidateSeparator = String(o.multidateSeparator); + + o.weekStart %= 7; + o.weekEnd = ((o.weekStart + 6) % 7); + + var format = DPGlobal.parseFormat(o.format); + if (o.startDate !== -Infinity){ + if (!!o.startDate){ + if (o.startDate instanceof Date) + o.startDate = this._local_to_utc(this._zero_time(o.startDate)); + else + o.startDate = DPGlobal.parseDate(o.startDate, format, o.language); + } + else { + o.startDate = -Infinity; + } + } + if (o.endDate !== Infinity){ + if (!!o.endDate){ + if (o.endDate instanceof Date) + o.endDate = this._local_to_utc(this._zero_time(o.endDate)); + else + o.endDate = DPGlobal.parseDate(o.endDate, format, o.language); + } + else { + o.endDate = Infinity; + } + } + + o.daysOfWeekDisabled = o.daysOfWeekDisabled||[]; + if (!$.isArray(o.daysOfWeekDisabled)) + o.daysOfWeekDisabled = o.daysOfWeekDisabled.split(/[,\s]*/); + o.daysOfWeekDisabled = $.map(o.daysOfWeekDisabled, function(d){ + return parseInt(d, 10); + }); + + var plc = String(o.orientation).toLowerCase().split(/\s+/g), + _plc = o.orientation.toLowerCase(); + plc = $.grep(plc, function(word){ + return (/^auto|left|right|top|bottom$/).test(word); + }); + o.orientation = {x: 'auto', y: 'auto'}; + if (!_plc || _plc === 'auto') + ; // no action + else if (plc.length === 1){ + switch (plc[0]){ + case 'top': + case 'bottom': + o.orientation.y = plc[0]; + break; + case 'left': + case 'right': + o.orientation.x = plc[0]; + break; + } + } + else { + _plc = $.grep(plc, function(word){ + return (/^left|right$/).test(word); + }); + o.orientation.x = _plc[0] || 'auto'; + + _plc = $.grep(plc, function(word){ + return (/^top|bottom$/).test(word); + }); + o.orientation.y = _plc[0] || 'auto'; + } + }, + _events: [], + _secondaryEvents: [], + _applyEvents: function(evs){ + for (var i=0, el, ch, ev; i < evs.length; i++){ + el = evs[i][0]; + if (evs[i].length === 2){ + ch = undefined; + ev = evs[i][1]; + } + else if (evs[i].length === 3){ + ch = evs[i][1]; + ev = evs[i][2]; + } + el.on(ev, ch); + } + }, + _unapplyEvents: function(evs){ + for (var i=0, el, ev, ch; i < evs.length; i++){ + el = evs[i][0]; + if (evs[i].length === 2){ + ch = undefined; + ev = evs[i][1]; + } + else if (evs[i].length === 3){ + ch = evs[i][1]; + ev = evs[i][2]; + } + el.off(ev, ch); + } + }, + _buildEvents: function(){ + if (this.isInput){ // single input + this._events = [ + [this.element, { + focus: $.proxy(this.show, this), + keyup: $.proxy(function(e){ + if ($.inArray(e.keyCode, [27,37,39,38,40,32,13,9]) === -1) + this.update(); + }, this), + keydown: $.proxy(this.keydown, this) + }] + ]; + } + else if (this.component && this.hasInput){ // component: input + button + this._events = [ + // For components that are not readonly, allow keyboard nav + [this.element.find('input'), { + focus: $.proxy(this.show, this), + keyup: $.proxy(function(e){ + if ($.inArray(e.keyCode, [27,37,39,38,40,32,13,9]) === -1) + this.update(); + }, this), + keydown: $.proxy(this.keydown, this) + }], + [this.component, { + click: $.proxy(this.show, this) + }] + ]; + } + else if (this.element.is('div')){ // inline datepicker + this.isInline = true; + } + else { + this._events = [ + [this.element, { + click: $.proxy(this.show, this) + }] + ]; + } + this._events.push( + // Component: listen for blur on element descendants + [this.element, '*', { + blur: $.proxy(function(e){ + this._focused_from = e.target; + }, this) + }], + // Input: listen for blur on element + [this.element, { + blur: $.proxy(function(e){ + this._focused_from = e.target; + }, this) + }] + ); + + this._secondaryEvents = [ + [this.picker, { + click: $.proxy(this.click, this) + }], + [$(window), { + resize: $.proxy(this.place, this) + }], + [$(document), { + 'mousedown touchstart': $.proxy(function(e){ + // Clicked outside the datepicker, hide it + if (!( + this.element.is(e.target) || + this.element.find(e.target).length || + this.picker.is(e.target) || + this.picker.find(e.target).length + )){ + this.hide(); + } + }, this) + }] + ]; + }, + _attachEvents: function(){ + this._detachEvents(); + this._applyEvents(this._events); + }, + _detachEvents: function(){ + this._unapplyEvents(this._events); + }, + _attachSecondaryEvents: function(){ + this._detachSecondaryEvents(); + this._applyEvents(this._secondaryEvents); + }, + _detachSecondaryEvents: function(){ + this._unapplyEvents(this._secondaryEvents); + }, + _trigger: function(event, altdate){ + var date = altdate || this.dates.get(-1), + local_date = this._utc_to_local(date); + + this.element.trigger({ + type: event, + date: local_date, + dates: $.map(this.dates, this._utc_to_local), + format: $.proxy(function(ix, format){ + if (arguments.length === 0){ + ix = this.dates.length - 1; + format = this.o.format; + } + else if (typeof ix === 'string'){ + format = ix; + ix = this.dates.length - 1; + } + format = format || this.o.format; + var date = this.dates.get(ix); + return DPGlobal.formatDate(date, format, this.o.language); + }, this) + }); + }, + + show: function(){ + if (!this.isInline) + this.picker.appendTo('body'); + this.picker.show(); + this.place(); + this._attachSecondaryEvents(); + this._trigger('show'); + }, + + hide: function(){ + if (this.isInline) + return; + if (!this.picker.is(':visible')) + return; + this.focusDate = null; + this.picker.hide().detach(); + this._detachSecondaryEvents(); + this.viewMode = this.o.startView; + this.showMode(); + + if ( + this.o.forceParse && + ( + this.isInput && this.element.val() || + this.hasInput && this.element.find('input').val() + ) + ) + this.setValue(); + this._trigger('hide'); + }, + + remove: function(){ + this.hide(); + this._detachEvents(); + this._detachSecondaryEvents(); + this.picker.remove(); + delete this.element.data().datepicker; + if (!this.isInput){ + delete this.element.data().date; + } + }, + + _utc_to_local: function(utc){ + return utc && new Date(utc.getTime() + (utc.getTimezoneOffset()*60000)); + }, + _local_to_utc: function(local){ + return local && new Date(local.getTime() - (local.getTimezoneOffset()*60000)); + }, + _zero_time: function(local){ + return local && new Date(local.getFullYear(), local.getMonth(), local.getDate()); + }, + _zero_utc_time: function(utc){ + return utc && new Date(Date.UTC(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate())); + }, + + getDates: function(){ + return $.map(this.dates, this._utc_to_local); + }, + + getUTCDates: function(){ + return $.map(this.dates, function(d){ + return new Date(d); + }); + }, + + getDate: function(){ + return this._utc_to_local(this.getUTCDate()); + }, + + getUTCDate: function(){ + return new Date(this.dates.get(-1)); + }, + + setDates: function(){ + var args = $.isArray(arguments[0]) ? arguments[0] : arguments; + this.update.apply(this, args); + this._trigger('changeDate'); + this.setValue(); + }, + + setUTCDates: function(){ + var args = $.isArray(arguments[0]) ? arguments[0] : arguments; + this.update.apply(this, $.map(args, this._utc_to_local)); + this._trigger('changeDate'); + this.setValue(); + }, + + setDate: alias('setDates'), + setUTCDate: alias('setUTCDates'), + + setValue: function(){ + var formatted = this.getFormattedDate(); + if (!this.isInput){ + if (this.component){ + this.element.find('input').val(formatted).change(); + } + } + else { + this.element.val(formatted); //.change(); + } + }, + + getFormattedDate: function(format){ + if (format === undefined) + format = this.o.format; + + var lang = this.o.language; + return $.map(this.dates, function(d){ + return DPGlobal.formatDate(d, format, lang); + }).join(this.o.multidateSeparator); + }, + + setStartDate: function(startDate){ + this._process_options({startDate: startDate}); + this.update(); + this.updateNavArrows(); + }, + + setEndDate: function(endDate){ + this._process_options({endDate: endDate}); + this.update(); + this.updateNavArrows(); + }, + + setDaysOfWeekDisabled: function(daysOfWeekDisabled){ + this._process_options({daysOfWeekDisabled: daysOfWeekDisabled}); + this.update(); + this.updateNavArrows(); + }, + + place: function(){ + if (this.isInline) + return; + var calendarWidth = this.picker.outerWidth(), + calendarHeight = this.picker.outerHeight(), + visualPadding = 10, + windowWidth = $window.width(), + windowHeight = $window.height(), + scrollTop = $window.scrollTop(); + + var zIndex = parseInt(this.element.parents().filter(function(){ + return $(this).css('z-index') !== 'auto'; + }).first().css('z-index'))+10; + var offset = this.component ? this.component.parent().offset() : this.element.offset(); + var height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false); + var width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false); + var left = offset.left, + top = offset.top; + + this.picker.removeClass( + 'datepicker-orient-top datepicker-orient-bottom '+ + 'datepicker-orient-right datepicker-orient-left' + ); + + if (this.o.orientation.x !== 'auto'){ + this.picker.addClass('datepicker-orient-' + this.o.orientation.x); + if (this.o.orientation.x === 'right') + left -= calendarWidth - width; + } + // auto x orientation is best-placement: if it crosses a window + // edge, fudge it sideways + else { + // Default to left + this.picker.addClass('datepicker-orient-left'); + if (offset.left < 0) + left -= offset.left - visualPadding; + else if (offset.left + calendarWidth > windowWidth) + left = windowWidth - calendarWidth - visualPadding; + } + + // auto y orientation is best-situation: top or bottom, no fudging, + // decision based on which shows more of the calendar + var yorient = this.o.orientation.y, + top_overflow, bottom_overflow; + if (yorient === 'auto'){ + top_overflow = -scrollTop + offset.top - calendarHeight; + bottom_overflow = scrollTop + windowHeight - (offset.top + height + calendarHeight); + if (Math.max(top_overflow, bottom_overflow) === bottom_overflow) + yorient = 'top'; + else + yorient = 'bottom'; + } + this.picker.addClass('datepicker-orient-' + yorient); + if (yorient === 'top') + top += height; + else + top -= calendarHeight + parseInt(this.picker.css('padding-top')); + + this.picker.css({ + top: top, + left: left, + zIndex: zIndex + }); + }, + + _allow_update: true, + update: function(){ + if (!this._allow_update) + return; + + var oldDates = this.dates.copy(), + dates = [], + fromArgs = false; + if (arguments.length){ + $.each(arguments, $.proxy(function(i, date){ + if (date instanceof Date) + date = this._local_to_utc(date); + dates.push(date); + }, this)); + fromArgs = true; + } + else { + dates = this.isInput + ? this.element.val() + : this.element.data('date') || this.element.find('input').val(); + if (dates && this.o.multidate) + dates = dates.split(this.o.multidateSeparator); + else + dates = [dates]; + delete this.element.data().date; + } + + dates = $.map(dates, $.proxy(function(date){ + return DPGlobal.parseDate(date, this.o.format, this.o.language); + }, this)); + dates = $.grep(dates, $.proxy(function(date){ + return ( + date < this.o.startDate || + date > this.o.endDate || + !date + ); + }, this), true); + this.dates.replace(dates); + + if (this.dates.length) + this.viewDate = new Date(this.dates.get(-1)); + else if (this.viewDate < this.o.startDate) + this.viewDate = new Date(this.o.startDate); + else if (this.viewDate > this.o.endDate) + this.viewDate = new Date(this.o.endDate); + + if (fromArgs){ + // setting date by clicking + this.setValue(); + } + else if (dates.length){ + // setting date by typing + if (String(oldDates) !== String(this.dates)) + this._trigger('changeDate'); + } + if (!this.dates.length && oldDates.length) + this._trigger('clearDate'); + + this.fill(); + }, + + fillDow: function(){ + var dowCnt = this.o.weekStart, + html = ''; + if (this.o.calendarWeeks){ + var cell = ' '; + html += cell; + this.picker.find('.datepicker-days thead tr:first-child').prepend(cell); + } + while (dowCnt < this.o.weekStart + 7){ + html += ''+dates[this.o.language].daysMin[(dowCnt++)%7]+''; + } + html += ''; + this.picker.find('.datepicker-days thead').append(html); + }, + + fillMonths: function(){ + var html = '', + i = 0; + while (i < 12){ + html += ''+dates[this.o.language].monthsShort[i++]+''; + } + this.picker.find('.datepicker-months td').html(html); + }, + + setRange: function(range){ + if (!range || !range.length) + delete this.range; + else + this.range = $.map(range, function(d){ + return d.valueOf(); + }); + this.fill(); + }, + + getClassNames: function(date){ + var cls = [], + year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(), + today = new Date(); + if (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){ + cls.push('old'); + } + else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){ + cls.push('new'); + } + if (this.focusDate && date.valueOf() === this.focusDate.valueOf()) + cls.push('focused'); + // Compare internal UTC date with local today, not UTC today + if (this.o.todayHighlight && + date.getUTCFullYear() === today.getFullYear() && + date.getUTCMonth() === today.getMonth() && + date.getUTCDate() === today.getDate()){ + cls.push('today'); + } + if (this.dates.contains(date) !== -1) + cls.push('active'); + if (date.valueOf() < this.o.startDate || date.valueOf() > this.o.endDate || + $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1){ + cls.push('disabled'); + } + if (this.range){ + if (date > this.range[0] && date < this.range[this.range.length-1]){ + cls.push('range'); + } + if ($.inArray(date.valueOf(), this.range) !== -1){ + cls.push('selected'); + } + } + return cls; + }, + + fill: function(){ + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity, + startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity, + endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity, + endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, + todaytxt = dates[this.o.language].today || dates['en'].today || '', + cleartxt = dates[this.o.language].clear || dates['en'].clear || '', + tooltip; + this.picker.find('.datepicker-days thead th.datepicker-switch') + .text(dates[this.o.language].months[month]+' '+year); + this.picker.find('tfoot th.today') + .text(todaytxt) + .toggle(this.o.todayBtn !== false); + this.picker.find('tfoot th.clear') + .text(cleartxt) + .toggle(this.o.clearBtn !== false); + this.updateNavArrows(); + this.fillMonths(); + var prevMonth = UTCDate(year, month-1, 28), + day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth()); + prevMonth.setUTCDate(day); + prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7); + var nextMonth = new Date(prevMonth); + nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); + nextMonth = nextMonth.valueOf(); + var html = []; + var clsName; + while (prevMonth.valueOf() < nextMonth){ + if (prevMonth.getUTCDay() === this.o.weekStart){ + html.push(''); + if (this.o.calendarWeeks){ + // ISO 8601: First week contains first thursday. + // ISO also states week starts on Monday, but we can be more abstract here. + var + // Start of current week: based on weekstart/current date + ws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5), + // Thursday of this week + th = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5), + // First Thursday of year, year from thursday + yth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay())%7*864e5), + // Calendar week: ms between thursdays, div ms per day, div 7 days + calWeek = (th - yth) / 864e5 / 7 + 1; + html.push(''+ calWeek +''); + + } + } + clsName = this.getClassNames(prevMonth); + clsName.push('day'); + + if (this.o.beforeShowDay !== $.noop){ + var before = this.o.beforeShowDay(this._utc_to_local(prevMonth)); + if (before === undefined) + before = {}; + else if (typeof(before) === 'boolean') + before = {enabled: before}; + else if (typeof(before) === 'string') + before = {classes: before}; + if (before.enabled === false) + clsName.push('disabled'); + if (before.classes) + clsName = clsName.concat(before.classes.split(/\s+/)); + if (before.tooltip) + tooltip = before.tooltip; + } + + clsName = $.unique(clsName); + html.push(''+prevMonth.getUTCDate() + ''); + if (prevMonth.getUTCDay() === this.o.weekEnd){ + html.push(''); + } + prevMonth.setUTCDate(prevMonth.getUTCDate()+1); + } + this.picker.find('.datepicker-days tbody').empty().append(html.join('')); + + var months = this.picker.find('.datepicker-months') + .find('th:eq(1)') + .text(year) + .end() + .find('span').removeClass('active'); + + $.each(this.dates, function(i, d){ + if (d.getUTCFullYear() === year) + months.eq(d.getUTCMonth()).addClass('active'); + }); + + if (year < startYear || year > endYear){ + months.addClass('disabled'); + } + if (year === startYear){ + months.slice(0, startMonth).addClass('disabled'); + } + if (year === endYear){ + months.slice(endMonth+1).addClass('disabled'); + } + + html = ''; + year = parseInt(year/10, 10) * 10; + var yearCont = this.picker.find('.datepicker-years') + .find('th:eq(1)') + .text(year + '-' + (year + 9)) + .end() + .find('td'); + year -= 1; + var years = $.map(this.dates, function(d){ + return d.getUTCFullYear(); + }), + classes; + for (var i = -1; i < 11; i++){ + classes = ['year']; + if (i === -1) + classes.push('old'); + else if (i === 10) + classes.push('new'); + if ($.inArray(year, years) !== -1) + classes.push('active'); + if (year < startYear || year > endYear) + classes.push('disabled'); + html += ''+year+''; + year += 1; + } + yearCont.html(html); + }, + + updateNavArrows: function(){ + if (!this._allow_update) + return; + + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(); + switch (this.viewMode){ + case 0: + if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()){ + this.picker.find('.prev').css({visibility: 'hidden'}); + } + else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()){ + this.picker.find('.next').css({visibility: 'hidden'}); + } + else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + case 1: + case 2: + if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear()){ + this.picker.find('.prev').css({visibility: 'hidden'}); + } + else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear()){ + this.picker.find('.next').css({visibility: 'hidden'}); + } + else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + } + }, + + click: function(e){ + e.preventDefault(); + var target = $(e.target).closest('span, td, th'), + year, month, day; + if (target.length === 1){ + switch (target[0].nodeName.toLowerCase()){ + case 'th': + switch (target[0].className){ + case 'datepicker-switch': + this.showMode(1); + break; + case 'prev': + case 'next': + var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1); + switch (this.viewMode){ + case 0: + this.viewDate = this.moveMonth(this.viewDate, dir); + this._trigger('changeMonth', this.viewDate); + break; + case 1: + case 2: + this.viewDate = this.moveYear(this.viewDate, dir); + if (this.viewMode === 1) + this._trigger('changeYear', this.viewDate); + break; + } + this.fill(); + break; + case 'today': + var date = new Date(); + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); + + this.showMode(-2); + var which = this.o.todayBtn === 'linked' ? null : 'view'; + this._setDate(date, which); + break; + case 'clear': + var element; + if (this.isInput) + element = this.element; + else if (this.component) + element = this.element.find('input'); + if (element) + element.val("").change(); + this.update(); + this._trigger('changeDate'); + if (this.o.autoclose) + this.hide(); + break; + } + break; + case 'span': + if (!target.is('.disabled')){ + this.viewDate.setUTCDate(1); + if (target.is('.month')){ + day = 1; + month = target.parent().find('span').index(target); + year = this.viewDate.getUTCFullYear(); + this.viewDate.setUTCMonth(month); + this._trigger('changeMonth', this.viewDate); + if (this.o.minViewMode === 1){ + this._setDate(UTCDate(year, month, day)); + } + } + else { + day = 1; + month = 0; + year = parseInt(target.text(), 10)||0; + this.viewDate.setUTCFullYear(year); + this._trigger('changeYear', this.viewDate); + if (this.o.minViewMode === 2){ + this._setDate(UTCDate(year, month, day)); + } + } + this.showMode(-1); + this.fill(); + } + break; + case 'td': + if (target.is('.day') && !target.is('.disabled')){ + day = parseInt(target.text(), 10)||1; + year = this.viewDate.getUTCFullYear(); + month = this.viewDate.getUTCMonth(); + if (target.is('.old')){ + if (month === 0){ + month = 11; + year -= 1; + } + else { + month -= 1; + } + } + else if (target.is('.new')){ + if (month === 11){ + month = 0; + year += 1; + } + else { + month += 1; + } + } + this._setDate(UTCDate(year, month, day)); + } + break; + } + } + if (this.picker.is(':visible') && this._focused_from){ + $(this._focused_from).focus(); + } + delete this._focused_from; + }, + + _toggle_multidate: function(date){ + var ix = this.dates.contains(date); + if (!date){ + this.dates.clear(); + } + else if (ix !== -1){ + this.dates.remove(ix); + } + else { + this.dates.push(date); + } + if (typeof this.o.multidate === 'number') + while (this.dates.length > this.o.multidate) + this.dates.remove(0); + }, + + _setDate: function(date, which){ + if (!which || which === 'date') + this._toggle_multidate(date && new Date(date)); + if (!which || which === 'view') + this.viewDate = date && new Date(date); + + this.fill(); + this.setValue(); + this._trigger('changeDate'); + var element; + if (this.isInput){ + element = this.element; + } + else if (this.component){ + element = this.element.find('input'); + } + if (element){ + element.change(); + } + if (this.o.autoclose && (!which || which === 'date')){ + this.hide(); + } + }, + + moveMonth: function(date, dir){ + if (!date) + return undefined; + if (!dir) + return date; + var new_date = new Date(date.valueOf()), + day = new_date.getUTCDate(), + month = new_date.getUTCMonth(), + mag = Math.abs(dir), + new_month, test; + dir = dir > 0 ? 1 : -1; + if (mag === 1){ + test = dir === -1 + // If going back one month, make sure month is not current month + // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02) + ? function(){ + return new_date.getUTCMonth() === month; + } + // If going forward one month, make sure month is as expected + // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02) + : function(){ + return new_date.getUTCMonth() !== new_month; + }; + new_month = month + dir; + new_date.setUTCMonth(new_month); + // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 + if (new_month < 0 || new_month > 11) + new_month = (new_month + 12) % 12; + } + else { + // For magnitudes >1, move one month at a time... + for (var i=0; i < mag; i++) + // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)... + new_date = this.moveMonth(new_date, dir); + // ...then reset the day, keeping it in the new month + new_month = new_date.getUTCMonth(); + new_date.setUTCDate(day); + test = function(){ + return new_month !== new_date.getUTCMonth(); + }; + } + // Common date-resetting loop -- if date is beyond end of month, make it + // end of month + while (test()){ + new_date.setUTCDate(--day); + new_date.setUTCMonth(new_month); + } + return new_date; + }, + + moveYear: function(date, dir){ + return this.moveMonth(date, dir*12); + }, + + dateWithinRange: function(date){ + return date >= this.o.startDate && date <= this.o.endDate; + }, + + keydown: function(e){ + if (this.picker.is(':not(:visible)')){ + if (e.keyCode === 27) // allow escape to hide and re-show picker + this.show(); + return; + } + var dateChanged = false, + dir, newDate, newViewDate, + focusDate = this.focusDate || this.viewDate; + switch (e.keyCode){ + case 27: // escape + if (this.focusDate){ + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.fill(); + } + else + this.hide(); + e.preventDefault(); + break; + case 37: // left + case 39: // right + if (!this.o.keyboardNavigation) + break; + dir = e.keyCode === 37 ? -1 : 1; + if (e.ctrlKey){ + newDate = this.moveYear(this.dates.get(-1) || UTCToday(), dir); + newViewDate = this.moveYear(focusDate, dir); + this._trigger('changeYear', this.viewDate); + } + else if (e.shiftKey){ + newDate = this.moveMonth(this.dates.get(-1) || UTCToday(), dir); + newViewDate = this.moveMonth(focusDate, dir); + this._trigger('changeMonth', this.viewDate); + } + else { + newDate = new Date(this.dates.get(-1) || UTCToday()); + newDate.setUTCDate(newDate.getUTCDate() + dir); + newViewDate = new Date(focusDate); + newViewDate.setUTCDate(focusDate.getUTCDate() + dir); + } + if (this.dateWithinRange(newDate)){ + this.focusDate = this.viewDate = newViewDate; + this.setValue(); + this.fill(); + e.preventDefault(); + } + break; + case 38: // up + case 40: // down + if (!this.o.keyboardNavigation) + break; + dir = e.keyCode === 38 ? -1 : 1; + if (e.ctrlKey){ + newDate = this.moveYear(this.dates.get(-1) || UTCToday(), dir); + newViewDate = this.moveYear(focusDate, dir); + this._trigger('changeYear', this.viewDate); + } + else if (e.shiftKey){ + newDate = this.moveMonth(this.dates.get(-1) || UTCToday(), dir); + newViewDate = this.moveMonth(focusDate, dir); + this._trigger('changeMonth', this.viewDate); + } + else { + newDate = new Date(this.dates.get(-1) || UTCToday()); + newDate.setUTCDate(newDate.getUTCDate() + dir * 7); + newViewDate = new Date(focusDate); + newViewDate.setUTCDate(focusDate.getUTCDate() + dir * 7); + } + if (this.dateWithinRange(newDate)){ + this.focusDate = this.viewDate = newViewDate; + this.setValue(); + this.fill(); + e.preventDefault(); + } + break; + case 32: // spacebar + // Spacebar is used in manually typing dates in some formats. + // As such, its behavior should not be hijacked. + break; + case 13: // enter + focusDate = this.focusDate || this.dates.get(-1) || this.viewDate; + this._toggle_multidate(focusDate); + dateChanged = true; + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.setValue(); + this.fill(); + if (this.picker.is(':visible')){ + e.preventDefault(); + if (this.o.autoclose) + this.hide(); + } + break; + case 9: // tab + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.fill(); + this.hide(); + break; + } + if (dateChanged){ + if (this.dates.length) + this._trigger('changeDate'); + else + this._trigger('clearDate'); + var element; + if (this.isInput){ + element = this.element; + } + else if (this.component){ + element = this.element.find('input'); + } + if (element){ + element.change(); + } + } + }, + + showMode: function(dir){ + if (dir){ + this.viewMode = Math.max(this.o.minViewMode, Math.min(2, this.viewMode + dir)); + } + this.picker + .find('>div') + .hide() + .filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName) + .css('display', 'block'); + this.updateNavArrows(); + } + }; + + var DateRangePicker = function(element, options){ + this.element = $(element); + this.inputs = $.map(options.inputs, function(i){ + return i.jquery ? i[0] : i; + }); + delete options.inputs; + + $(this.inputs) + .datepicker(options) + .bind('changeDate', $.proxy(this.dateUpdated, this)); + + this.pickers = $.map(this.inputs, function(i){ + return $(i).data('datepicker'); + }); + this.updateDates(); + }; + DateRangePicker.prototype = { + updateDates: function(){ + this.dates = $.map(this.pickers, function(i){ + return i.getUTCDate(); + }); + this.updateRanges(); + }, + updateRanges: function(){ + var range = $.map(this.dates, function(d){ + return d.valueOf(); + }); + $.each(this.pickers, function(i, p){ + p.setRange(range); + }); + }, + dateUpdated: function(e){ + // `this.updating` is a workaround for preventing infinite recursion + // between `changeDate` triggering and `setUTCDate` calling. Until + // there is a better mechanism. + if (this.updating) + return; + this.updating = true; + + var dp = $(e.target).data('datepicker'), + new_date = dp.getUTCDate(), + i = $.inArray(e.target, this.inputs), + l = this.inputs.length; + if (i === -1) + return; + + $.each(this.pickers, function(i, p){ + if (!p.getUTCDate()) + p.setUTCDate(new_date); + }); + + if (new_date < this.dates[i]){ + // Date being moved earlier/left + while (i >= 0 && new_date < this.dates[i]){ + this.pickers[i--].setUTCDate(new_date); + } + } + else if (new_date > this.dates[i]){ + // Date being moved later/right + while (i < l && new_date > this.dates[i]){ + this.pickers[i++].setUTCDate(new_date); + } + } + this.updateDates(); + + delete this.updating; + }, + remove: function(){ + $.map(this.pickers, function(p){ p.remove(); }); + delete this.element.data().datepicker; + } + }; + + function opts_from_el(el, prefix){ + // Derive options from element data-attrs + var data = $(el).data(), + out = {}, inkey, + replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])'); + prefix = new RegExp('^' + prefix.toLowerCase()); + function re_lower(_,a){ + return a.toLowerCase(); + } + for (var key in data) + if (prefix.test(key)){ + inkey = key.replace(replace, re_lower); + out[inkey] = data[key]; + } + return out; + } + + function opts_from_locale(lang){ + // Derive options from locale plugins + var out = {}; + // Check if "de-DE" style date is available, if not language should + // fallback to 2 letter code eg "de" + if (!dates[lang]){ + lang = lang.split('-')[0]; + if (!dates[lang]) + return; + } + var d = dates[lang]; + $.each(locale_opts, function(i,k){ + if (k in d) + out[k] = d[k]; + }); + return out; + } + + var old = $.fn.datepicker; + $.fn.datepicker = function(option){ + var args = Array.apply(null, arguments); + args.shift(); + var internal_return; + this.each(function(){ + var $this = $(this), + data = $this.data('datepicker'), + options = typeof option === 'object' && option; + if (!data){ + var elopts = opts_from_el(this, 'date'), + // Preliminary otions + xopts = $.extend({}, defaults, elopts, options), + locopts = opts_from_locale(xopts.language), + // Options priority: js args, data-attrs, locales, defaults + opts = $.extend({}, defaults, locopts, elopts, options); + if ($this.is('.input-daterange') || opts.inputs){ + var ropts = { + inputs: opts.inputs || $this.find('input').toArray() + }; + $this.data('datepicker', (data = new DateRangePicker(this, $.extend(opts, ropts)))); + } + else { + $this.data('datepicker', (data = new Datepicker(this, opts))); + } + } + if (typeof option === 'string' && typeof data[option] === 'function'){ + internal_return = data[option].apply(data, args); + if (internal_return !== undefined) + return false; + } + }); + if (internal_return !== undefined) + return internal_return; + else + return this; + }; + + var defaults = $.fn.datepicker.defaults = { + autoclose: false, + beforeShowDay: $.noop, + calendarWeeks: false, + clearBtn: false, + daysOfWeekDisabled: [], + endDate: Infinity, + forceParse: true, + format: 'mm/dd/yyyy', + keyboardNavigation: true, + language: 'en', + minViewMode: 0, + multidate: false, + multidateSeparator: ',', + orientation: "auto", + rtl: false, + startDate: -Infinity, + startView: 0, + todayBtn: false, + todayHighlight: false, + weekStart: 0 + }; + var locale_opts = $.fn.datepicker.locale_opts = [ + 'format', + 'rtl', + 'weekStart' + ]; + $.fn.datepicker.Constructor = Datepicker; + var dates = $.fn.datepicker.dates = { + en: { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today", + clear: "Clear" + } + }; + + var DPGlobal = { + modes: [ + { + clsName: 'days', + navFnc: 'Month', + navStep: 1 + }, + { + clsName: 'months', + navFnc: 'FullYear', + navStep: 1 + }, + { + clsName: 'years', + navFnc: 'FullYear', + navStep: 10 + }], + isLeapYear: function(year){ + return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)); + }, + getDaysInMonth: function(year, month){ + return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; + }, + validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, + nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g, + parseFormat: function(format){ + // IE treats \0 as a string end in inputs (truncating the value), + // so it's a bad format delimiter, anyway + var separators = format.replace(this.validParts, '\0').split('\0'), + parts = format.match(this.validParts); + if (!separators || !separators.length || !parts || parts.length === 0){ + throw new Error("Invalid date format."); + } + return {separators: separators, parts: parts}; + }, + parseDate: function(date, format, language){ + if (!date) + return undefined; + if (date instanceof Date) + return date; + if (typeof format === 'string') + format = DPGlobal.parseFormat(format); + var part_re = /([\-+]\d+)([dmwy])/, + parts = date.match(/([\-+]\d+)([dmwy])/g), + part, dir, i; + if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)){ + date = new Date(); + for (i=0; i < parts.length; i++){ + part = part_re.exec(parts[i]); + dir = parseInt(part[1]); + switch (part[2]){ + case 'd': + date.setUTCDate(date.getUTCDate() + dir); + break; + case 'm': + date = Datepicker.prototype.moveMonth.call(Datepicker.prototype, date, dir); + break; + case 'w': + date.setUTCDate(date.getUTCDate() + dir * 7); + break; + case 'y': + date = Datepicker.prototype.moveYear.call(Datepicker.prototype, date, dir); + break; + } + } + return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 0, 0, 0); + } + parts = date && date.match(this.nonpunctuation) || []; + date = new Date(); + var parsed = {}, + setters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'], + setters_map = { + yyyy: function(d,v){ + return d.setUTCFullYear(v); + }, + yy: function(d,v){ + return d.setUTCFullYear(2000+v); + }, + m: function(d,v){ + if (isNaN(d)) + return d; + v -= 1; + while (v < 0) v += 12; + v %= 12; + d.setUTCMonth(v); + while (d.getUTCMonth() !== v) + d.setUTCDate(d.getUTCDate()-1); + return d; + }, + d: function(d,v){ + return d.setUTCDate(v); + } + }, + val, filtered; + setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m']; + setters_map['dd'] = setters_map['d']; + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); + var fparts = format.parts.slice(); + // Remove noop parts + if (parts.length !== fparts.length){ + fparts = $(fparts).filter(function(i,p){ + return $.inArray(p, setters_order) !== -1; + }).toArray(); + } + // Process remainder + function match_part(){ + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m === p; + } + if (parts.length === fparts.length){ + var cnt; + for (i=0, cnt = fparts.length; i < cnt; i++){ + val = parseInt(parts[i], 10); + part = fparts[i]; + if (isNaN(val)){ + switch (part){ + case 'MM': + filtered = $(dates[language].months).filter(match_part); + val = $.inArray(filtered[0], dates[language].months) + 1; + break; + case 'M': + filtered = $(dates[language].monthsShort).filter(match_part); + val = $.inArray(filtered[0], dates[language].monthsShort) + 1; + break; + } + } + parsed[part] = val; + } + var _date, s; + for (i=0; i < setters_order.length; i++){ + s = setters_order[i]; + if (s in parsed && !isNaN(parsed[s])){ + _date = new Date(date); + setters_map[s](_date, parsed[s]); + if (!isNaN(_date)) + date = _date; + } + } + } + return date; + }, + formatDate: function(date, format, language){ + if (!date) + return ''; + if (typeof format === 'string') + format = DPGlobal.parseFormat(format); + var val = { + d: date.getUTCDate(), + D: dates[language].daysShort[date.getUTCDay()], + DD: dates[language].days[date.getUTCDay()], + m: date.getUTCMonth() + 1, + M: dates[language].monthsShort[date.getUTCMonth()], + MM: dates[language].months[date.getUTCMonth()], + yy: date.getUTCFullYear().toString().substring(2), + yyyy: date.getUTCFullYear() + }; + val.dd = (val.d < 10 ? '0' : '') + val.d; + val.mm = (val.m < 10 ? '0' : '') + val.m; + date = []; + var seps = $.extend([], format.separators); + for (var i=0, cnt = format.parts.length; i <= cnt; i++){ + if (seps.length) + date.push(seps.shift()); + date.push(val[format.parts[i]]); + } + return date.join(''); + }, + headTemplate: ''+ + ''+ + '«'+ + ''+ + '»'+ + ''+ + '', + contTemplate: '', + footTemplate: ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + '' + }; + DPGlobal.template = '
    '+ + '
    '+ + ''+ + DPGlobal.headTemplate+ + ''+ + DPGlobal.footTemplate+ + '
    '+ + '
    '+ + '
    '+ + ''+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '
    '+ + '
    '+ + '
    '+ + ''+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '
    '+ + '
    '+ + '
    '; + + $.fn.datepicker.DPGlobal = DPGlobal; + + + /* DATEPICKER NO CONFLICT + * =================== */ + + $.fn.datepicker.noConflict = function(){ + $.fn.datepicker = old; + return this; + }; + + + /* DATEPICKER DATA-API + * ================== */ + + $(document).on( + 'focus.datepicker.data-api click.datepicker.data-api', + '[data-provide="datepicker"]', + function(e){ + var $this = $(this); + if ($this.data('datepicker')) + return; + e.preventDefault(); + // component click requires us to explicitly show it + $this.datepicker('show'); + } + ); + $(function(){ + $('[data-provide="datepicker-inline"]').datepicker(); + }); + +}(window.jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ar.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ar.js new file mode 100644 index 000000000000..12ae1821d5d9 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ar.js @@ -0,0 +1,15 @@ +/** + * Arabic translation for bootstrap-datepicker + * Mohammed Alshehri + */ +;(function($){ + $.fn.datepicker.dates['ar'] = { + days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], + daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], + daysMin: ["Ø­", "Ù†", "Ø«", "ع", "Ø®", "ج", "س", "Ø­"], + months: ["يناير", "ÙØ¨Ø±Ø§ÙŠØ±", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوÙمبر", "ديسمبر"], + monthsShort: ["يناير", "ÙØ¨Ø±Ø§ÙŠØ±", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوÙمبر", "ديسمبر"], + today: "هذا اليوم", + rtl: true + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js new file mode 100644 index 000000000000..0285341cacb2 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js @@ -0,0 +1,12 @@ +// Azerbaijani +;(function($){ + $.fn.datepicker.dates['az'] = { + days: ["Bazar", "Bazar ertÉ™si", "ÇərÅŸÉ™nbÉ™ axÅŸamı", "ÇərÅŸÉ™nbÉ™", "CümÉ™ axÅŸamı", "CümÉ™", "ŞənbÉ™", "Bazar"], + daysShort: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Åž.", "B."], + daysMin: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Åž.", "B."], + months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], + monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], + today: "Bu gün", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js new file mode 100644 index 000000000000..6837afd9cb63 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js @@ -0,0 +1,14 @@ +/** + * Bulgarian translation for bootstrap-datepicker + * Apostol Apostolov + */ +;(function($){ + $.fn.datepicker.dates['bg'] = { + days: ["ÐеделÑ", "Понеделник", "Вторник", "СрÑда", "Четвъртък", "Петък", "Събота", "ÐеделÑ"], + daysShort: ["Ðед", "Пон", "Вто", "СрÑ", "Чет", "Пет", "Съб", "Ðед"], + daysMin: ["Ð", "П", "Ð’", "С", "Ч", "П", "С", "Ð"], + months: ["Януари", "Февруари", "Март", "Ðприл", "Май", "Юни", "Юли", "ÐвгуÑÑ‚", "Септември", "Октомври", "Ðоември", "Декември"], + monthsShort: ["Ян", "Фев", "Мар", "Ðпр", "Май", "Юни", "Юли", "Ðвг", "Сеп", "Окт", "Ðое", "Дек"], + today: "днеÑ" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js new file mode 100644 index 000000000000..3fc4d844a594 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js @@ -0,0 +1,14 @@ +/** + * Catalan translation for bootstrap-datepicker + * J. Garcia + */ +;(function($){ + $.fn.datepicker.dates['ca'] = { + days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], + daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], + daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], + months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], + monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], + today: "Avui" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js new file mode 100644 index 000000000000..f76a2c08243d --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js @@ -0,0 +1,15 @@ +/** + * Czech translation for bootstrap-datepicker + * MatÄ›j Koubík + * Fixes by Michal RemiÅ¡ + */ +;(function($){ + $.fn.datepicker.dates['cs'] = { + days: ["NedÄ›le", "PondÄ›lí", "Úterý", "StÅ™eda", "ÄŒtvrtek", "Pátek", "Sobota", "NedÄ›le"], + daysShort: ["Ned", "Pon", "Úte", "StÅ™", "ÄŒtv", "Pát", "Sob", "Ned"], + daysMin: ["Ne", "Po", "Út", "St", "ÄŒt", "Pá", "So", "Ne"], + months: ["Leden", "Únor", "BÅ™ezen", "Duben", "KvÄ›ten", "ÄŒerven", "ÄŒervenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], + monthsShort: ["Led", "Úno", "BÅ™e", "Dub", "KvÄ›", "ÄŒer", "ÄŒnc", "Srp", "Zář", "Říj", "Lis", "Pro"], + today: "Dnes" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cy.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cy.js new file mode 100644 index 000000000000..7e1136ab62aa --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cy.js @@ -0,0 +1,14 @@ +/** + * Welsh translation for bootstrap-datepicker + * S. Morris + */ +;(function($){ + $.fn.datepicker.dates['cy'] = { + days: ["Sul", "Llun", "Mawrth", "Mercher", "Iau", "Gwener", "Sadwrn", "Sul"], + daysShort: ["Sul", "Llu", "Maw", "Mer", "Iau", "Gwe", "Sad", "Sul"], + daysMin: ["Su", "Ll", "Ma", "Me", "Ia", "Gwe", "Sa", "Su"], + months: ["Ionawr", "Chewfror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorfennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr"], + monthsShort: ["Ion", "Chw", "Maw", "Ebr", "Mai", "Meh", "Gor", "Aws", "Med", "Hyd", "Tach", "Rha"], + today: "Heddiw" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js new file mode 100644 index 000000000000..c3d702d451a4 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js @@ -0,0 +1,15 @@ +/** + * Danish translation for bootstrap-datepicker + * Christian Pedersen + */ +;(function($){ + $.fn.datepicker.dates['da'] = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], + months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "I Dag", + clear: "Nulstil" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js new file mode 100644 index 000000000000..a27ba578ef2a --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js @@ -0,0 +1,17 @@ +/** + * German translation for bootstrap-datepicker + * Sam Zurcher + */ +;(function($){ + $.fn.datepicker.dates['de'] = { + days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], + daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], + daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], + months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], + today: "Heute", + clear: "Löschen", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js new file mode 100644 index 000000000000..3b630f387d8e --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js @@ -0,0 +1,13 @@ +/** + * Greek translation for bootstrap-datepicker + */ +;(function($){ + $.fn.datepicker.dates['el'] = { + days: ["ΚυÏιακή", "ΔευτέÏα", "ΤÏίτη", "ΤετάÏτη", "Πέμπτη", "ΠαÏασκευή", "Σάββατο", "ΚυÏιακή"], + daysShort: ["ΚυÏ", "Δευ", "ΤÏι", "Τετ", "Πεμ", "ΠαÏ", "Σαβ", "ΚυÏ"], + daysMin: ["Κυ", "Δε", "ΤÏ", "Τε", "Πε", "Πα", "Σα", "Κυ"], + months: ["ΙανουάÏιος", "ΦεβÏουάÏιος", "ΜάÏτιος", "ΑπÏίλιος", "Μάιος", "ΙοÏνιος", "ΙοÏλιος", "ΑÏγουστος", "ΣεπτέμβÏιος", "ΟκτώβÏιος", "ÎοέμβÏιος", "ΔεκέμβÏιος"], + monthsShort: ["Ιαν", "Φεβ", "ΜαÏ", "ΑπÏ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Îοε", "Δεκ"], + today: "ΣήμεÏα" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js new file mode 100644 index 000000000000..72176902d197 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js @@ -0,0 +1,14 @@ +/** + * Spanish translation for bootstrap-datepicker + * Bruno Bonamin + */ +;(function($){ + $.fn.datepicker.dates['es'] = { + days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], + daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], + months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], + monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], + today: "Hoy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.et.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.et.js new file mode 100644 index 000000000000..87c812ed58bf --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.et.js @@ -0,0 +1,18 @@ +/** + * Estonian translation for bootstrap-datepicker + * Ando Roots + * Fixes by Illimar Tambek < + */ +;(function($){ + $.fn.datepicker.dates['et'] = { + days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], + daysShort: ["Pühap", "Esmasp", "Teisip", "Kolmap", "Neljap", "Reede", "Laup", "Pühap"], + daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], + months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], + monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], + today: "Täna", + clear: "Tühjenda", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fa.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fa.js new file mode 100644 index 000000000000..6503c85dd4ce --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fa.js @@ -0,0 +1,17 @@ +/** + * Persian translation for bootstrap-datepicker + * Mostafa Rokooie + */ +;(function($){ + $.fn.datepicker.dates['fa'] = { + days: ["یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یک‌شنبه"], + daysShort: ["یک", "دو", "سه", "چهار", "پنج", "جمعه", "شنبه", "یک"], + daysMin: ["ÛŒ", "د", "س", "Ú†", "Ù¾", "ج", "Ø´", "ÛŒ"], + months: ["ژانویه", "Ùوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + monthsShort: ["ژان", "Ùور", "مار", "آور", "مه", "ژون", "Ú˜ÙˆÛŒ", "اوت", "سپت", "اکت", "نوا", "دسا"], + today: "امروز", + clear: "پاک Ú©Ù†", + weekStart: 1, + format: "yyyy/mm/dd" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js new file mode 100644 index 000000000000..01f40dc2fe46 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js @@ -0,0 +1,16 @@ +/** + * Finnish translation for bootstrap-datepicker + * Jaakko Salonen + */ +;(function($){ + $.fn.datepicker.dates['fi'] = { + days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], + daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], + daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], + months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], + monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], + today: "tänään", + weekStart: 1, + format: "d.m.yyyy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js new file mode 100644 index 000000000000..eff07aa6f7e3 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js @@ -0,0 +1,17 @@ +/** + * French translation for bootstrap-datepicker + * Nico Mollet + */ +;(function($){ + $.fn.datepicker.dates['fr'] = { + days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], + daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], + daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], + months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], + monthsShort: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc"], + today: "Aujourd'hui", + clear: "Effacer", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.gl.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.gl.js new file mode 100644 index 000000000000..538fd5e3b843 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.gl.js @@ -0,0 +1,11 @@ +;(function($){ + $.fn.datepicker.dates['gl'] = { + days: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado", "Domingo"], + daysShort: ["Dom", "Lun", "Mar", "Mér", "Xov", "Ven", "Sáb", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Me", "Xo", "Ve", "Sa", "Do"], + months: ["Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"], + monthsShort: ["Xan", "Feb", "Mar", "Abr", "Mai", "Xun", "Xul", "Ago", "Sep", "Out", "Nov", "Dec"], + today: "Hoxe", + clear: "Limpar" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js new file mode 100644 index 000000000000..2e17393b1280 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js @@ -0,0 +1,15 @@ +/** + * Hebrew translation for bootstrap-datepicker + * Sagie Maoz + */ +;(function($){ + $.fn.datepicker.dates['he'] = { + days: ["ר×שון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ר×שון"], + daysShort: ["×", "ב", "×’", "ד", "×”", "ו", "ש", "×"], + daysMin: ["×", "ב", "×’", "ד", "×”", "ו", "ש", "×"], + months: ["ינו×ר", "פברו×ר", "מרץ", "×פריל", "מ××™", "יוני", "יולי", "×וגוסט", "ספטמבר", "×וקטובר", "נובמבר", "דצמבר"], + monthsShort: ["ינו", "פבר", "מרץ", "×פר", "מ××™", "יונ", "יול", "×וג", "ספט", "×וק", "נוב", "דצמ"], + today: "היו×", + rtl: true + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js new file mode 100644 index 000000000000..655ea54b40fe --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js @@ -0,0 +1,13 @@ +/** + * Croatian localisation + */ +;(function($){ + $.fn.datepicker.dates['hr'] = { + days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "ÄŒetvrtak", "Petak", "Subota", "Nedjelja"], + daysShort: ["Ned", "Pon", "Uto", "Sri", "ÄŒet", "Pet", "Sub", "Ned"], + daysMin: ["Ne", "Po", "Ut", "Sr", "ÄŒe", "Pe", "Su", "Ne"], + months: ["SijeÄanj", "VeljaÄa", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], + monthsShort: ["Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"], + today: "Danas" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js new file mode 100644 index 000000000000..bf5308a1361f --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js @@ -0,0 +1,16 @@ +/** + * Hungarian translation for bootstrap-datepicker + * Sotus László + */ +;(function($){ + $.fn.datepicker.dates['hu'] = { + days: ["Vasárnap", "HétfÅ‘", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], + daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], + daysMin: ["Va", "Hé", "Ke", "Sz", "Cs", "Pé", "Sz", "Va"], + months: ["Január", "Február", "Március", "Ãprilis", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], + monthsShort: ["Jan", "Feb", "Már", "Ãpr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], + today: "Ma", + weekStart: 1, + format: "yyyy.mm.dd" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js new file mode 100644 index 000000000000..aae6e8960c8f --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js @@ -0,0 +1,15 @@ +/** + * Bahasa translation for bootstrap-datepicker + * Azwar Akbar + */ +;(function($){ + $.fn.datepicker.dates['id'] = { + days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], + daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"], + daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], + months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], + today: "Hari Ini", + clear: "Kosongkan" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js new file mode 100644 index 000000000000..0e57a9168168 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js @@ -0,0 +1,14 @@ +/** + * Icelandic translation for bootstrap-datepicker + * Hinrik Örn Sigurðsson + */ +;(function($){ + $.fn.datepicker.dates['is'] = { + days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], + daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], + daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], + months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ãgúst", "September", "Október", "Nóvember", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ãgú", "Sep", "Okt", "Nóv", "Des"], + today: "à Dag" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js new file mode 100644 index 000000000000..9f476fa232e5 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js @@ -0,0 +1,17 @@ +/** + * Italian translation for bootstrap-datepicker + * Enrico Rubboli + */ +;(function($){ + $.fn.datepicker.dates['it'] = { + days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"], + daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], + months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], + monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], + today: "Oggi", + clear: "Cancella", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js new file mode 100644 index 000000000000..ed0bc0f9dbc2 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js @@ -0,0 +1,15 @@ +/** + * Japanese translation for bootstrap-datepicker + * Norio Suzuki + */ +;(function($){ + $.fn.datepicker.dates['ja'] = { + days: ["日曜", "月曜", "ç«æ›œ", "水曜", "木曜", "金曜", "土曜", "日曜"], + daysShort: ["æ—¥", "月", "ç«", "æ°´", "木", "金", "土", "æ—¥"], + daysMin: ["æ—¥", "月", "ç«", "æ°´", "木", "金", "土", "æ—¥"], + months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + today: "今日", + format: "yyyy/mm/dd" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ka.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ka.js new file mode 100644 index 000000000000..5434454943a0 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ka.js @@ -0,0 +1,17 @@ +/** + * Georgian translation for bootstrap-datepicker + * Levan Melikishvili + */ +;(function($){ + $.fn.datepicker.dates['ka'] = { + days: ["კვირáƒ", "áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ი", "სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი", "áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი", "ხუთშáƒáƒ‘áƒáƒ—ი", "პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი", "შáƒáƒ‘áƒáƒ—ი", "კვირáƒ"], + daysShort: ["კვი", "áƒáƒ áƒ¨", "სáƒáƒ›", "áƒáƒ—ხ", "ხუთ", "პáƒáƒ ", "შáƒáƒ‘", "კვი"], + daysMin: ["კვ", "áƒáƒ ", "სáƒ", "áƒáƒ—", "ხუ", "პáƒ", "შáƒ", "კვ"], + months: ["იáƒáƒœáƒ•áƒáƒ áƒ˜", "თებერვáƒáƒšáƒ˜", "მáƒáƒ áƒ¢áƒ˜", "áƒáƒžáƒ áƒ˜áƒšáƒ˜", "მáƒáƒ˜áƒ¡áƒ˜", "ივნისი", "ივლისი", "áƒáƒ’ვისტáƒ", "სექტემბერი", "áƒáƒ¥áƒ¢áƒáƒ›áƒ”ბი", "ნáƒáƒ”მბერი", "დეკემბერი"], + monthsShort: ["იáƒáƒœ", "თებ", "მáƒáƒ ", "áƒáƒžáƒ ", "მáƒáƒ˜", "ივნ", "ივლ", "áƒáƒ’ვ", "სექ", "áƒáƒ¥áƒ¢", "ნáƒáƒ”", "დეკ"], + today: "დღეს", + clear: "გáƒáƒ¡áƒ£áƒ¤áƒ—áƒáƒ•ებáƒ", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kk.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kk.js new file mode 100644 index 000000000000..94dd6b8f125e --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kk.js @@ -0,0 +1,15 @@ +/** + * Kazakh translation for bootstrap-datepicker + * Yerzhan Tolekov + */ +;(function($){ + $.fn.datepicker.dates['kk'] = { + days: ["ЖекÑенбі", "ДүйÑенбі", "СейÑенбі", "СәрÑенбі", "БейÑенбі", "Жұма", "Сенбі", "ЖекÑенбі"], + daysShort: ["Жек", "Дүй", "Сей", "Сәр", "Бей", "Жұм", "Сен", "Жек"], + daysMin: ["Жк", "ДÑ", "СÑ", "Ср", "БÑ", "Жм", "Сн", "Жк"], + months: ["Қаңтар", "Ðқпан", "Ðаурыз", "Сәуір", "Мамыр", "МауÑым", "Шілде", "Тамыз", "Қыркүйек", "Қазан", "Қараша", "ЖелтоқÑан"], + monthsShort: ["Қаң", "Ðқп", "Ðау", "Сәу", "Мамыр", "Мау", "Шлд", "Тмз", "Қыр", "Қзн", "Қар", "Жел"], + today: "Бүгін", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js new file mode 100644 index 000000000000..183a88d159ba --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js @@ -0,0 +1,13 @@ +/** + * Korean translation for bootstrap-datepicker + * Gu Youn + */ +;(function($){ + $.fn.datepicker.dates['kr'] = { + days: ["ì¼ìš”ì¼", "월요ì¼", "화요ì¼", "수요ì¼", "목요ì¼", "금요ì¼", "토요ì¼", "ì¼ìš”ì¼"], + daysShort: ["ì¼", "ì›”", "í™”", "수", "목", "금", "토", "ì¼"], + daysMin: ["ì¼", "ì›”", "í™”", "수", "목", "금", "토", "ì¼"], + months: ["1ì›”", "2ì›”", "3ì›”", "4ì›”", "5ì›”", "6ì›”", "7ì›”", "8ì›”", "9ì›”", "10ì›”", "11ì›”", "12ì›”"], + monthsShort: ["1ì›”", "2ì›”", "3ì›”", "4ì›”", "5ì›”", "6ì›”", "7ì›”", "8ì›”", "9ì›”", "10ì›”", "11ì›”", "12ì›”"] + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js new file mode 100644 index 000000000000..11c1b3ad4104 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js @@ -0,0 +1,16 @@ +/** + * Lithuanian translation for bootstrap-datepicker + * Å arÅ«nas Gliebus + */ + +;(function($){ + $.fn.datepicker.dates['lt'] = { + days: ["Sekmadienis", "Pirmadienis", "Antradienis", "TreÄiadienis", "Ketvirtadienis", "Penktadienis", "Å eÅ¡tadienis", "Sekmadienis"], + daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Å ", "S"], + daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Å t", "Sk"], + months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "RugpjÅ«tis", "RugsÄ—jis", "Spalis", "Lapkritis", "Gruodis"], + monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], + today: "Å iandien", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js new file mode 100644 index 000000000000..76d0f3a6cb5b --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js @@ -0,0 +1,16 @@ +/** + * Latvian translation for bootstrap-datepicker + * Artis Avotins + */ + +;(function($){ + $.fn.datepicker.dates['lv'] = { + days: ["SvÄ“tdiena", "Pirmdiena", "Otrdiena", "TreÅ¡diena", "Ceturtdiena", "Piektdiena", "Sestdiena", "SvÄ“tdiena"], + daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], + daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se", "Sv"], + months: ["JanvÄris", "FebruÄris", "Marts", "AprÄ«lis", "Maijs", "JÅ«nijs", "JÅ«lijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "JÅ«n", "JÅ«l", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Å odien", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.mk.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.mk.js new file mode 100644 index 000000000000..0ab8cf6814d7 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.mk.js @@ -0,0 +1,15 @@ +/** + * Macedonian translation for bootstrap-datepicker + * Marko Aleksic + */ +;(function($){ + $.fn.datepicker.dates['mk'] = { + days: ["Ðедела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота", "Ðедела"], + daysShort: ["Ðед", "Пон", "Вто", "Сре", "Чет", "Пет", "Саб", "Ðед"], + daysMin: ["Ðе", "По", "Ð’Ñ‚", "Ср", "Че", "Пе", "Са", "Ðе"], + months: ["Јануари", "Февруари", "Март", "Ðприл", "Мај", "Јуни", "Јули", "ÐвгуÑÑ‚", "Септември", "Октомври", "Ðоември", "Декември"], + monthsShort: ["Јан", "Фев", "Мар", "Ðпр", "Мај", "Јун", "Јул", "Ðвг", "Сеп", "Окт", "Ðое", "Дек"], + today: "ДенеÑ", + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js new file mode 100644 index 000000000000..fa3a21a54d02 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js @@ -0,0 +1,14 @@ +/** + * Malay translation for bootstrap-datepicker + * Ateman Faiz + */ +;(function($){ + $.fn.datepicker.dates['ms'] = { + days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], + daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], + daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], + months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], + today: "Hari Ini" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js new file mode 100644 index 000000000000..7b28e84f5ce9 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js @@ -0,0 +1,14 @@ +/** + * Norwegian (bokmÃ¥l) translation for bootstrap-datepicker + * Fredrik Sundmyhr + */ +;(function($){ + $.fn.datepicker.dates['nb'] = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], + months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], + today: "I Dag" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl-BE.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl-BE.js new file mode 100644 index 000000000000..ee4201a6690e --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl-BE.js @@ -0,0 +1,17 @@ +/** + * Belgium-Dutch translation for bootstrap-datepicker + * Julien Poulin + */ +;(function($){ + $.fn.datepicker.dates['nl-BE'] = { + days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], + daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], + daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], + months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Vandaag", + clear: "Leegmaken", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js new file mode 100644 index 000000000000..13a2f1a35818 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js @@ -0,0 +1,14 @@ +/** + * Dutch translation for bootstrap-datepicker + * Reinier Goltstein + */ +;(function($){ + $.fn.datepicker.dates['nl'] = { + days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], + daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], + daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], + months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Vandaag" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js new file mode 100644 index 000000000000..c29ec83bc127 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js @@ -0,0 +1,16 @@ +/** + * Norwegian translation for bootstrap-datepicker + **/ +;(function($){ + $.fn.datepicker.dates['no'] = { + days: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], + daysShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], + daysMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], + months: ['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember'], + monthsShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Des'], + today: 'I dag', + clear: 'Nullstill', + weekStart: 1, + format: 'dd.mm.yyyy' + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js new file mode 100644 index 000000000000..f3fff8c8ff05 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js @@ -0,0 +1,15 @@ +/** + * Polish translation for bootstrap-datepicker + * Robert + */ +;(function($){ + $.fn.datepicker.dates['pl'] = { + days: ["Niedziela", "PoniedziaÅ‚ek", "Wtorek", "Åšroda", "Czwartek", "PiÄ…tek", "Sobota", "Niedziela"], + daysShort: ["Nie", "Pn", "Wt", "Åšr", "Czw", "Pt", "So", "Nie"], + daysMin: ["N", "Pn", "Wt", "Åšr", "Cz", "Pt", "So", "N"], + months: ["StyczeÅ„", "Luty", "Marzec", "KwiecieÅ„", "Maj", "Czerwiec", "Lipiec", "SierpieÅ„", "WrzesieÅ„", "Październik", "Listopad", "GrudzieÅ„"], + monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], + today: "Dzisiaj", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js new file mode 100644 index 000000000000..eb642b7c77da --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js @@ -0,0 +1,15 @@ +/** + * Brazilian translation for bootstrap-datepicker + * Cauan Cabral + */ +;(function($){ + $.fn.datepicker.dates['pt-BR'] = { + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], + today: "Hoje", + clear: "Limpar" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js new file mode 100644 index 000000000000..e54981d33001 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js @@ -0,0 +1,16 @@ +/** + * Portuguese translation for bootstrap-datepicker + * Original code: Cauan Cabral + * Tiago Melo + */ +;(function($){ + $.fn.datepicker.dates['pt'] = { + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], + today: "Hoje", + clear: "Limpar" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js new file mode 100644 index 000000000000..e1e65df2ed65 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js @@ -0,0 +1,16 @@ +/** + * Romanian translation for bootstrap-datepicker + * Cristian Vasile + */ +;(function($){ + $.fn.datepicker.dates['ro'] = { + days: ["Duminică", "Luni", "MarÅ£i", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], + daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], + daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], + months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], + monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Astăzi", + clear: "Șterge", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js new file mode 100644 index 000000000000..d94248526d88 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js @@ -0,0 +1,14 @@ +/** + * Serbian latin translation for bootstrap-datepicker + * Bojan Milosavlević + */ +;(function($){ + $.fn.datepicker.dates['rs-latin'] = { + days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "ÄŒetvrtak", "Petak", "Subota", "Nedelja"], + daysShort: ["Ned", "Pon", "Uto", "Sre", "ÄŒet", "Pet", "Sub", "Ned"], + daysMin: ["N", "Po", "U", "Sr", "ÄŒ", "Pe", "Su", "N"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danas" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js new file mode 100644 index 000000000000..6b6574733293 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js @@ -0,0 +1,14 @@ +/** + * Serbian cyrillic translation for bootstrap-datepicker + * Bojan Milosavlević + */ +;(function($){ + $.fn.datepicker.dates['rs'] = { + days: ["Ðедеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Ðедеља"], + daysShort: ["Ðед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Ðед"], + daysMin: ["Ð", "По", "У", "Ср", "Ч", "Пе", "Су", "Ð"], + months: ["Јануар", "Фебруар", "Март", "Ðприл", "Мај", "Јун", "Јул", "ÐвгуÑÑ‚", "Септембар", "Октобар", "Ðовембар", "Децембар"], + monthsShort: ["Јан", "Феб", "Мар", "Ðпр", "Мај", "Јун", "Јул", "Ðвг", "Сеп", "Окт", "Ðов", "Дец"], + today: "ДанаÑ" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js new file mode 100644 index 000000000000..e230aa92a4aa --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js @@ -0,0 +1,15 @@ +/** + * Russian translation for bootstrap-datepicker + * Victor Taranenko + */ +;(function($){ + $.fn.datepicker.dates['ru'] = { + days: ["ВоÑкреÑенье", "Понедельник", "Вторник", "Среда", "Четверг", "ПÑтница", "Суббота", "ВоÑкреÑенье"], + daysShort: ["Ð’Ñк", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Ð’Ñк"], + daysMin: ["Ð’Ñ", "Пн", "Ð’Ñ‚", "Ср", "Чт", "Пт", "Сб", "Ð’Ñ"], + months: ["Январь", "Февраль", "Март", "Ðпрель", "Май", "Июнь", "Июль", "ÐвгуÑÑ‚", "СентÑбрь", "ОктÑбрь", "ÐоÑбрь", "Декабрь"], + monthsShort: ["Янв", "Фев", "Мар", "Ðпр", "Май", "Июн", "Июл", "Ðвг", "Сен", "Окт", "ÐоÑ", "Дек"], + today: "СегоднÑ", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js new file mode 100644 index 000000000000..c48032a5629a --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js @@ -0,0 +1,15 @@ +/** + * Slovak translation for bootstrap-datepicker + * Marek Lichtner + * Fixes by Michal RemiÅ¡ + */ +;(function($){ + $.fn.datepicker.dates["sk"] = { + days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Å tvrtok", "Piatok", "Sobota", "Nedeľa"], + daysShort: ["Ned", "Pon", "Uto", "Str", "Å tv", "Pia", "Sob", "Ned"], + daysMin: ["Ne", "Po", "Ut", "St", "Å t", "Pia", "So", "Ne"], + months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Dnes" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js new file mode 100644 index 000000000000..41b0e0603372 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js @@ -0,0 +1,14 @@ +/** + * Slovene translation for bootstrap-datepicker + * Gregor Rudolf + */ +;(function($){ + $.fn.datepicker.dates['sl'] = { + days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "ÄŒetrtek", "Petek", "Sobota", "Nedelja"], + daysShort: ["Ned", "Pon", "Tor", "Sre", "ÄŒet", "Pet", "Sob", "Ned"], + daysMin: ["Ne", "Po", "To", "Sr", "ÄŒe", "Pe", "So", "Ne"], + months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danes" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js new file mode 100644 index 000000000000..a045a9d9a1be --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js @@ -0,0 +1,15 @@ +/** + * Albanian translation for bootstrap-datepicker + * Tomor Pupovci + */ +;(function($){ + $.fn.datepicker.dates['sq'] = { + days: ["E Diel", "E Hënë", "E martÄ“", "E mërkurë", "E Enjte", "E Premte", "E Shtunë", "E Diel"], + daysShort: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu", "Die"], + daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht", "Di"], + months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"], + monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"], + today: "Sot" + }; +}(jQuery)); + diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js new file mode 100644 index 000000000000..029cea003252 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js @@ -0,0 +1,16 @@ +/** + * Swedish translation for bootstrap-datepicker + * Patrik Ragnarsson + */ +;(function($){ + $.fn.datepicker.dates['sv'] = { + days: ["Söndag", "MÃ¥ndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], + daysShort: ["Sön", "MÃ¥n", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], + daysMin: ["Sö", "MÃ¥", "Ti", "On", "To", "Fr", "Lö", "Sö"], + months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Idag", + format: "yyyy-mm-dd", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js new file mode 100644 index 000000000000..622e0ef0d78f --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js @@ -0,0 +1,15 @@ +/** + * Swahili translation for bootstrap-datepicker + * Edwin Mugendi + * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku + */ +;(function($){ + $.fn.datepicker.dates['sw'] = { + days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], + daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], + daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], + months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], + monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], + today: "Leo" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js new file mode 100644 index 000000000000..562b063c5056 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js @@ -0,0 +1,14 @@ +/** + * Thai translation for bootstrap-datepicker + * Suchau Jiraprapot + */ +;(function($){ + $.fn.datepicker.dates['th'] = { + days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุà¸à¸£à¹Œ", "เสาร์", "อาทิตย์"], + daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], + daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], + months: ["มà¸à¸£à¸²à¸„ม", "à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "à¸à¸£à¸à¸Žà¸²à¸„ม", "สิงหาคม", "à¸à¸±à¸™à¸¢à¸²à¸¢à¸™", "ตุลาคม", "พฤศจิà¸à¸²à¸¢à¸™", "ธันวาคม"], + monthsShort: ["ม.ค.", "à¸.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "à¸.ค.", "ส.ค.", "à¸.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], + today: "วันนี้" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js new file mode 100644 index 000000000000..2be8b6d83069 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js @@ -0,0 +1,16 @@ +/** + * Turkish translation for bootstrap-datepicker + * Serkan Algur + */ +;(function($){ + $.fn.datepicker.dates['tr'] = { + days: ["Pazar", "Pazartesi", "Salı", "ÇarÅŸamba", "PerÅŸembe", "Cuma", "Cumartesi", "Pazar"], + daysShort: ["Pz", "Pzt", "Sal", "ÇrÅŸ", "PrÅŸ", "Cu", "Cts", "Pz"], + daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], + months: ["Ocak", "Åžubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "AÄŸustos", "Eylül", "Ekim", "Kasım", "Aralık"], + monthsShort: ["Oca", "Åžub", "Mar", "Nis", "May", "Haz", "Tem", "AÄŸu", "Eyl", "Eki", "Kas", "Ara"], + today: "Bugün", + format: "dd.mm.yyyy" + }; +}(jQuery)); + diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ua.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ua.js new file mode 100644 index 000000000000..d4bb0f028a23 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ua.js @@ -0,0 +1,15 @@ +/** + * Ukrainian translation for bootstrap-datepicker + * Igor Polynets + */ +;(function($){ + $.fn.datepicker.dates['ua'] = { + days: ["ÐеділÑ", "Понеділок", "Вівторок", "Середа", "Четвер", "П'Ñтница", "Субота", "ÐеділÑ"], + daysShort: ["Ðед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Ðед"], + daysMin: ["Ðд", "Пн", "Ð’Ñ‚", "Ср", "Чт", "Пт", "Сб", "Ðд"], + months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "ВереÑень", "Жовтень", "ЛиÑтопад", "Грудень"], + monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "ЛиÑ", "Гру"], + today: "Сьогодні", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.vi.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.vi.js new file mode 100644 index 000000000000..a8cc52eec331 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.vi.js @@ -0,0 +1,16 @@ +/** + * Vietnamese translation for bootstrap-datepicker + * An Vo + */ +;(function($){ + $.fn.datepicker.dates['vi'] = { + days: ["Chá»§ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy", "Chá»§ nhật"], + daysShort: ["CN", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7", "CN"], + daysMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7", "CN"], + months: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"], + monthsShort: ["Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12"], + today: "Hôm nay", + clear: "Xóa", + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js new file mode 100644 index 000000000000..d6625ec61d9e --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js @@ -0,0 +1,16 @@ +/** + * Simplified Chinese translation for bootstrap-datepicker + * Yuan Cheung + */ +;(function($){ + $.fn.datepicker.dates['zh-CN'] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], + daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], + daysMin: ["æ—¥", "一", "二", "三", "å››", "五", "å…­", "æ—¥"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "乿œˆ", "åæœˆ", "å一月", "å二月"], + monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "乿œˆ", "åæœˆ", "å一月", "å二月"], + today: "今日", + format: "yyyyå¹´mm月ddæ—¥", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js new file mode 100644 index 000000000000..53337ae06b67 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js @@ -0,0 +1,17 @@ +/** + * Traditional Chinese translation for bootstrap-datepicker + * Rung-Sheng Jang + * FrankWu Fix more appropriate use of Traditional Chinese habit + */ +;(function($){ + $.fn.datepicker.dates['zh-TW'] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], + daysShort: ["週日", "週一", "週二", "週三", "週四", "週五", "週六", "週日"], + daysMin: ["æ—¥", "一", "二", "三", "å››", "五", "å…­", "æ—¥"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "乿œˆ", "åæœˆ", "å一月", "å二月"], + monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "乿œˆ", "åæœˆ", "å一月", "å二月"], + today: "今天", + format: "yyyyå¹´mm月ddæ—¥", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/less/datepicker.less b/public/vendor/bootstrap-datepicker/less/datepicker.less new file mode 100644 index 000000000000..003e957bd040 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/less/datepicker.less @@ -0,0 +1,257 @@ +/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ + +.datepicker { + padding: 4px; + .border-radius(4px); + &-inline { + width: 220px; + } + direction: ltr; + &&-rtl { + direction: rtl; + table tr td span { + float: right; + } + } + &-dropdown { + top: 0; + left: 0; + &:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-top: 0; + border-bottom-color: rgba(0,0,0,.2); + position: absolute; + } + &:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid @white; + border-top: 0; + position: absolute; + } + &.datepicker-orient-left:before { left: 6px; } + &.datepicker-orient-left:after { left: 7px; } + &.datepicker-orient-right:before { right: 6px; } + &.datepicker-orient-right:after { right: 7px; } + &.datepicker-orient-top:before { top: -7px; } + &.datepicker-orient-top:after { top: -6px; } + &.datepicker-orient-bottom:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; + } + &.datepicker-orient-bottom:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid @white; + } + } + >div { + display: none; + } + &.days div.datepicker-days { + display: block; + } + &.months div.datepicker-months { + display: block; + } + &.years div.datepicker-years { + display: block; + } + table{ + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + td, + th{ + text-align: center; + width: 20px; + height: 20px; + .border-radius(4px); + + border: none; + } + // Inline display inside a table presents some problems with + // border and background colors. + .table-striped & table tr { + td, th { + background-color:transparent; + } + } + table tr td { + &.day:hover, &.day.focused { + background: @grayLighter; + cursor: pointer; + } + &.old, + &.new { + color: @grayLight; + } + &.disabled, + &.disabled:hover { + background: none; + color: @grayLight; + cursor: default; + } + &.today, + &.today:hover, + &.today.disabled, + &.today.disabled:hover { + @todayBackground: lighten(@orange, 30%); + .buttonBackground(@todayBackground, spin(@todayBackground, 20)); + color: #000; + } + &.today:hover:hover { // Thank bootstrap 2.0 for this selector... + // TODO: Bump min BS to 2.1, use @textColor in buttonBackground above + color: #000; + } + &.today.active:hover { + color: #fff; + } + &.range, + &.range:hover, + &.range.disabled, + &.range.disabled:hover { + background:@grayLighter; + .border-radius(0); + } + &.range.today, + &.range.today:hover, + &.range.today.disabled, + &.range.today.disabled:hover { + @todayBackground: mix(@orange, @grayLighter, 50%); + .buttonBackground(@todayBackground, spin(@todayBackground, 20)); + .border-radius(0); + } + &.selected, + &.selected:hover, + &.selected.disabled, + &.selected.disabled:hover { + .buttonBackground(lighten(@grayLight, 10), darken(@grayLight, 10)); + color: #fff; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } + &.active, + &.active:hover, + &.active.disabled, + &.active.disabled:hover { + .buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20)); + color: #fff; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } + span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + .border-radius(4px); + &:hover { + background: @grayLighter; + } + &.disabled, + &.disabled:hover { + background:none; + color: @grayLight; + cursor: default; + } + &.active, + &.active:hover, + &.active.disabled, + &.active.disabled:hover { + .buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20)); + color: #fff; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } + &.old, + &.new { + color: @grayLight; + } + } + } + + th.datepicker-switch { + width: 145px; + } + + thead tr:first-child th, + tfoot tr th { + cursor: pointer; + &:hover{ + background: @grayLighter; + } + } + /*.dow { + border-top: 1px solid #ddd !important; + }*/ + + // Basic styling for calendar-week cells + .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; + } + thead tr:first-child th.cw { + cursor: default; + background-color: transparent; + } +} +.input-append, +.input-prepend { + &.date { + .add-on i { + cursor: pointer; + width: 16px; + height: 16px; + } + } +} +.input-daterange { + input { + text-align:center; + } + input:first-child { + .border-radius(3px 0 0 3px); + } + input:last-child { + .border-radius(0 3px 3px 0); + } + .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: @baseLineHeight; + padding: 4px 5px; + font-weight: normal; + line-height: @baseLineHeight; + text-align: center; + text-shadow: 0 1px 0 @white; + vertical-align: middle; + background-color: @grayLighter; + border: 1px solid #ccc; + margin-left:-5px; + margin-right:-5px; + } +} diff --git a/public/vendor/bootstrap-datepicker/less/datepicker3.less b/public/vendor/bootstrap-datepicker/less/datepicker3.less new file mode 100644 index 000000000000..90d633beb707 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/less/datepicker3.less @@ -0,0 +1,252 @@ +/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ + +.datepicker { + padding: 4px; + border-radius: 4px; + &-inline { + width: 220px; + } + direction: ltr; + &&-rtl { + direction: rtl; + table tr td span { + float: right; + } + } + &-dropdown { + top: 0; + left: 0; + &:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-top: 0; + border-bottom-color: rgba(0,0,0,.2); + position: absolute; + } + &:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute; + } + &.datepicker-orient-left:before { left: 6px; } + &.datepicker-orient-left:after { left: 7px; } + &.datepicker-orient-right:before { right: 6px; } + &.datepicker-orient-right:after { right: 7px; } + &.datepicker-orient-top:before { top: -7px; } + &.datepicker-orient-top:after { top: -6px; } + &.datepicker-orient-bottom:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; + } + &.datepicker-orient-bottom:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff; + } + } + >div { + display: none; + } + &.days div.datepicker-days { + display: block; + } + &.months div.datepicker-months { + display: block; + } + &.years div.datepicker-years { + display: block; + } + table{ + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + tr { + td, th { + text-align: center; + width: 30px; + height: 30px; + border-radius: 4px; + + border: none; + } + } + } + // Inline display inside a table presents some problems with + // border and background colors. + .table-striped & table tr { + td, th { + background-color:transparent; + } + } + table tr td { + &.day:hover, &.day.focused { + background: @gray-lighter; + cursor: pointer; + } + &.old, + &.new { + color: @btn-link-disabled-color; + } + &.disabled, + &.disabled:hover { + background: none; + color: @btn-link-disabled-color; + cursor: default; + } + &.today, + &.today:hover, + &.today.disabled, + &.today.disabled:hover { + @today-bg: lighten(orange, 30%); + .button-variant(#000, @today-bg, darken(@today-bg, 20%)); + } + &.today:hover:hover { // Thank bootstrap 2.0 for this selector... + // TODO: Bump min BS to 2.1, use @textColor in buttonBackground above + color: #000; + } + &.today.active:hover { + color: #fff; + } + &.range, + &.range:hover, + &.range.disabled, + &.range.disabled:hover { + background:@gray-lighter; + border-radius: 0; + } + &.range.today, + &.range.today:hover, + &.range.today.disabled, + &.range.today.disabled:hover { + @today-bg: mix(orange, @gray-lighter, 50%); + .button-variant(#000, @today-bg, darken(@today-bg, 20%)); + border-radius: 0; + } + &.selected, + &.selected:hover, + &.selected.disabled, + &.selected.disabled:hover { + .button-variant(#fff, @gray-light, @gray); + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } + &.active, + &.active:hover, + &.active.disabled, + &.active.disabled:hover { + .button-variant(@btn-primary-color, @btn-primary-bg, @btn-primary-border); + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } + span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px; + &:hover { + background: @gray-lighter; + } + &.disabled, + &.disabled:hover { + background: none; + color: @btn-link-disabled-color; + cursor: default; + } + &.active, + &.active:hover, + &.active.disabled, + &.active.disabled:hover { + .button-variant(@btn-primary-color, @btn-primary-bg, @btn-primary-border); + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } + &.old, + &.new { + color: @btn-link-disabled-color; + } + } + } + + th.datepicker-switch { + width: 145px; + } + + thead tr:first-child th, + tfoot tr th { + cursor: pointer; + &:hover{ + background: @gray-lighter; + } + } + /*.dow { + border-top: 1px solid #ddd !important; + }*/ + + // Basic styling for calendar-week cells + .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; + } + thead tr:first-child th.cw { + cursor: default; + background-color: transparent; + } +} +.input-group { + &.date { + .input-group-addon i { + cursor: pointer; + width: 16px; + height: 16px; + } + } +} +.input-daterange { + input { + text-align:center; + } + input:first-child { + border-radius: 3px 0 0 3px; + } + input:last-child { + border-radius: 0 3px 3px 0; + } + .input-group-addon { + width: auto; + min-width: 16px; + padding: 4px 5px; + font-weight: normal; + line-height: @line-height-base; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: @input-group-addon-bg; + border: solid @input-group-addon-border-color; + border-width: 1px 0; + margin-left:-5px; + margin-right:-5px; + } +} diff --git a/public/vendor/bootstrap-datepicker/tests/README.md b/public/vendor/bootstrap-datepicker/tests/README.md new file mode 100644 index 000000000000..6f48f2bddad0 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/README.md @@ -0,0 +1,55 @@ +Unit tests, written with [QUnit](http://docs.jquery.com/QUnit), are used to +expose bugs for squashing, prevent bugs from respawning, and suppress new +bugs when adding new features and making changes. + +# Running the tests + +The simplest way to run the tests is to open `tests/tests.html` in your browser. +The test suites will automatically run themselves and present their results. + +To run the tests from the command line, download and install +[PhantomJS](http://phantomjs.org/), and run `run-qunit.js` with it: + + $ cd tests/ + $ phantomjs run-qunit.js tests.html + +Failed tests and their failed assertions will be printed to the console. A +results summary will be printed at the end. + +To generate coverage statistics, use [JSCoverage](http://siliconforks.com/jscoverage/) +to instrument the js files: + + $ cd tests/ + $ jscoverage ../js/ ../instrumented/ + $ phantomjs run-qunit.js tests.html + +Coverage percentage will be included in the output summary, and a highlighted +line-by-line html file will be generated. + +# Shout-out + +Thanks to Rod @ While One Fork for the +[CIS guide](http://whileonefork.blogspot.com/2011/10/integrating-javascript-tests-into-cli.html) +on putting the above together. + +# Adding tests + +Tests go in js files in the `tests/suites/` directory tree. QUnit organizes +tests into suites called "modules"; there is one module per js file. If the +tests you are adding do not fit into an existing module, create a new one at +`tests/suites/.js`, where `` is a broad yet +descriptive name for the suite. If tests have many year-specific cases (ie, +behave differently in leap years vs normal years, or have specific buggy +behavior in a certain year), create the module in a new directory, +`tests/suites//.js`, where `` is the decriptive +name and `` is the four-digit year the tests pertain to. + +In order for new tests to be run, they must be imported into `tests/tests.html`. +Find the script includes headed by the html comment ``, and +add a new one to the list which includes the new js files. + +# Can I use this? + +By all means, please do! Just note that I stopped working on this structure +once it fit my needs, there's no real support for it, and it may change in the +future. Otherwise, have at it. diff --git a/public/vendor/bootstrap-datepicker/tests/_coverage.html b/public/vendor/bootstrap-datepicker/tests/_coverage.html new file mode 100644 index 000000000000..33d838de0e3b --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/_coverage.html @@ -0,0 +1,26 @@ + + + + + + + +COLORIZED_LINE_HTML + + + + diff --git a/public/vendor/bootstrap-datepicker/tests/assets/coverage.js b/public/vendor/bootstrap-datepicker/tests/assets/coverage.js new file mode 100644 index 000000000000..2e5704bc8300 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/assets/coverage.js @@ -0,0 +1,48 @@ +(function(){ + //we want this at global scope so outside callers can find it. In a more realistic implementation we + //should probably put it in a namespace. + window.getCoverageByLine = function(silent) { + var key = null; + var lines = null; + var source = null; + //look for code coverage data + if (typeof window._$jscoverage === 'object') { + for (key in _$jscoverage) {} + lines = _$jscoverage[key]; + } + + if (!lines && !silent) { + console.log('code coverage data is NOT available'); + } + + return { 'key': key, 'lines': lines }; + }; + + QUnit.done = function(t) { + var cvgInfo = getCoverageByLine(true); + if (!!cvgInfo.key) { + var testableLines = 0; + var testedLines = 0; + var untestableLines = 0; + for (lineIdx in cvgInfo.lines) { + var cvg = cvgInfo.lines[lineIdx]; + if (typeof cvg === 'number') { + testableLines += 1; + if (cvg > 0) { + testedLines += 1; + } + } else { + untestableLines += 1; + } + } + var coverage = '' + Math.floor(100 * testedLines / testableLines) + '%'; + + var result = document.getElementById('qunit-testresult'); + if (result != null) { + result.innerHTML = result.innerHTML + ' ' + coverage + ' test coverage of ' + cvgInfo.key; + } else { + console.log('can\'t find test-result element to update'); + } + } + }; +}()); \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/tests/assets/jquery-1.7.1.min.js b/public/vendor/bootstrap-datepicker/tests/assets/jquery-1.7.1.min.js new file mode 100644 index 000000000000..198b3ff07d80 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/assets/jquery-1.7.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
    "+""+"
    ",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
    t
    ",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
    ",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/tests/assets/mock.js b/public/vendor/bootstrap-datepicker/tests/assets/mock.js new file mode 100644 index 000000000000..b1d1340038b9 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/assets/mock.js @@ -0,0 +1,26 @@ +;(function(){ + +window.patch_date = function patch(f){ + var NativeDate = window.Date; + var date = function date(y,m,d,h,i,s,j){ + switch(arguments.length){ + case 0: return date.now ? new NativeDate(date.now) : new NativeDate(); + case 1: return new NativeDate(y); + case 2: return new NativeDate(y,m); + case 3: return new NativeDate(y,m,d); + case 4: return new NativeDate(y,m,d,h); + case 5: return new NativeDate(y,m,d,h,i); + case 6: return new NativeDate(y,m,d,h,i,s); + case 7: return new NativeDate(y,y,m,d,h,i,s,j); + } + }; + date.UTC = NativeDate.UTC; + return function(){ + Array.prototype.push.call(arguments, date); + window.Date = date; + res = f.apply(this, arguments); + window.Date = NativeDate; + } +} + +}()); \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/tests/assets/qunit-logging.js b/public/vendor/bootstrap-datepicker/tests/assets/qunit-logging.js new file mode 100644 index 000000000000..5bef1a524613 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/assets/qunit-logging.js @@ -0,0 +1,29 @@ +// Dummy logging calls (ie, if tests are run in IE) +window.console = window.console || {}; +window.console.log = window.console.log || function(){}; +window.console.debug = window.console.debug || function(){}; +window.console.info = window.console.info || function(){}; +window.console.warn = window.console.warn || function(){}; +window.console.error = window.console.error || function(){}; + +(function() { + var modName, testName; + + //arg: { name } + QUnit.testStart = function(t) { + modName = t.module; + testName = t.name; + }; + + //arg: { name, failed, passed, total } + QUnit.testDone = function(t) { + if (t.failed) + console.log('Test "' + t.module + ': ' + t.name + '" completed: ' + (0 === t.failed ? 'pass' : 'FAIL') + '\n') + }; + + //{ result, actual, expected, message } + QUnit.log = function(t) { + if (!t.result) + console.log('Test "' + modName + ': ' + testName + '" assertion failed. Expected <' + t.expected + '> Actual <' + t.actual + '>' + (t.message ? ': \'' + t.message + '\'' : '')); + }; +}()); diff --git a/public/vendor/bootstrap-datepicker/tests/assets/qunit.css b/public/vendor/bootstrap-datepicker/tests/assets/qunit.css new file mode 100644 index 000000000000..b948bae1c4b1 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/assets/qunit.css @@ -0,0 +1,235 @@ +/** + * QUnit v1.5.0 - A JavaScript Unit Testing Framework + * + * http://docs.jquery.com/QUnit + * + * Copyright (c) 2012 John Resig, Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * or GPL (GPL-LICENSE.txt) licenses. + */ + +/** Font Family and Sizes */ + +#qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult { + font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif; +} + +#qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; } +#qunit-tests { font-size: smaller; } + + +/** Resets */ + +#qunit-tests, #qunit-tests ol, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult { + margin: 0; + padding: 0; +} + + +/** Header */ + +#qunit-header { + padding: 0.5em 0 0.5em 1em; + + color: #8699a4; + background-color: #0d3349; + + font-size: 1.5em; + line-height: 1em; + font-weight: normal; + + border-radius: 15px 15px 0 0; + -moz-border-radius: 15px 15px 0 0; + -webkit-border-top-right-radius: 15px; + -webkit-border-top-left-radius: 15px; +} + +#qunit-header a { + text-decoration: none; + color: #c2ccd1; +} + +#qunit-header a:hover, +#qunit-header a:focus { + color: #fff; +} + +#qunit-header label { + display: inline-block; +} + +#qunit-banner { + height: 5px; +} + +#qunit-testrunner-toolbar { + padding: 0.5em 0 0.5em 2em; + color: #5E740B; + background-color: #eee; +} + +#qunit-userAgent { + padding: 0.5em 0 0.5em 2.5em; + background-color: #2b81af; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px; +} + + +/** Tests: Pass/Fail */ + +#qunit-tests { + list-style-position: inside; +} + +#qunit-tests li { + padding: 0.4em 0.5em 0.4em 2.5em; + border-bottom: 1px solid #fff; + list-style-position: inside; +} + +#qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running { + display: none; +} + +#qunit-tests li strong { + cursor: pointer; +} + +#qunit-tests li a { + padding: 0.5em; + color: #c2ccd1; + text-decoration: none; +} +#qunit-tests li a:hover, +#qunit-tests li a:focus { + color: #000; +} + +#qunit-tests ol { + margin-top: 0.5em; + padding: 0.5em; + + background-color: #fff; + + border-radius: 15px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; + + box-shadow: inset 0px 2px 13px #999; + -moz-box-shadow: inset 0px 2px 13px #999; + -webkit-box-shadow: inset 0px 2px 13px #999; +} + +#qunit-tests table { + border-collapse: collapse; + margin-top: .2em; +} + +#qunit-tests th { + text-align: right; + vertical-align: top; + padding: 0 .5em 0 0; +} + +#qunit-tests td { + vertical-align: top; +} + +#qunit-tests pre { + margin: 0; + white-space: pre-wrap; + word-wrap: break-word; +} + +#qunit-tests del { + background-color: #e0f2be; + color: #374e0c; + text-decoration: none; +} + +#qunit-tests ins { + background-color: #ffcaca; + color: #500; + text-decoration: none; +} + +/*** Test Counts */ + +#qunit-tests b.counts { color: black; } +#qunit-tests b.passed { color: #5E740B; } +#qunit-tests b.failed { color: #710909; } + +#qunit-tests li li { + margin: 0.5em; + padding: 0.4em 0.5em 0.4em 0.5em; + background-color: #fff; + border-bottom: none; + list-style-position: inside; +} + +/*** Passing Styles */ + +#qunit-tests li li.pass { + color: #5E740B; + background-color: #fff; + border-left: 26px solid #C6E746; +} + +#qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; } +#qunit-tests .pass .test-name { color: #366097; } + +#qunit-tests .pass .test-actual, +#qunit-tests .pass .test-expected { color: #999999; } + +#qunit-banner.qunit-pass { background-color: #C6E746; } + +/*** Failing Styles */ + +#qunit-tests li li.fail { + color: #710909; + background-color: #fff; + border-left: 26px solid #EE5757; + white-space: pre; +} + +#qunit-tests > li:last-child { + border-radius: 0 0 15px 15px; + -moz-border-radius: 0 0 15px 15px; + -webkit-border-bottom-right-radius: 15px; + -webkit-border-bottom-left-radius: 15px; +} + +#qunit-tests .fail { color: #000000; background-color: #EE5757; } +#qunit-tests .fail .test-name, +#qunit-tests .fail .module-name { color: #000000; } + +#qunit-tests .fail .test-actual { color: #EE5757; } +#qunit-tests .fail .test-expected { color: green; } + +#qunit-banner.qunit-fail { background-color: #EE5757; } + + +/** Result */ + +#qunit-testresult { + padding: 0.5em 0.5em 0.5em 2.5em; + + color: #2b81af; + background-color: #D2E0E6; + + border-bottom: 1px solid white; +} +#qunit-testresult .module-name { + font-weight: bold; +} + +/** Fixture */ + +#qunit-fixture { + position: absolute; + top: -10000px; + left: -10000px; + width: 1000px; + height: 1000px; +} diff --git a/public/vendor/bootstrap-datepicker/tests/assets/qunit.js b/public/vendor/bootstrap-datepicker/tests/assets/qunit.js new file mode 100644 index 000000000000..66dd721542af --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/assets/qunit.js @@ -0,0 +1,1669 @@ +/** + * QUnit v1.5.0 - A JavaScript Unit Testing Framework + * + * http://docs.jquery.com/QUnit + * + * Copyright (c) 2012 John Resig, Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * or GPL (GPL-LICENSE.txt) licenses. + */ + +(function(window) { + +var defined = { + setTimeout: typeof window.setTimeout !== "undefined", + sessionStorage: (function() { + var x = "qunit-test-string"; + try { + sessionStorage.setItem(x, x); + sessionStorage.removeItem(x); + return true; + } catch(e) { + return false; + } + }()) +}; + +var testId = 0, + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty; + +var Test = function(name, testName, expected, async, callback) { + this.name = name; + this.testName = testName; + this.expected = expected; + this.async = async; + this.callback = callback; + this.assertions = []; +}; +Test.prototype = { + init: function() { + var tests = id("qunit-tests"); + if (tests) { + var b = document.createElement("strong"); + b.innerHTML = "Running " + this.name; + var li = document.createElement("li"); + li.appendChild( b ); + li.className = "running"; + li.id = this.id = "test-output" + testId++; + tests.appendChild( li ); + } + }, + setup: function() { + if (this.module != config.previousModule) { + if ( config.previousModule ) { + runLoggingCallbacks('moduleDone', QUnit, { + name: config.previousModule, + failed: config.moduleStats.bad, + passed: config.moduleStats.all - config.moduleStats.bad, + total: config.moduleStats.all + } ); + } + config.previousModule = this.module; + config.moduleStats = { all: 0, bad: 0 }; + runLoggingCallbacks( 'moduleStart', QUnit, { + name: this.module + } ); + } else if (config.autorun) { + runLoggingCallbacks( 'moduleStart', QUnit, { + name: this.module + } ); + } + + config.current = this; + this.testEnvironment = extend({ + setup: function() {}, + teardown: function() {} + }, this.moduleTestEnvironment); + + runLoggingCallbacks( 'testStart', QUnit, { + name: this.testName, + module: this.module + }); + + // allow utility functions to access the current test environment + // TODO why?? + QUnit.current_testEnvironment = this.testEnvironment; + + if ( !config.pollution ) { + saveGlobal(); + } + if ( config.notrycatch ) { + this.testEnvironment.setup.call(this.testEnvironment); + return; + } + try { + this.testEnvironment.setup.call(this.testEnvironment); + } catch(e) { + QUnit.pushFailure( "Setup failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) ); + } + }, + run: function() { + config.current = this; + + var running = id("qunit-testresult"); + + if ( running ) { + running.innerHTML = "Running:
    " + this.name; + } + + if ( this.async ) { + QUnit.stop(); + } + + if ( config.notrycatch ) { + this.callback.call(this.testEnvironment); + return; + } + try { + this.callback.call(this.testEnvironment); + } catch(e) { + QUnit.pushFailure( "Died on test #" + (this.assertions.length + 1) + ": " + e.message, extractStacktrace( e, 1 ) ); + // else next test will carry the responsibility + saveGlobal(); + + // Restart the tests if they're blocking + if ( config.blocking ) { + QUnit.start(); + } + } + }, + teardown: function() { + config.current = this; + if ( config.notrycatch ) { + this.testEnvironment.teardown.call(this.testEnvironment); + return; + } else { + try { + this.testEnvironment.teardown.call(this.testEnvironment); + } catch(e) { + QUnit.pushFailure( "Teardown failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) ); + } + } + checkPollution(); + }, + finish: function() { + config.current = this; + if ( this.expected != null && this.expected != this.assertions.length ) { + QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run" ); + } else if ( this.expected == null && !this.assertions.length ) { + QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions." ); + } + + var good = 0, bad = 0, + li, i, + tests = id("qunit-tests"); + + config.stats.all += this.assertions.length; + config.moduleStats.all += this.assertions.length; + + if ( tests ) { + var ol = document.createElement("ol"); + + for ( i = 0; i < this.assertions.length; i++ ) { + var assertion = this.assertions[i]; + + li = document.createElement("li"); + li.className = assertion.result ? "pass" : "fail"; + li.innerHTML = assertion.message || (assertion.result ? "okay" : "failed"); + ol.appendChild( li ); + + if ( assertion.result ) { + good++; + } else { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + + // store result when possible + if ( QUnit.config.reorder && defined.sessionStorage ) { + if (bad) { + sessionStorage.setItem("qunit-test-" + this.module + "-" + this.testName, bad); + } else { + sessionStorage.removeItem("qunit-test-" + this.module + "-" + this.testName); + } + } + + if (bad === 0) { + ol.style.display = "none"; + } + + var b = document.createElement("strong"); + b.innerHTML = this.name + " (" + bad + ", " + good + ", " + this.assertions.length + ")"; + + var a = document.createElement("a"); + a.innerHTML = "Rerun"; + a.href = QUnit.url({ filter: getText([b]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") }); + + addEvent(b, "click", function() { + var next = b.nextSibling.nextSibling, + display = next.style.display; + next.style.display = display === "none" ? "block" : "none"; + }); + + addEvent(b, "dblclick", function(e) { + var target = e && e.target ? e.target : window.event.srcElement; + if ( target.nodeName.toLowerCase() == "span" || target.nodeName.toLowerCase() == "b" ) { + target = target.parentNode; + } + if ( window.location && target.nodeName.toLowerCase() === "strong" ) { + window.location = QUnit.url({ filter: getText([target]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") }); + } + }); + + li = id(this.id); + li.className = bad ? "fail" : "pass"; + li.removeChild( li.firstChild ); + li.appendChild( b ); + li.appendChild( a ); + li.appendChild( ol ); + + } else { + for ( i = 0; i < this.assertions.length; i++ ) { + if ( !this.assertions[i].result ) { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + } + + QUnit.reset(); + + runLoggingCallbacks( 'testDone', QUnit, { + name: this.testName, + module: this.module, + failed: bad, + passed: this.assertions.length - bad, + total: this.assertions.length + } ); + }, + + queue: function() { + var test = this; + synchronize(function() { + test.init(); + }); + function run() { + // each of these can by async + synchronize(function() { + test.setup(); + }); + synchronize(function() { + test.run(); + }); + synchronize(function() { + test.teardown(); + }); + synchronize(function() { + test.finish(); + }); + } + // defer when previous test run passed, if storage is available + var bad = QUnit.config.reorder && defined.sessionStorage && +sessionStorage.getItem("qunit-test-" + this.module + "-" + this.testName); + if (bad) { + run(); + } else { + synchronize(run, true); + } + } + +}; + +var QUnit = { + + // call on start of module test to prepend name to all tests + module: function(name, testEnvironment) { + config.currentModule = name; + config.currentModuleTestEnviroment = testEnvironment; + }, + + asyncTest: function(testName, expected, callback) { + if ( arguments.length === 2 ) { + callback = expected; + expected = null; + } + + QUnit.test(testName, expected, callback, true); + }, + + test: function(testName, expected, callback, async) { + var name = '' + escapeInnerText(testName) + ''; + + if ( arguments.length === 2 ) { + callback = expected; + expected = null; + } + + if ( config.currentModule ) { + name = '' + config.currentModule + ": " + name; + } + + if ( !validTest(config.currentModule + ": " + testName) ) { + return; + } + + var test = new Test(name, testName, expected, async, callback); + test.module = config.currentModule; + test.moduleTestEnvironment = config.currentModuleTestEnviroment; + test.queue(); + }, + + // Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through. + expect: function(asserts) { + config.current.expected = asserts; + }, + + // Asserts true. + // @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" ); + ok: function(result, msg) { + if (!config.current) { + throw new Error("ok() assertion outside test context, was " + sourceFromStacktrace(2)); + } + result = !!result; + var details = { + result: result, + message: msg + }; + msg = escapeInnerText(msg || (result ? "okay" : "failed")); + if ( !result ) { + var source = sourceFromStacktrace(2); + if (source) { + details.source = source; + msg += '
    Source:
    ' + escapeInnerText(source) + '
    '; + } + } + runLoggingCallbacks( 'log', QUnit, details ); + config.current.assertions.push({ + result: result, + message: msg + }); + }, + + // Checks that the first two arguments are equal, with an optional message. Prints out both actual and expected values. + // @example equal( format("Received {0} bytes.", 2), "Received 2 bytes." ); + equal: function(actual, expected, message) { + QUnit.push(expected == actual, actual, expected, message); + }, + + notEqual: function(actual, expected, message) { + QUnit.push(expected != actual, actual, expected, message); + }, + + deepEqual: function(actual, expected, message) { + QUnit.push(QUnit.equiv(actual, expected), actual, expected, message); + }, + + notDeepEqual: function(actual, expected, message) { + QUnit.push(!QUnit.equiv(actual, expected), actual, expected, message); + }, + + strictEqual: function(actual, expected, message) { + QUnit.push(expected === actual, actual, expected, message); + }, + + notStrictEqual: function(actual, expected, message) { + QUnit.push(expected !== actual, actual, expected, message); + }, + + raises: function(block, expected, message) { + var actual, ok = false; + + if (typeof expected === 'string') { + message = expected; + expected = null; + } + + try { + block.call(config.current.testEnvironment); + } catch (e) { + actual = e; + } + + if (actual) { + // we don't want to validate thrown error + if (!expected) { + ok = true; + // expected is a regexp + } else if (QUnit.objectType(expected) === "regexp") { + ok = expected.test(actual); + // expected is a constructor + } else if (actual instanceof expected) { + ok = true; + // expected is a validation function which returns true is validation passed + } else if (expected.call({}, actual) === true) { + ok = true; + } + } + + QUnit.ok(ok, message); + }, + + start: function(count) { + config.semaphore -= count || 1; + if (config.semaphore > 0) { + // don't start until equal number of stop-calls + return; + } + if (config.semaphore < 0) { + // ignore if start is called more often then stop + config.semaphore = 0; + } + // A slight delay, to avoid any current callbacks + if ( defined.setTimeout ) { + window.setTimeout(function() { + if (config.semaphore > 0) { + return; + } + if ( config.timeout ) { + clearTimeout(config.timeout); + } + + config.blocking = false; + process(true); + }, 13); + } else { + config.blocking = false; + process(true); + } + }, + + stop: function(count) { + config.semaphore += count || 1; + config.blocking = true; + + if ( config.testTimeout && defined.setTimeout ) { + clearTimeout(config.timeout); + config.timeout = window.setTimeout(function() { + QUnit.ok( false, "Test timed out" ); + config.semaphore = 1; + QUnit.start(); + }, config.testTimeout); + } + } +}; + +//We want access to the constructor's prototype +(function() { + function F(){} + F.prototype = QUnit; + QUnit = new F(); + //Make F QUnit's constructor so that we can add to the prototype later + QUnit.constructor = F; +}()); + +// deprecated; still export them to window to provide clear error messages +// next step: remove entirely +QUnit.equals = function() { + QUnit.push(false, false, false, "QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead"); +}; +QUnit.same = function() { + QUnit.push(false, false, false, "QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead"); +}; + +// Maintain internal state +var config = { + // The queue of tests to run + queue: [], + + // block until document ready + blocking: true, + + // when enabled, show only failing tests + // gets persisted through sessionStorage and can be changed in UI via checkbox + hidepassed: false, + + // by default, run previously failed tests first + // very useful in combination with "Hide passed tests" checked + reorder: true, + + // by default, modify document.title when suite is done + altertitle: true, + + urlConfig: ['noglobals', 'notrycatch'], + + //logging callback queues + begin: [], + done: [], + log: [], + testStart: [], + testDone: [], + moduleStart: [], + moduleDone: [] +}; + +// Load paramaters +(function() { + var location = window.location || { search: "", protocol: "file:" }, + params = location.search.slice( 1 ).split( "&" ), + length = params.length, + urlParams = {}, + current; + + if ( params[ 0 ] ) { + for ( var i = 0; i < length; i++ ) { + current = params[ i ].split( "=" ); + current[ 0 ] = decodeURIComponent( current[ 0 ] ); + // allow just a key to turn on a flag, e.g., test.html?noglobals + current[ 1 ] = current[ 1 ] ? decodeURIComponent( current[ 1 ] ) : true; + urlParams[ current[ 0 ] ] = current[ 1 ]; + } + } + + QUnit.urlParams = urlParams; + config.filter = urlParams.filter; + + // Figure out if we're running the tests from a server or not + QUnit.isLocal = location.protocol === 'file:'; +}()); + +// Expose the API as global variables, unless an 'exports' +// object exists, in that case we assume we're in CommonJS - export everything at the end +if ( typeof exports === "undefined" || typeof require === "undefined" ) { + extend(window, QUnit); + window.QUnit = QUnit; +} + +// define these after exposing globals to keep them in these QUnit namespace only +extend(QUnit, { + config: config, + + // Initialize the configuration options + init: function() { + extend(config, { + stats: { all: 0, bad: 0 }, + moduleStats: { all: 0, bad: 0 }, + started: +new Date(), + updateRate: 1000, + blocking: false, + autostart: true, + autorun: false, + filter: "", + queue: [], + semaphore: 0 + }); + + var qunit = id( "qunit" ); + if ( qunit ) { + qunit.innerHTML = + '

    ' + escapeInnerText( document.title ) + '

    ' + + '

    ' + + '
    ' + + '

    ' + + '
      '; + } + + var tests = id( "qunit-tests" ), + banner = id( "qunit-banner" ), + result = id( "qunit-testresult" ); + + if ( tests ) { + tests.innerHTML = ""; + } + + if ( banner ) { + banner.className = ""; + } + + if ( result ) { + result.parentNode.removeChild( result ); + } + + if ( tests ) { + result = document.createElement( "p" ); + result.id = "qunit-testresult"; + result.className = "result"; + tests.parentNode.insertBefore( result, tests ); + result.innerHTML = 'Running...
       '; + } + }, + + // Resets the test setup. Useful for tests that modify the DOM. + // If jQuery is available, uses jQuery's html(), otherwise just innerHTML. + reset: function() { + if ( window.jQuery ) { + jQuery( "#qunit-fixture" ).html( config.fixture ); + } else { + var main = id( 'qunit-fixture' ); + if ( main ) { + main.innerHTML = config.fixture; + } + } + }, + + // Trigger an event on an element. + // @example triggerEvent( document.body, "click" ); + triggerEvent: function( elem, type, event ) { + if ( document.createEvent ) { + event = document.createEvent("MouseEvents"); + event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView, + 0, 0, 0, 0, 0, false, false, false, false, 0, null); + elem.dispatchEvent( event ); + + } else if ( elem.fireEvent ) { + elem.fireEvent("on"+type); + } + }, + + // Safe object type checking + is: function( type, obj ) { + return QUnit.objectType( obj ) == type; + }, + + objectType: function( obj ) { + if (typeof obj === "undefined") { + return "undefined"; + + // consider: typeof null === object + } + if (obj === null) { + return "null"; + } + + var type = toString.call( obj ).match(/^\[object\s(.*)\]$/)[1] || ''; + + switch (type) { + case 'Number': + if (isNaN(obj)) { + return "nan"; + } + return "number"; + case 'String': + case 'Boolean': + case 'Array': + case 'Date': + case 'RegExp': + case 'Function': + return type.toLowerCase(); + } + if (typeof obj === "object") { + return "object"; + } + return undefined; + }, + + push: function(result, actual, expected, message) { + if (!config.current) { + throw new Error("assertion outside test context, was " + sourceFromStacktrace()); + } + var details = { + result: result, + message: message, + actual: actual, + expected: expected + }; + + message = escapeInnerText(message) || (result ? "okay" : "failed"); + message = '' + message + ""; + var output = message; + if (!result) { + expected = escapeInnerText(QUnit.jsDump.parse(expected)); + actual = escapeInnerText(QUnit.jsDump.parse(actual)); + output += ''; + if (actual != expected) { + output += ''; + output += ''; + } + var source = sourceFromStacktrace(); + if (source) { + details.source = source; + output += ''; + } + output += "
      Expected:
      ' + expected + '
      Result:
      ' + actual + '
      Diff:
      ' + QUnit.diff(expected, actual) +'
      Source:
      ' + escapeInnerText(source) + '
      "; + } + + runLoggingCallbacks( 'log', QUnit, details ); + + config.current.assertions.push({ + result: !!result, + message: output + }); + }, + + pushFailure: function(message, source) { + var details = { + result: false, + message: message + }; + var output = escapeInnerText(message); + if (source) { + details.source = source; + output += '
      Source:
      ' + escapeInnerText(source) + '
      '; + } + runLoggingCallbacks( 'log', QUnit, details ); + config.current.assertions.push({ + result: false, + message: output + }); + }, + + url: function( params ) { + params = extend( extend( {}, QUnit.urlParams ), params ); + var querystring = "?", + key; + for ( key in params ) { + if ( !hasOwn.call( params, key ) ) { + continue; + } + querystring += encodeURIComponent( key ) + "=" + + encodeURIComponent( params[ key ] ) + "&"; + } + return window.location.pathname + querystring.slice( 0, -1 ); + }, + + extend: extend, + id: id, + addEvent: addEvent +}); + +//QUnit.constructor is set to the empty F() above so that we can add to it's prototype later +//Doing this allows us to tell if the following methods have been overwritten on the actual +//QUnit object, which is a deprecated way of using the callbacks. +extend(QUnit.constructor.prototype, { + // Logging callbacks; all receive a single argument with the listed properties + // run test/logs.html for any related changes + begin: registerLoggingCallback('begin'), + // done: { failed, passed, total, runtime } + done: registerLoggingCallback('done'), + // log: { result, actual, expected, message } + log: registerLoggingCallback('log'), + // testStart: { name } + testStart: registerLoggingCallback('testStart'), + // testDone: { name, failed, passed, total } + testDone: registerLoggingCallback('testDone'), + // moduleStart: { name } + moduleStart: registerLoggingCallback('moduleStart'), + // moduleDone: { name, failed, passed, total } + moduleDone: registerLoggingCallback('moduleDone') +}); + +if ( typeof document === "undefined" || document.readyState === "complete" ) { + config.autorun = true; +} + +QUnit.load = function() { + runLoggingCallbacks( 'begin', QUnit, {} ); + + // Initialize the config, saving the execution queue + var oldconfig = extend({}, config); + QUnit.init(); + extend(config, oldconfig); + + config.blocking = false; + + var urlConfigHtml = '', len = config.urlConfig.length; + for ( var i = 0, val; i < len; i++ ) { + val = config.urlConfig[i]; + config[val] = QUnit.urlParams[val]; + urlConfigHtml += ''; + } + + var userAgent = id("qunit-userAgent"); + if ( userAgent ) { + userAgent.innerHTML = navigator.userAgent; + } + var banner = id("qunit-header"); + if ( banner ) { + banner.innerHTML = ' ' + banner.innerHTML + ' ' + urlConfigHtml; + addEvent( banner, "change", function( event ) { + var params = {}; + params[ event.target.name ] = event.target.checked ? true : undefined; + window.location = QUnit.url( params ); + }); + } + + var toolbar = id("qunit-testrunner-toolbar"); + if ( toolbar ) { + var filter = document.createElement("input"); + filter.type = "checkbox"; + filter.id = "qunit-filter-pass"; + addEvent( filter, "click", function() { + var ol = document.getElementById("qunit-tests"); + if ( filter.checked ) { + ol.className = ol.className + " hidepass"; + } else { + var tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " "; + ol.className = tmp.replace(/ hidepass /, " "); + } + if ( defined.sessionStorage ) { + if (filter.checked) { + sessionStorage.setItem("qunit-filter-passed-tests", "true"); + } else { + sessionStorage.removeItem("qunit-filter-passed-tests"); + } + } + }); + if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem("qunit-filter-passed-tests") ) { + filter.checked = true; + var ol = document.getElementById("qunit-tests"); + ol.className = ol.className + " hidepass"; + } + toolbar.appendChild( filter ); + + var label = document.createElement("label"); + label.setAttribute("for", "qunit-filter-pass"); + label.innerHTML = "Hide passed tests"; + toolbar.appendChild( label ); + } + + var main = id('qunit-fixture'); + if ( main ) { + config.fixture = main.innerHTML; + } + + if (config.autostart) { + QUnit.start(); + } +}; + +addEvent(window, "load", QUnit.load); + +// addEvent(window, "error") gives us a useless event object +window.onerror = function( message, file, line ) { + if ( QUnit.config.current ) { + QUnit.pushFailure( message, file + ":" + line ); + } else { + QUnit.test( "global failure", function() { + QUnit.pushFailure( message, file + ":" + line ); + }); + } +}; + +function done() { + config.autorun = true; + + // Log the last module results + if ( config.currentModule ) { + runLoggingCallbacks( 'moduleDone', QUnit, { + name: config.currentModule, + failed: config.moduleStats.bad, + passed: config.moduleStats.all - config.moduleStats.bad, + total: config.moduleStats.all + } ); + } + + var banner = id("qunit-banner"), + tests = id("qunit-tests"), + runtime = +new Date() - config.started, + passed = config.stats.all - config.stats.bad, + html = [ + 'Tests completed in ', + runtime, + ' milliseconds.
      ', + '', + passed, + ' tests of ', + config.stats.all, + ' passed, ', + config.stats.bad, + ' failed.' + ].join(''); + + if ( banner ) { + banner.className = (config.stats.bad ? "qunit-fail" : "qunit-pass"); + } + + if ( tests ) { + id( "qunit-testresult" ).innerHTML = html; + } + + if ( config.altertitle && typeof document !== "undefined" && document.title ) { + // show ✖ for good, ✔ for bad suite result in title + // use escape sequences in case file gets loaded with non-utf-8-charset + document.title = [ + (config.stats.bad ? "\u2716" : "\u2714"), + document.title.replace(/^[\u2714\u2716] /i, "") + ].join(" "); + } + + // clear own sessionStorage items if all tests passed + if ( config.reorder && defined.sessionStorage && config.stats.bad === 0 ) { + var key; + for ( var i = 0; i < sessionStorage.length; i++ ) { + key = sessionStorage.key( i++ ); + if ( key.indexOf("qunit-test-") === 0 ) { + sessionStorage.removeItem( key ); + } + } + } + + runLoggingCallbacks( 'done', QUnit, { + failed: config.stats.bad, + passed: passed, + total: config.stats.all, + runtime: runtime + } ); +} + +function validTest( name ) { + var filter = config.filter, + run = false; + + if ( !filter ) { + return true; + } + + var not = filter.charAt( 0 ) === "!"; + if ( not ) { + filter = filter.slice( 1 ); + } + + if ( name.indexOf( filter ) !== -1 ) { + return !not; + } + + if ( not ) { + run = true; + } + + return run; +} + +// so far supports only Firefox, Chrome and Opera (buggy), Safari (for real exceptions) +// Later Safari and IE10 are supposed to support error.stack as well +// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack +function extractStacktrace( e, offset ) { + offset = offset || 3; + if (e.stacktrace) { + // Opera + return e.stacktrace.split("\n")[offset + 3]; + } else if (e.stack) { + // Firefox, Chrome + var stack = e.stack.split("\n"); + if (/^error$/i.test(stack[0])) { + stack.shift(); + } + return stack[offset]; + } else if (e.sourceURL) { + // Safari, PhantomJS + // hopefully one day Safari provides actual stacktraces + // exclude useless self-reference for generated Error objects + if ( /qunit.js$/.test( e.sourceURL ) ) { + return; + } + // for actual exceptions, this is useful + return e.sourceURL + ":" + e.line; + } +} +function sourceFromStacktrace(offset) { + try { + throw new Error(); + } catch ( e ) { + return extractStacktrace( e, offset ); + } +} + +function escapeInnerText(s) { + if (!s) { + return ""; + } + s = s + ""; + return s.replace(/[\&<>]/g, function(s) { + switch(s) { + case "&": return "&"; + case "<": return "<"; + case ">": return ">"; + default: return s; + } + }); +} + +function synchronize( callback, last ) { + config.queue.push( callback ); + + if ( config.autorun && !config.blocking ) { + process(last); + } +} + +function process( last ) { + function next() { + process( last ); + } + var start = new Date().getTime(); + config.depth = config.depth ? config.depth + 1 : 1; + + while ( config.queue.length && !config.blocking ) { + if ( !defined.setTimeout || config.updateRate <= 0 || ( ( new Date().getTime() - start ) < config.updateRate ) ) { + config.queue.shift()(); + } else { + window.setTimeout( next, 13 ); + break; + } + } + config.depth--; + if ( last && !config.blocking && !config.queue.length && config.depth === 0 ) { + done(); + } +} + +function saveGlobal() { + config.pollution = []; + + if ( config.noglobals ) { + for ( var key in window ) { + if ( !hasOwn.call( window, key ) ) { + continue; + } + config.pollution.push( key ); + } + } +} + +function checkPollution( name ) { + var old = config.pollution; + saveGlobal(); + + var newGlobals = diff( config.pollution, old ); + if ( newGlobals.length > 0 ) { + QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join(", ") ); + } + + var deletedGlobals = diff( old, config.pollution ); + if ( deletedGlobals.length > 0 ) { + QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join(", ") ); + } +} + +// returns a new Array with the elements that are in a but not in b +function diff( a, b ) { + var result = a.slice(); + for ( var i = 0; i < result.length; i++ ) { + for ( var j = 0; j < b.length; j++ ) { + if ( result[i] === b[j] ) { + result.splice(i, 1); + i--; + break; + } + } + } + return result; +} + +function extend(a, b) { + for ( var prop in b ) { + if ( b[prop] === undefined ) { + delete a[prop]; + + // Avoid "Member not found" error in IE8 caused by setting window.constructor + } else if ( prop !== "constructor" || a !== window ) { + a[prop] = b[prop]; + } + } + + return a; +} + +function addEvent(elem, type, fn) { + if ( elem.addEventListener ) { + elem.addEventListener( type, fn, false ); + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, fn ); + } else { + fn(); + } +} + +function id(name) { + return !!(typeof document !== "undefined" && document && document.getElementById) && + document.getElementById( name ); +} + +function registerLoggingCallback(key){ + return function(callback){ + config[key].push( callback ); + }; +} + +// Supports deprecated method of completely overwriting logging callbacks +function runLoggingCallbacks(key, scope, args) { + //debugger; + var callbacks; + if ( QUnit.hasOwnProperty(key) ) { + QUnit[key].call(scope, args); + } else { + callbacks = config[key]; + for( var i = 0; i < callbacks.length; i++ ) { + callbacks[i].call( scope, args ); + } + } +} + +// Test for equality any JavaScript type. +// Author: Philippe Rathé +QUnit.equiv = (function() { + + var innerEquiv; // the real equiv function + var callers = []; // stack to decide between skip/abort functions + var parents = []; // stack to avoiding loops from circular referencing + + // Call the o related callback with the given arguments. + function bindCallbacks(o, callbacks, args) { + var prop = QUnit.objectType(o); + if (prop) { + if (QUnit.objectType(callbacks[prop]) === "function") { + return callbacks[prop].apply(callbacks, args); + } else { + return callbacks[prop]; // or undefined + } + } + } + + var getProto = Object.getPrototypeOf || function (obj) { + return obj.__proto__; + }; + + var callbacks = (function () { + + // for string, boolean, number and null + function useStrictEquality(b, a) { + if (b instanceof a.constructor || a instanceof b.constructor) { + // to catch short annotaion VS 'new' annotation of a + // declaration + // e.g. var i = 1; + // var j = new Number(1); + return a == b; + } else { + return a === b; + } + } + + return { + "string" : useStrictEquality, + "boolean" : useStrictEquality, + "number" : useStrictEquality, + "null" : useStrictEquality, + "undefined" : useStrictEquality, + + "nan" : function(b) { + return isNaN(b); + }, + + "date" : function(b, a) { + return QUnit.objectType(b) === "date" && a.valueOf() === b.valueOf(); + }, + + "regexp" : function(b, a) { + return QUnit.objectType(b) === "regexp" && + // the regex itself + a.source === b.source && + // and its modifers + a.global === b.global && + // (gmi) ... + a.ignoreCase === b.ignoreCase && + a.multiline === b.multiline; + }, + + // - skip when the property is a method of an instance (OOP) + // - abort otherwise, + // initial === would have catch identical references anyway + "function" : function() { + var caller = callers[callers.length - 1]; + return caller !== Object && typeof caller !== "undefined"; + }, + + "array" : function(b, a) { + var i, j, loop; + var len; + + // b could be an object literal here + if (QUnit.objectType(b) !== "array") { + return false; + } + + len = a.length; + if (len !== b.length) { // safe and faster + return false; + } + + // track reference to avoid circular references + parents.push(a); + for (i = 0; i < len; i++) { + loop = false; + for (j = 0; j < parents.length; j++) { + if (parents[j] === a[i]) { + loop = true;// dont rewalk array + } + } + if (!loop && !innerEquiv(a[i], b[i])) { + parents.pop(); + return false; + } + } + parents.pop(); + return true; + }, + + "object" : function(b, a) { + var i, j, loop; + var eq = true; // unless we can proove it + var aProperties = [], bProperties = []; // collection of + // strings + + // comparing constructors is more strict than using + // instanceof + if (a.constructor !== b.constructor) { + // Allow objects with no prototype to be equivalent to + // objects with Object as their constructor. + if (!((getProto(a) === null && getProto(b) === Object.prototype) || + (getProto(b) === null && getProto(a) === Object.prototype))) + { + return false; + } + } + + // stack constructor before traversing properties + callers.push(a.constructor); + // track reference to avoid circular references + parents.push(a); + + for (i in a) { // be strict: don't ensures hasOwnProperty + // and go deep + loop = false; + for (j = 0; j < parents.length; j++) { + if (parents[j] === a[i]) { + // don't go down the same path twice + loop = true; + } + } + aProperties.push(i); // collect a's properties + + if (!loop && !innerEquiv(a[i], b[i])) { + eq = false; + break; + } + } + + callers.pop(); // unstack, we are done + parents.pop(); + + for (i in b) { + bProperties.push(i); // collect b's properties + } + + // Ensures identical properties name + return eq && innerEquiv(aProperties.sort(), bProperties.sort()); + } + }; + }()); + + innerEquiv = function() { // can take multiple arguments + var args = Array.prototype.slice.apply(arguments); + if (args.length < 2) { + return true; // end transition + } + + return (function(a, b) { + if (a === b) { + return true; // catch the most you can + } else if (a === null || b === null || typeof a === "undefined" || + typeof b === "undefined" || + QUnit.objectType(a) !== QUnit.objectType(b)) { + return false; // don't lose time with error prone cases + } else { + return bindCallbacks(a, callbacks, [ b, a ]); + } + + // apply transition with (1..n) arguments + }(args[0], args[1]) && arguments.callee.apply(this, args.splice(1, args.length - 1))); + }; + + return innerEquiv; + +}()); + +/** + * jsDump Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com | + * http://flesler.blogspot.com Licensed under BSD + * (http://www.opensource.org/licenses/bsd-license.php) Date: 5/15/2008 + * + * @projectDescription Advanced and extensible data dumping for Javascript. + * @version 1.0.0 + * @author Ariel Flesler + * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html} + */ +QUnit.jsDump = (function() { + function quote( str ) { + return '"' + str.toString().replace(/"/g, '\\"') + '"'; + } + function literal( o ) { + return o + ''; + } + function join( pre, arr, post ) { + var s = jsDump.separator(), + base = jsDump.indent(), + inner = jsDump.indent(1); + if ( arr.join ) { + arr = arr.join( ',' + s + inner ); + } + if ( !arr ) { + return pre + post; + } + return [ pre, inner + arr, base + post ].join(s); + } + function array( arr, stack ) { + var i = arr.length, ret = new Array(i); + this.up(); + while ( i-- ) { + ret[i] = this.parse( arr[i] , undefined , stack); + } + this.down(); + return join( '[', ret, ']' ); + } + + var reName = /^function (\w+)/; + + var jsDump = { + parse: function( obj, type, stack ) { //type is used mostly internally, you can fix a (custom)type in advance + stack = stack || [ ]; + var parser = this.parsers[ type || this.typeOf(obj) ]; + type = typeof parser; + var inStack = inArray(obj, stack); + if (inStack != -1) { + return 'recursion('+(inStack - stack.length)+')'; + } + //else + if (type == 'function') { + stack.push(obj); + var res = parser.call( this, obj, stack ); + stack.pop(); + return res; + } + // else + return (type == 'string') ? parser : this.parsers.error; + }, + typeOf: function( obj ) { + var type; + if ( obj === null ) { + type = "null"; + } else if (typeof obj === "undefined") { + type = "undefined"; + } else if (QUnit.is("RegExp", obj)) { + type = "regexp"; + } else if (QUnit.is("Date", obj)) { + type = "date"; + } else if (QUnit.is("Function", obj)) { + type = "function"; + } else if (typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined") { + type = "window"; + } else if (obj.nodeType === 9) { + type = "document"; + } else if (obj.nodeType) { + type = "node"; + } else if ( + // native arrays + toString.call( obj ) === "[object Array]" || + // NodeList objects + ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) ) + ) { + type = "array"; + } else { + type = typeof obj; + } + return type; + }, + separator: function() { + return this.multiline ? this.HTML ? '
      ' : '\n' : this.HTML ? ' ' : ' '; + }, + indent: function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing + if ( !this.multiline ) { + return ''; + } + var chr = this.indentChar; + if ( this.HTML ) { + chr = chr.replace(/\t/g,' ').replace(/ /g,' '); + } + return new Array( this._depth_ + (extra||0) ).join(chr); + }, + up: function( a ) { + this._depth_ += a || 1; + }, + down: function( a ) { + this._depth_ -= a || 1; + }, + setParser: function( name, parser ) { + this.parsers[name] = parser; + }, + // The next 3 are exposed so you can use them + quote: quote, + literal: literal, + join: join, + // + _depth_: 1, + // This is the list of parsers, to modify them, use jsDump.setParser + parsers: { + window: '[Window]', + document: '[Document]', + error: '[ERROR]', //when no parser is found, shouldn't happen + unknown: '[Unknown]', + 'null': 'null', + 'undefined': 'undefined', + 'function': function( fn ) { + var ret = 'function', + name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never have name in IE + if ( name ) { + ret += ' ' + name; + } + ret += '('; + + ret = [ ret, QUnit.jsDump.parse( fn, 'functionArgs' ), '){'].join(''); + return join( ret, QUnit.jsDump.parse(fn,'functionCode'), '}' ); + }, + array: array, + nodelist: array, + 'arguments': array, + object: function( map, stack ) { + var ret = [ ], keys, key, val, i; + QUnit.jsDump.up(); + if (Object.keys) { + keys = Object.keys( map ); + } else { + keys = []; + for (key in map) { keys.push( key ); } + } + keys.sort(); + for (i = 0; i < keys.length; i++) { + key = keys[ i ]; + val = map[ key ]; + ret.push( QUnit.jsDump.parse( key, 'key' ) + ': ' + QUnit.jsDump.parse( val, undefined, stack ) ); + } + QUnit.jsDump.down(); + return join( '{', ret, '}' ); + }, + node: function( node ) { + var open = QUnit.jsDump.HTML ? '<' : '<', + close = QUnit.jsDump.HTML ? '>' : '>'; + + var tag = node.nodeName.toLowerCase(), + ret = open + tag; + + for ( var a in QUnit.jsDump.DOMAttrs ) { + var val = node[QUnit.jsDump.DOMAttrs[a]]; + if ( val ) { + ret += ' ' + a + '=' + QUnit.jsDump.parse( val, 'attribute' ); + } + } + return ret + close + open + '/' + tag + close; + }, + functionArgs: function( fn ) {//function calls it internally, it's the arguments part of the function + var l = fn.length; + if ( !l ) { + return ''; + } + + var args = new Array(l); + while ( l-- ) { + args[l] = String.fromCharCode(97+l);//97 is 'a' + } + return ' ' + args.join(', ') + ' '; + }, + key: quote, //object calls it internally, the key part of an item in a map + functionCode: '[code]', //function calls it internally, it's the content of the function + attribute: quote, //node calls it internally, it's an html attribute value + string: quote, + date: quote, + regexp: literal, //regex + number: literal, + 'boolean': literal + }, + DOMAttrs:{//attributes to dump from nodes, name=>realName + id:'id', + name:'name', + 'class':'className' + }, + HTML:false,//if true, entities are escaped ( <, >, \t, space and \n ) + indentChar:' ',//indentation unit + multiline:true //if true, items in a collection, are separated by a \n, else just a space. + }; + + return jsDump; +}()); + +// from Sizzle.js +function getText( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += getText( elem.childNodes ); + } + } + + return ret; +} + +//from jquery.js +function inArray( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; +} + +/* + * Javascript Diff Algorithm + * By John Resig (http://ejohn.org/) + * Modified by Chu Alan "sprite" + * + * Released under the MIT license. + * + * More Info: + * http://ejohn.org/projects/javascript-diff-algorithm/ + * + * Usage: QUnit.diff(expected, actual) + * + * QUnit.diff("the quick brown fox jumped over", "the quick fox jumps over") == "the quick brown fox jumped jumps over" + */ +QUnit.diff = (function() { + function diff(o, n) { + var ns = {}; + var os = {}; + var i; + + for (i = 0; i < n.length; i++) { + if (ns[n[i]] == null) { + ns[n[i]] = { + rows: [], + o: null + }; + } + ns[n[i]].rows.push(i); + } + + for (i = 0; i < o.length; i++) { + if (os[o[i]] == null) { + os[o[i]] = { + rows: [], + n: null + }; + } + os[o[i]].rows.push(i); + } + + for (i in ns) { + if ( !hasOwn.call( ns, i ) ) { + continue; + } + if (ns[i].rows.length == 1 && typeof(os[i]) != "undefined" && os[i].rows.length == 1) { + n[ns[i].rows[0]] = { + text: n[ns[i].rows[0]], + row: os[i].rows[0] + }; + o[os[i].rows[0]] = { + text: o[os[i].rows[0]], + row: ns[i].rows[0] + }; + } + } + + for (i = 0; i < n.length - 1; i++) { + if (n[i].text != null && n[i + 1].text == null && n[i].row + 1 < o.length && o[n[i].row + 1].text == null && + n[i + 1] == o[n[i].row + 1]) { + n[i + 1] = { + text: n[i + 1], + row: n[i].row + 1 + }; + o[n[i].row + 1] = { + text: o[n[i].row + 1], + row: i + 1 + }; + } + } + + for (i = n.length - 1; i > 0; i--) { + if (n[i].text != null && n[i - 1].text == null && n[i].row > 0 && o[n[i].row - 1].text == null && + n[i - 1] == o[n[i].row - 1]) { + n[i - 1] = { + text: n[i - 1], + row: n[i].row - 1 + }; + o[n[i].row - 1] = { + text: o[n[i].row - 1], + row: i - 1 + }; + } + } + + return { + o: o, + n: n + }; + } + + return function(o, n) { + o = o.replace(/\s+$/, ''); + n = n.replace(/\s+$/, ''); + var out = diff(o === "" ? [] : o.split(/\s+/), n === "" ? [] : n.split(/\s+/)); + + var str = ""; + var i; + + var oSpace = o.match(/\s+/g); + if (oSpace == null) { + oSpace = [" "]; + } + else { + oSpace.push(" "); + } + var nSpace = n.match(/\s+/g); + if (nSpace == null) { + nSpace = [" "]; + } + else { + nSpace.push(" "); + } + + if (out.n.length === 0) { + for (i = 0; i < out.o.length; i++) { + str += '' + out.o[i] + oSpace[i] + ""; + } + } + else { + if (out.n[0].text == null) { + for (n = 0; n < out.o.length && out.o[n].text == null; n++) { + str += '' + out.o[n] + oSpace[n] + ""; + } + } + + for (i = 0; i < out.n.length; i++) { + if (out.n[i].text == null) { + str += '' + out.n[i] + nSpace[i] + ""; + } + else { + var pre = ""; + + for (n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++) { + pre += '' + out.o[n] + oSpace[n] + ""; + } + str += " " + out.n[i].text + nSpace[i] + pre; + } + } + } + + return str; + }; +}()); + +// for CommonJS enviroments, export everything +if ( typeof exports !== "undefined" || typeof require !== "undefined" ) { + extend(exports, QUnit); +} + +// get at whatever the global object is, like window in browsers +}( (function() {return this;}.call()) )); diff --git a/public/vendor/bootstrap-datepicker/tests/assets/utils.js b/public/vendor/bootstrap-datepicker/tests/assets/utils.js new file mode 100644 index 000000000000..6f9cac58f411 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/assets/utils.js @@ -0,0 +1,21 @@ +function UTCDate(){ + return new Date(Date.UTC.apply(Date, arguments)); +} + + +function format_date(date){ + var y = date.getUTCFullYear(), + m = date.getUTCMonth() + 1, + d = date.getUTCDate(), + h = date.getUTCHours(), + i = date.getUTCMinutes(), + s = date.getUTCSeconds(), + l = date.getUTCMilliseconds(); + function z(i){return (i <= 9 ? '0'+i : i);} + return y+'-'+z(m)+'-'+z(d)+' '+z(h)+':'+z(i)+':'+z(s)+'.'+z(l); +} + + +function datesEqual(actual, expected, message){ + QUnit.push(QUnit.equiv(actual, expected), format_date(actual), format_date(expected), message); +} diff --git a/public/vendor/bootstrap-datepicker/tests/run-qunit.js b/public/vendor/bootstrap-datepicker/tests/run-qunit.js new file mode 100644 index 000000000000..effdc3f10ccc --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/run-qunit.js @@ -0,0 +1,157 @@ +var system = require('system'); + +/** + * Wait until the test condition is true or a timeout occurs. Useful for waiting + * on a server response or for a ui change (fadeIn, etc.) to occur. + * + * @param testFx javascript condition that evaluates to a boolean, + * it can be passed in as a string (e.g.: "1 == 1" or "$('#bar').is(':visible')" or + * as a callback function. + * @param onReady what to do when testFx condition is fulfilled, + * it can be passed in as a string (e.g.: "1 == 1" or "$('#bar').is(':visible')" or + * as a callback function. + * @param timeOutMillis the max amount of time to wait. If not specified, 3 sec is used. + */ +function waitFor(testFx, onReady, timeOutMillis) { + var maxtimeOutMillis = timeOutMillis ? timeOutMillis : 10001, //< Default Max Timout is 3s + start = new Date().getTime(), + condition = false, + interval = setInterval(function() { + if ( (new Date().getTime() - start < maxtimeOutMillis) && !condition ) { + // If not time-out yet and condition not yet fulfilled + condition = (typeof(testFx) === "string" ? eval(testFx) : testFx()); //< defensive code + } else { + if(!condition) { + // If condition still not fulfilled (timeout but condition is 'false') + console.log("'waitFor()' timeout"); + phantom.exit(1); + } else { + // Condition fulfilled (timeout and/or condition is 'true') + //console.log("'waitFor()' finished in " + (new Date().getTime() - start) + "ms."); + typeof(onReady) === "string" ? eval(onReady) : onReady(); //< Do what it's supposed to do once the condition is fulfilled + clearInterval(interval); //< Stop this interval + } + } + }, 100); //< repeat check every 100ms +}; + +if (system.args.length !== 2) { + console.log('Usage: run-qunit.js URL'); + phantom.exit(1); +} + +var fs = require('fs'); +var page = require('webpage').create(); + +// Route "console.log()" calls from within the Page context to the main Phantom context (i.e. current "this") +page.onConsoleMessage = function(msg) { + console.log(msg); +}; +page.onError = function (msg, trace) { + console.log(msg); + trace.forEach(function(item) { + console.log(' ', item.file, ':', item.line); + }) +} + +var _openPath = phantom.args[0].replace(/^.*(\\|\/)/, ''); +var openPath = _openPath; +var origdir = '../js/'; +var basedir = '../instrumented/'; +var coverageBase = fs.read('_coverage.html'); + +if (fs.exists(basedir)){ + var script = /<\/script>/g, + src = /src=(["'])(.*?)\1/, + contents = fs.read(openPath), + _contents = contents, + srcs = [], + s; + while (script.exec(contents)){ + s = src.exec(RegExp.lastMatch)[2]; + if (s && s.indexOf(origdir) != -1) + _contents = _contents.replace(s, s.replace(origdir, basedir)) + } + if (_contents != contents){ + openPath += '.cov.html'; + fs.write(openPath, _contents); + } +} + +page.open(openPath, function(status){ + if (status !== "success") { + console.log("Unable to access network"); + phantom.exit(1); + } else { + // Inject instrumented sources if they exist + if (fs.exists(basedir)) + for (var i=0; i0 ? 'hit' : 'miss'); + } else { + hitmiss = ' ' + 'undef'; + } + var htmlLine = fileLines[idx] + if (!source) + htmlLine = htmlLine.replace('<', '<').replace('>', '>'); + colorized += '
      ' + htmlLine + '
      \n'; + }; + colorized = coverageBase.replace('COLORIZED_LINE_HTML', colorized); + + fs.write('coverage.html', colorized, 'w'); + + console.log('Coverage for ' + coverageInfo.key + ' in coverage.html'); + } + if (_openPath != openPath) + fs.remove(openPath); + + var failedNum = page.evaluate(function(){ + var el = document.getElementById('qunit-testresult'); + console.log(el.innerText); + try { + return el.getElementsByClassName('failed')[0].innerHTML; + } catch (e) { } + return 10000; + }); + phantom.exit((parseInt(failedNum, 10) > 0) ? 1 : 0); + }); + } +}); + +function readFileLines(filename) { + var stream = fs.open(filename, 'r'); + var lines = []; + var line; + while (!stream.atEnd()) { + lines.push(stream.readLine()); + } + stream.close(); + + return lines; +} + diff --git a/public/vendor/bootstrap-datepicker/tests/suites/calendar-weeks.js b/public/vendor/bootstrap-datepicker/tests/suites/calendar-weeks.js new file mode 100644 index 000000000000..6c466f1d1b92 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/suites/calendar-weeks.js @@ -0,0 +1,48 @@ +module('Calendar Weeks', { + setup: function(){ + this.input = $('') + .appendTo('#qunit-fixture') + .val('2013-01-14') + .datepicker({ + format: 'yyyy-mm-dd', + calendarWeeks: true + }) + .focus(); // Activate for visibility checks + this.dp = this.input.data('datepicker') + this.picker = this.dp.picker; + }, + teardown: function(){ + this.picker.remove(); + } +}); + +test('adds cw header column', function(){ + var target = this.picker.find('.datepicker-days thead th:first-child'); + ok(target.hasClass('cw'), 'First column heading is from cw column'); +}); + +test('adds calendar week cells to each day row', function(){ + var target = this.picker.find('.datepicker-days tbody tr'); + + expect(target.length); + target.each(function(i){ + var t = $(this).children().first(); + ok(t.hasClass('cw'), "First column is cw column"); + }); +}); + +test('displays correct calendar week', function(){ + var target = this.picker.find('.datepicker-days tbody tr'); + + expect(target.length); + target.each(function(i){ + var t = $(this).children().first(); + equal(t.text(), i+1, "Displays correct calendar weeks"); + }); +}); + +test('it prepends column to switcher thead row', function(){ + var target = this.picker.find('.datepicker-days thead tr:first-child'); + equal(target.children().length, 4, 'first row has 4 columns'); + ok(target.children().first().hasClass('cw'), 'cw column is prepended'); +}); diff --git a/public/vendor/bootstrap-datepicker/tests/suites/component.js b/public/vendor/bootstrap-datepicker/tests/suites/component.js new file mode 100644 index 000000000000..399abd444884 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/suites/component.js @@ -0,0 +1,202 @@ +module('Component', { + setup: function(){ + this.component = $('
      '+ + ''+ + ''+ + '
      ') + .appendTo('#qunit-fixture') + .datepicker({format: "dd-mm-yyyy"}); + this.input = this.component.find('input'); + this.addon = this.component.find('.add-on'); + this.dp = this.component.data('datepicker') + this.picker = this.dp.picker; + }, + teardown: function(){ + this.picker.remove(); + } +}); + + +test('Component gets date/viewDate from input value', function(){ + datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); + datesEqual(this.dp.viewDate, UTCDate(2012, 1, 12)); +}); + +test('Activation by component', function(){ + ok(!this.picker.is(':visible')); + this.addon.click(); + ok(this.picker.is(':visible')); +}); + +test('simple keyboard nav test', function(){ + var target; + + // Keyboard nav only works with non-readonly inputs + this.input.removeAttr('readonly'); + + equal(this.dp.viewMode, 0); + target = this.picker.find('.datepicker-days thead th.datepicker-switch'); + equal(target.text(), 'February 2012', 'Title is "February 2012"'); + datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); + datesEqual(this.dp.viewDate, UTCDate(2012, 1, 12)); + + // Focus/open + this.addon.click(); + + // Navigation: -1 day, left arrow key + this.input.trigger({ + type: 'keydown', + keyCode: 37 + }); + datesEqual(this.dp.viewDate, UTCDate(2012, 1, 11)); + datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); + datesEqual(this.dp.focusDate, UTCDate(2012, 1, 11)); + // Month not changed + target = this.picker.find('.datepicker-days thead th.datepicker-switch'); + equal(target.text(), 'February 2012', 'Title is "February 2012"'); + + // Navigation: +1 month, shift + right arrow key + this.input.trigger({ + type: 'keydown', + keyCode: 39, + shiftKey: true + }); + datesEqual(this.dp.viewDate, UTCDate(2012, 2, 11)); + datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); + datesEqual(this.dp.focusDate, UTCDate(2012, 2, 11)); + target = this.picker.find('.datepicker-days thead th.datepicker-switch'); + equal(target.text(), 'March 2012', 'Title is "March 2012"'); + + // Navigation: -1 year, ctrl + left arrow key + this.input.trigger({ + type: 'keydown', + keyCode: 37, + ctrlKey: true + }); + datesEqual(this.dp.viewDate, UTCDate(2011, 2, 11)); + datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); + datesEqual(this.dp.focusDate, UTCDate(2011, 2, 11)); + target = this.picker.find('.datepicker-days thead th.datepicker-switch'); + equal(target.text(), 'March 2011', 'Title is "March 2011"'); +}); + +test('setValue', function(){ + this.dp.dates.replace(UTCDate(2012, 2, 13)); + this.dp.setValue(); + datesEqual(this.dp.dates[0], UTCDate(2012, 2, 13)); + equal(this.input.val(), '13-03-2012'); +}); + +test('update', function(){ + this.input.val('13-03-2012'); + this.dp.update(); + equal(this.dp.dates.length, 1); + datesEqual(this.dp.dates[0], UTCDate(2012, 2, 13)); +}); + +test('Navigating to/from decade view', function(){ + var target; + + this.addon.click(); + this.input.val('31-03-2012'); + this.dp.update(); + + equal(this.dp.viewMode, 0); + target = this.picker.find('.datepicker-days thead th.datepicker-switch'); + ok(target.is(':visible'), 'View switcher is visible'); + + target.click(); + ok(this.picker.find('.datepicker-months').is(':visible'), 'Month picker is visible'); + equal(this.dp.viewMode, 1); + // Not modified when switching modes + datesEqual(this.dp.viewDate, UTCDate(2012, 2, 31)); + datesEqual(this.dp.dates[0], UTCDate(2012, 2, 31)); + + target = this.picker.find('.datepicker-months thead th.datepicker-switch'); + ok(target.is(':visible'), 'View switcher is visible'); + + target.click(); + ok(this.picker.find('.datepicker-years').is(':visible'), 'Year picker is visible'); + equal(this.dp.viewMode, 2); + // Not modified when switching modes + datesEqual(this.dp.viewDate, UTCDate(2012, 2, 31)); + datesEqual(this.dp.dates[0], UTCDate(2012, 2, 31)); + + // Change years to test internal state changes + target = this.picker.find('.datepicker-years tbody span:contains(2011)'); + target.click(); + equal(this.dp.viewMode, 1); + // Only viewDate modified + datesEqual(this.dp.viewDate, UTCDate(2011, 2, 1)); + datesEqual(this.dp.dates[0], UTCDate(2012, 2, 31)); + + target = this.picker.find('.datepicker-months tbody span:contains(Apr)'); + target.click(); + equal(this.dp.viewMode, 0); + // Only viewDate modified + datesEqual(this.dp.viewDate, UTCDate(2011, 3, 1)); + datesEqual(this.dp.dates[0], UTCDate(2012, 2, 31)); +}); + +test('Selecting date resets viewDate and date', function(){ + var target; + + this.addon.click(); + this.input.val('31-03-2012'); + this.dp.update(); + + // Rendered correctly + equal(this.dp.viewMode, 0); + target = this.picker.find('.datepicker-days tbody td:first'); + equal(target.text(), '26'); // Should be Feb 26 + + // Updated internally on click + target.click(); + datesEqual(this.dp.viewDate, UTCDate(2012, 1, 26)) + datesEqual(this.dp.dates[0], UTCDate(2012, 1, 26)) + + // Re-rendered on click + target = this.picker.find('.datepicker-days tbody td:first'); + equal(target.text(), '29'); // Should be Jan 29 +}); + +test('"remove" removes associated HTML', function(){ + var datepickerDivSelector = '.datepicker'; + + $('#datepicker').datepicker('show'); + + //there should be one datepicker initiated so that means one hidden .datepicker div + equal($(datepickerDivSelector).length, 1); + this.component.datepicker('remove'); + equal($(datepickerDivSelector).length, 0);//hidden HTML should be gone +}); + +test('Does not block events', function(){ + var clicks = 0; + function handler(){ + clicks++; + } + $('#qunit-fixture').on('click', '.add-on', handler); + this.addon.click(); + equal(clicks, 1); + $('#qunit-fixture').off('click', '.add-on', handler); +}); + + +test('date and viewDate must be between startDate and endDate when setStartDate called', function() { + this.dp.setDate(new Date(2013, 1, 1)); + datesEqual(this.dp.dates[0], UTCDate(2013, 1, 1)); + datesEqual(this.dp.viewDate, UTCDate(2013, 1, 1)); + this.dp.setStartDate(new Date(2013, 5, 6)); + datesEqual(this.dp.viewDate, UTCDate(2013, 5, 6)); + equal(this.dp.dates.length, 0); +}); + +test('date and viewDate must be between startDate and endDate when setEndDate called', function() { + this.dp.setDate(new Date(2013, 11, 1)); + datesEqual(this.dp.dates[0], UTCDate(2013, 11, 1)); + datesEqual(this.dp.viewDate, UTCDate(2013, 11, 1)); + this.dp.setEndDate(new Date(2013, 5, 6)); + datesEqual(this.dp.viewDate, UTCDate(2013, 5, 6)); + equal(this.dp.dates.length, 0); +}); diff --git a/public/vendor/bootstrap-datepicker/tests/suites/data-api.js b/public/vendor/bootstrap-datepicker/tests/suites/data-api.js new file mode 100644 index 000000000000..a751f57111b4 --- /dev/null +++ b/public/vendor/bootstrap-datepicker/tests/suites/data-api.js @@ -0,0 +1,114 @@ +module('DATA-API'); + +test('DATA-API: data-provide="datepicker" on input; focus', function(){ + var input = $('') + .appendTo('#qunit-fixture'); + input.focus(); + ok(input.data('datepicker'), 'datepicker is initialized by "focus" event'); +}); + +test('DATA-API: data-provide="datepicker" on input; click', function(){ + var input = $('') + .appendTo('#qunit-fixture'); + input.click(); + ok(input.data('datepicker'), 'datepicker is initialized by "focus" event'); +}); + +test('DATA-API: data-provide="datepicker" on component', function(){ + var html, comp; + + html = '
      '+ + ''+ + '
      '; + + comp = $(html).appendTo('#qunit-fixture'); + comp.find('input').focus(); + ok(comp.data('datepicker'), 'append component initialized by "focus" event on input'); + comp.remove(); + + comp = $(html).appendTo('#qunit-fixture'); + comp.find('input').click(); + ok(comp.data('datepicker'), 'append component initialized by "click" event on input'); + comp.remove(); + + comp = $(html).appendTo('#qunit-fixture'); + comp.find('.add-on').focus(); + ok(comp.data('datepicker'), 'append component initialized by "focus" event on add-on'); + comp.remove(); + + comp = $(html).appendTo('#qunit-fixture'); + comp.find('.add-on').click(); + ok(comp.data('datepicker'), 'append component initialized by "click" event on add-on'); + comp.remove(); + + + html = '
      '+ + ''+ + '
      '; + + comp = $(html).prependTo('#qunit-fixture'); + comp.find('input').focus(); + ok(comp.data('datepicker'), 'prepend component initialized by "focus" event on input'); + comp.remove(); + + comp = $(html).prependTo('#qunit-fixture'); + comp.find('input').click(); + ok(comp.data('datepicker'), 'prepend component initialized by "click" event on input'); + comp.remove(); + + comp = $(html).prependTo('#qunit-fixture'); + comp.find('.add-on').focus(); + ok(comp.data('datepicker'), 'prepend component initialized by "focus" event on add-on'); + comp.remove(); + + comp = $(html).prependTo('#qunit-fixture'); + comp.find('.add-on').click(); + ok(comp.data('datepicker'), 'prepend component initialized by "click" event on add-on'); + comp.remove(); +}); + +test('DATA-API: data-provide="datepicker" on button', function(){ + var html, comp; + + html = ' +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS gradeCheck
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS gradeCheck
      + + +
      + + +

      Initialisation code

      +
      var oTable;
      +
      +$(document).ready(function() {
      +	$('#form').submit( function() {
      +		var sData = oTable.$('input').serialize();
      +		alert( "The following data would have been submitted to the server: \n\n"+sData );
      +		return false;
      +	} );
      +	
      +	oTable = $('#example').dataTable();
      +} );
      + + + + +

      Other examples

      + + + + + + + + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/api/highlight.html b/public/vendor/datatables/examples/api/highlight.html new file mode 100644 index 000000000000..f7c563163980 --- /dev/null +++ b/public/vendor/datatables/examples/api/highlight.html @@ -0,0 +1,618 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables highlighting example +
      + +

      Preamble

      +

      The highlighting of rows and columns have be quite useful for attracting attention to where the user's cursor is in the data array. Of course the highlighting of a row is easy enough using CSS, but for column highlighting, you need to use a little bit of Javascript. This example shows that in action on a DataTables enhanced table - this type of effect would be particularly effective on tables with dense information.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	var oTable = $('#example').dataTable( {
      +		"bSortClasses": false
      +	} );
      +	
      +	oTable.$('td').hover( function() {
      +		var iCol = $('td', this.parentNode).index(this) % 5;
      +		$('td:nth-child('+(iCol+1)+')', oTable.$('tr')).addClass( 'highlighted' );
      +	}, function() {
      +		oTable.$('td.highlighted').removeClass('highlighted');
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/api/multi_filter.html b/public/vendor/datatables/examples/api/multi_filter.html new file mode 100644 index 000000000000..648d32139a9a --- /dev/null +++ b/public/vendor/datatables/examples/api/multi_filter.html @@ -0,0 +1,676 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables individual column filtering example +
      + +

      Preamble

      +

      The filtering functionality that is provided by DataTables is very useful for quickly search through the information in the table - however the search is global, and you (or the end user) may wish to filter only on a particular column of data. To met this need the DataTables fnFilter() API function allow you to specify a column to limit to search to. Note that this works in-combination with the global search filter. Further note that because the input elements are outside of the control of DataTables, with state saving enabled, stored values are not automatically restored - please see this post in the forum for how to do this.

      +

      The example below shows a table which has a text input box for each column in the footer element of the table. This allows the data in each column to be quickly filtered upon by the end user.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      var asInitVals = new Array();
      +
      +$(document).ready(function() {
      +	var oTable = $('#example').dataTable( {
      +		"oLanguage": {
      +			"sSearch": "Search all columns:"
      +		}
      +	} );
      +	
      +	$("tfoot input").keyup( function () {
      +		/* Filter on the column (the index) of this element */
      +		oTable.fnFilter( this.value, $("tfoot input").index(this) );
      +	} );
      +	
      +	
      +	
      +	/*
      +	 * Support functions to provide a little bit of 'user friendlyness' to the textboxes in 
      +	 * the footer
      +	 */
      +	$("tfoot input").each( function (i) {
      +		asInitVals[i] = this.value;
      +	} );
      +	
      +	$("tfoot input").focus( function () {
      +		if ( this.className == "search_init" )
      +		{
      +			this.className = "";
      +			this.value = "";
      +		}
      +	} );
      +	
      +	$("tfoot input").blur( function (i) {
      +		if ( this.value == "" )
      +		{
      +			this.className = "search_init";
      +			this.value = asInitVals[$("tfoot input").index(this)];
      +		}
      +	} );
      +} );
      + + +

      Note that in the above code, the support functions are provided to ensure that the end user knows what data is being filtered upon. fnFilter() is the function of primary import here.

      + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/api/multi_filter_select.html b/public/vendor/datatables/examples/api/multi_filter_select.html new file mode 100644 index 000000000000..befe999b26c0 --- /dev/null +++ b/public/vendor/datatables/examples/api/multi_filter_select.html @@ -0,0 +1,759 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables individual column filtering example (using select menus) +
      + +

      Preamble

      +

      This example is almost identical to individual column example and provides the same functionality, but using <select> menus rather than input elements. The API plug-in function fnGetColumnData from Benedikt Forchhammer provides much of the logic processing required, and integration with a table is almost trivial.

      +

      One possible interaction chance would be to make use of fnGetColumnData's ability to get filtered data, so you could have the possible filtering values in the select menus to update to only those in the table, rather than all values.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      (function($) {
      +/*
      + * Function: fnGetColumnData
      + * Purpose:  Return an array of table values from a particular column.
      + * Returns:  array string: 1d data array 
      + * Inputs:   object:oSettings - dataTable settings object. This is always the last argument past to the function
      + *           int:iColumn - the id of the column to extract the data from
      + *           bool:bUnique - optional - if set to false duplicated values are not filtered out
      + *           bool:bFiltered - optional - if set to false all the table data is used (not only the filtered)
      + *           bool:bIgnoreEmpty - optional - if set to false empty values are not filtered from the result array
      + * Author:   Benedikt Forchhammer <b.forchhammer /AT\ mind2.de>
      + */
      +$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
      +	// check that we have a column id
      +	if ( typeof iColumn == "undefined" ) return new Array();
      +	
      +	// by default we only want unique data
      +	if ( typeof bUnique == "undefined" ) bUnique = true;
      +	
      +	// by default we do want to only look at filtered data
      +	if ( typeof bFiltered == "undefined" ) bFiltered = true;
      +	
      +	// by default we do not want to include empty values
      +	if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;
      +	
      +	// list of rows which we're going to loop through
      +	var aiRows;
      +	
      +	// use only filtered rows
      +	if (bFiltered == true) aiRows = oSettings.aiDisplay; 
      +	// use all rows
      +	else aiRows = oSettings.aiDisplayMaster; // all row numbers
      +
      +	// set up data array	
      +	var asResultData = new Array();
      +	
      +	for (var i=0,c=aiRows.length; i<c; i++) {
      +		iRow = aiRows[i];
      +		var aData = this.fnGetData(iRow);
      +		var sValue = aData[iColumn];
      +		
      +		// ignore empty values?
      +		if (bIgnoreEmpty == true && sValue.length == 0) continue;
      +
      +		// ignore unique values?
      +		else if (bUnique == true && jQuery.inArray(sValue, asResultData) > -1) continue;
      +		
      +		// else push the value onto the result data array
      +		else asResultData.push(sValue);
      +	}
      +	
      +	return asResultData;
      +}}(jQuery));
      +
      +
      +function fnCreateSelect( aData )
      +{
      +	var r='<select><option value=""></option>', i, iLen=aData.length;
      +	for ( i=0 ; i<iLen ; i++ )
      +	{
      +		r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
      +	}
      +	return r+'</select>';
      +}
      +
      +
      +$(document).ready(function() {
      +	/* Initialise the DataTable */
      +	var oTable = $('#example').dataTable( {
      +		"oLanguage": {
      +			"sSearch": "Search all columns:"
      +		}
      +	} );
      +	
      +	/* Add a select menu for each TH element in the table footer */
      +	$("tfoot th").each( function ( i ) {
      +		this.innerHTML = fnCreateSelect( oTable.fnGetColumnData(i) );
      +		$('select', this).change( function () {
      +			oTable.fnFilter( $(this).val(), i );
      +		} );
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/api/regex.html b/public/vendor/datatables/examples/api/regex.html new file mode 100644 index 000000000000..2ea7a179d64f --- /dev/null +++ b/public/vendor/datatables/examples/api/regex.html @@ -0,0 +1,726 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables filtering API example +
      + +

      Preamble

      +

      Filtering a table is one of the most common user interactions with a DataTables table, and DataTables provides a number of methods for you to control this interaction. There is a global filter, and a filter for each individual column. The global filter acts on each column.

      +

      Each filter (global or column) can be marked as a regular expression (allowing you to create very complex interactions) and as a smart filter or not. When smart filtering is enabled on a particular filter, DataTables will modify the user input string to a complex regular expression which can make filtering more intuitive.

      +

      This example allows you to "play" with the various filtering options that DataTables provides.

      + +

      Live example

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TargetFilter textTreat as regexUse smart filter
      Global filtering
      Column 1
      Column 2
      Column 3
      Column 4
      Column 5
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5,5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1,7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1,8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1,8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1,9A
      GeckoCamino 1.0OSX.2+1,8A
      GeckoCamino 1.5OSX.3+1,8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1,7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1,8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1,1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1,2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1,3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1,4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1,5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1,6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1,7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1,8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1,8A
      GeckoEpiphany 2.20Gnome1,8A
      WebkitSafari 1.2OSX.3125,5A
      WebkitSafari 1.3OSX.3312,8A
      WebkitSafari 2.0OSX.4+419,3A
      WebkitSafari 3.0OSX.4+522,1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420,1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8,5C/A1
      KHTMLKonqureror 3.1KDE 3.13,1C
      KHTMLKonqureror 3.3KDE 3.33,3A
      KHTMLKonqureror 3.5KDE 3.53,5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      function fnFilterGlobal ()
      +{
      +	$('#example').dataTable().fnFilter( 
      +		$("#global_filter").val(),
      +		null, 
      +		$("#global_regex")[0].checked, 
      +		$("#global_smart")[0].checked
      +	);
      +}
      +
      +function fnFilterColumn ( i )
      +{
      +	$('#example').dataTable().fnFilter( 
      +		$("#col"+(i+1)+"_filter").val(),
      +		i, 
      +		$("#col"+(i+1)+"_regex")[0].checked, 
      +		$("#col"+(i+1)+"_smart")[0].checked
      +	);
      +}
      +
      +$(document).ready(function() {
      +	$('#example').dataTable();
      +	
      +	$("#global_filter").keyup( fnFilterGlobal );
      +	$("#global_regex").click( fnFilterGlobal );
      +	$("#global_smart").click( fnFilterGlobal );
      +	
      +	$("#col1_filter").keyup( function() { fnFilterColumn( 0 ); } );
      +	$("#col1_regex").click(  function() { fnFilterColumn( 0 ); } );
      +	$("#col1_smart").click(  function() { fnFilterColumn( 0 ); } );
      +	
      +	// ... etc for the other four columns
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/api/row_details.html b/public/vendor/datatables/examples/api/row_details.html new file mode 100644 index 000000000000..f7f73dc0fd9c --- /dev/null +++ b/public/vendor/datatables/examples/api/row_details.html @@ -0,0 +1,705 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables hidden row details example +
      + +

      Preamble

      +

      DataTables has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      /* Formating function for row details */
      +function fnFormatDetails ( oTable, nTr )
      +{
      +	var aData = oTable.fnGetData( nTr );
      +	var sOut = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">';
      +	sOut += '<tr><td>Rendering engine:</td><td>'+aData[1]+' '+aData[4]+'</td></tr>';
      +	sOut += '<tr><td>Link to source:</td><td>Could provide a link here</td></tr>';
      +	sOut += '<tr><td>Extra info:</td><td>And any further details here (images etc)</td></tr>';
      +	sOut += '</table>';
      +	
      +	return sOut;
      +}
      +
      +$(document).ready(function() {
      +	/*
      +	 * Insert a 'details' column to the table
      +	 */
      +	var nCloneTh = document.createElement( 'th' );
      +	var nCloneTd = document.createElement( 'td' );
      +	nCloneTd.innerHTML = '<img src="../examples_support/details_open.png">';
      +	nCloneTd.className = "center";
      +	
      +	$('#example thead tr').each( function () {
      +		this.insertBefore( nCloneTh, this.childNodes[0] );
      +	} );
      +	
      +	$('#example tbody tr').each( function () {
      +		this.insertBefore(  nCloneTd.cloneNode( true ), this.childNodes[0] );
      +	} );
      +	
      +	/*
      +	 * Initialse DataTables, with no sorting on the 'details' column
      +	 */
      +	var oTable = $('#example').dataTable( {
      +		"aoColumnDefs": [
      +			{ "bSortable": false, "aTargets": [ 0 ] }
      +		],
      +		"aaSorting": [[1, 'asc']]
      +	});
      +	
      +	/* Add event listener for opening and closing details
      +	 * Note that the indicator for showing which row is open is not controlled by DataTables,
      +	 * rather it is done here
      +	 */
      +	$('#example tbody td img').live('click', function () {
      +		var nTr = $(this).parents('tr')[0];
      +		if ( oTable.fnIsOpen(nTr) )
      +		{
      +			/* This row is already open - close it */
      +			this.src = "../examples_support/details_open.png";
      +			oTable.fnClose( nTr );
      +		}
      +		else
      +		{
      +			/* Open this row */
      +			this.src = "../examples_support/details_close.png";
      +			oTable.fnOpen( nTr, fnFormatDetails(oTable, nTr), 'details' );
      +		}
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/api/select_row.html b/public/vendor/datatables/examples/api/select_row.html new file mode 100644 index 000000000000..8b6fbc5d86ee --- /dev/null +++ b/public/vendor/datatables/examples/api/select_row.html @@ -0,0 +1,630 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables row select example +
      + +

      Preamble

      +

      It can be quite useful at times to provide the user with the option to select rows in a DataTable. This can be done by simply using a click event to add/remove a class on the table rows. The the selected rows are then provided through the custom function fnGetSelected() for later processing.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	/* Add/remove class to a row when clicked on */
      +	$('#example tr').click( function() {
      +		$(this).toggleClass('row_selected');
      +	} );
      +	
      +	/* Init the table */
      +	var oTable = $('#example').dataTable( );
      +} );
      +
      +/*
      + * I don't actually use this here, but it is provided as it might be useful and demonstrates
      + * getting the TR nodes from DataTables
      + */
      +function fnGetSelected( oTableLocal )
      +{
      +	return oTableLocal.$('tr.row_selected');
      +}
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/api/select_single_row.html b/public/vendor/datatables/examples/api/select_single_row.html new file mode 100644 index 000000000000..d8fbdfa87f65 --- /dev/null +++ b/public/vendor/datatables/examples/api/select_single_row.html @@ -0,0 +1,659 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables row select example +
      + +

      Preamble

      +

      It can be quite useful at times to provide the user with the option to select rows in a DataTable. In this example we use standard jQuery 'click' events to add a class to table rows to indicate that they have been selected. Note that we use oTable.$() when working with rows in the table to ensure that all rows are considered, regardless of paging and filtering.

      + +

      Live example

      +

      Delete selected row

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      var oTable;
      +
      +$(document).ready(function() {
      +	/* Add a click handler to the rows - this could be used as a callback */
      +	$("#example tbody tr").click( function( e ) {
      +		if ( $(this).hasClass('row_selected') ) {
      +			$(this).removeClass('row_selected');
      +		}
      +		else {
      +			oTable.$('tr.row_selected').removeClass('row_selected');
      +			$(this).addClass('row_selected');
      +		}
      +	});
      +	
      +	/* Add a click handler for the delete row */
      +	$('#delete').click( function() {
      +		var anSelected = fnGetSelected( oTable );
      +		if ( anSelected.length !== 0 ) {
      +			oTable.fnDeleteRow( anSelected[0] );
      +		}
      +	} );
      +	
      +	/* Init the table */
      +	oTable = $('#example').dataTable( );
      +} );
      +
      +
      +/* Get the rows which are currently selected */
      +function fnGetSelected( oTableLocal )
      +{
      +	return oTableLocal.$('tr.row_selected');
      +}
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/api/show_hide.html b/public/vendor/datatables/examples/api/show_hide.html new file mode 100644 index 000000000000..f385c783a585 --- /dev/null +++ b/public/vendor/datatables/examples/api/show_hide.html @@ -0,0 +1,630 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables show and hide columns dynamically example +
      + +

      Preamble

      +

      This example shows how you can make use of the fnSetColumnVis() API function to show and hide columns in a table dynamically, after the table has been initialised (we've also got scrolling enabled here, although that is not required for the API function to work).

      + + Toggle column 1
      + Toggle column 2
      + Toggle column 3
      + Toggle column 4
      + Toggle column 5
      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"sScrollY": "200px",
      +		"bPaginate": false
      +	} );
      +} );
      +
      +function fnShowHide( iCol )
      +{
      +	/* Get the DataTables object again - this is not a recreation, just a get of the object */
      +	var oTable = $('#example').dataTable();
      +	
      +	var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
      +	oTable.fnSetColumnVis( iCol, bVis ? false : true );
      +}
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/api/tabs_and_scrolling.html b/public/vendor/datatables/examples/api/tabs_and_scrolling.html new file mode 100644 index 000000000000..c370ad85c455 --- /dev/null +++ b/public/vendor/datatables/examples/api/tabs_and_scrolling.html @@ -0,0 +1,456 @@ + + + + + + + DataTables example + + + + + + + +
      +
      + DataTables scrolling and jQuery UI tabs +
      + +

      Preamble

      +

      This example shows how DataTables with scrolling can be used together with jQuery UI tabs (or indeed any other method whereby the table is in a hidden (display:none) element when it is initialised). The reason this requires special consideration, is that when DataTables is initialised and it is in a hidden element, the browser doesn't have any measurements with which to give DataTables, and this will require in the misalignment of columns when scrolling is enabled.

      +

      The method to get around this is to call the fnAdjustColumnSizing API function. This function will calculate the column widths that are needed based on the current data and then redraw the table - which is exactly what is needed when the table becomes visible for the first time. For this we use the 'show' method provided by jQuery UI tables. We check to see if the DataTable has been created or not (note the extra selector for 'div.dataTables_scrollBody', this is added when the DataTable is initialised). If the table has been initialised, we re-size it. An optimisation could be added to re-size only of the first showing of the table.

      + +

      Live example

      +
      +
      + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionGrade
      Rendering engineBrowserPlatform(s)Engine versionGrade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      +
      + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionGrade
      Rendering engineBrowserPlatform(s)Engine versionGrade
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      +
      +
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$("#tabs").tabs( {
      +		"show": function(event, ui) {
      +			var table = $.fn.dataTable.fnTables(true);
      +			if ( table.length > 0 ) {
      +				$(table).dataTable().fnAdjustColumnSizing();
      +			}
      +		}
      +	} );
      +	
      +	$('table.display').dataTable( {
      +		"sScrollY": "200px",
      +		"bScrollCollapse": true,
      +		"bPaginate": false,
      +		"bJQueryUI": true,
      +		"aoColumnDefs": [
      +			{ "sWidth": "10%", "aTargets": [ -1 ] }
      +		]
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/alt_pagination.html b/public/vendor/datatables/examples/basic_init/alt_pagination.html new file mode 100644 index 000000000000..d9b58ff69fb2 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/alt_pagination.html @@ -0,0 +1,609 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables alternative pagination example +
      + +

      Preamble

      +

      The page controls which are used by default in DataTables (forward and backward buttons only) are great for most situations, but there are cases where you may wish to customise the controls presented to the end user. This is made simple by DataTables through its extensible pagination mechanism. There are two types of pagination controls built into DataTables: two_button (default) and full_numbers. To switch between these two types, use the sPaginationType initialisation parameter. You can add additional types of pagination control by extending the $.fn.dataTableExt.oPagination object.

      +

      Note also that the number of pages which are shown with direct links (the 1, 2, 3...) can be changed by setting the variable jQuery.fn.dataTableExt.oPagination.iFullNumbersShowPages (default 5). Odd numbers are best to keep the display even.

      +

      The example below shows the full_numbers type of pagination, where 'first', 'previous', 'next' and 'last' buttons are presented, as well as the five pages around the current page.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      Trident + Internet + Explorer + 4.0 + Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"sPaginationType": "full_numbers"
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/base.html b/public/vendor/datatables/examples/basic_init/base.html new file mode 100644 index 000000000000..ecc619e4572d --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/base.html @@ -0,0 +1,596 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables base example (CDN CSS) +
      + +

      Preamble

      +

      DataTables has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+ 4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable();
      +} );
      + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/base_themeroller.html b/public/vendor/datatables/examples/basic_init/base_themeroller.html new file mode 100644 index 000000000000..2f84d46e9d9b --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/base_themeroller.html @@ -0,0 +1,592 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables base example (CDN CSS) +
      + +

      Preamble

      +

      DataTables has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+ 4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable();
      +} );
      + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/complex_header.html b/public/vendor/datatables/examples/basic_init/complex_header.html new file mode 100644 index 000000000000..b9ecdcf562cc --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/complex_header.html @@ -0,0 +1,606 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables complex header example (row and colspans) +
      + +

      Preamble

      +

      When using tables to display data, you will often wish to display column information in groups. DataTables fully supports colspan and rowspans in the header, assigning the required sorting listeners to the TH element suitable for that column. Each column must have one TH cell (and only one) which is unique to it for the listeners to be added. The example shown below has the core browser information grouped together.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserDetails
      Platform(s)Engine versionCSS grade
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      Details
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable();
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/dom.html b/public/vendor/datatables/examples/basic_init/dom.html new file mode 100644 index 000000000000..3603b4baf178 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/dom.html @@ -0,0 +1,619 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables DOM positioning example +
      + +

      Preamble

      +

      When customising DataTables for your own usage, you might find that the default position of the feature elements (filter input etc) is not quite to your liking. To address this issue DataTables takes inspiration from the CSS 3 Advanced Layout Module and provides the sDom initialisation parameter which can be set to indicate where you which particular features to appear in the DOM. You can also specify div wrapping containers (with classes) to provide complete layout flexibility. The syntax available is:

      +
        +
      • l - Length changing
      • +
      • f - Filtering input
      • +
      • t - The table!
      • +
      • i - Information
      • +
      • p - Pagination
      • +
      • r - pRocessing
      • +
      • < and > - div elements
      • +
      • <"class" and > - div with a class
      • +
      • Examples: <"wrapper"flipt>, <lf<t>ip>
      • +
      +

      In the example below I've moved the table information to the top of the table, and all the interaction elements to the bottom, each wrapper in a container div.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      Trident + Internet + Explorer + 4.0 + Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"sDom": '<"top"i>rt<"bottom"flp><"clear">'
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/filter_only.html b/public/vendor/datatables/examples/basic_init/filter_only.html new file mode 100644 index 000000000000..f7fa9f0a26fc --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/filter_only.html @@ -0,0 +1,609 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables with only the filter feature +
      + +

      Preamble

      +

      Disabling features that you don't wish to use for a particular table is easily done by setting a variable in the initialisation object. In the following example only the filter feature is left enabled (although I've explicitly declared it as enabled).

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet Explorer 4.0Win 95+4X
      TridentInternet Explorer 5.0Win 95+5C
      TridentInternet Explorer 5.5Win 95+5.5A
      TridentInternet Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"bPaginate": false,
      +		"bLengthChange": false,
      +		"bFilter": true,
      +		"bSort": false,
      +		"bInfo": false,
      +		"bAutoWidth": false
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/flexible_width.html b/public/vendor/datatables/examples/basic_init/flexible_width.html new file mode 100644 index 000000000000..93279f7fef55 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/flexible_width.html @@ -0,0 +1,602 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables - flexible width example +
      + +

      Preamble

      +

      Often you may want to have your table resize dynamically with the page. Typically this is done by assigning width:100% in your CSS, but this presents a problem for Javascript since it can be very hard to get that relative size, rather than the absolute pixels. As such, if you apply the width attribute to the HTML table + tag, this will be used as the width for the table (overruling any CSS styles).

      +

      This example shows a table width width="100%" and the container is also flexible width, so as the window is resized, the table will also resize dynamically.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+ 4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable();
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/hidden_columns.html b/public/vendor/datatables/examples/basic_init/hidden_columns.html new file mode 100644 index 000000000000..3ffda278ff36 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/hidden_columns.html @@ -0,0 +1,604 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables with hidden columns +
      + +

      Preamble

      +

      There are times when you might find it useful to display only a sub-set of the information that was available in the original table. For example you might want to reduce the amount of data shown on screen to make it clearer for the user. This hidden data can still be filtered upon allowing the user access to that data (for example 'tag' information for a row entry), or this can be disabled. In the table below both the platform and engine version columns have been hidden, the former is searchable, the latter is not.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet Explorer 4.0Win 95+4X
      TridentInternet Explorer 5.0Win 95+5C
      TridentInternet Explorer 5.5Win 95+5.5A
      TridentInternet Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +				$('#example').dataTable( {
      +					"aoColumnDefs": [ 
      +						{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
      +						{ "bVisible": false, "aTargets": [ 3 ] }
      +					] } );
      +			} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/language.html b/public/vendor/datatables/examples/basic_init/language.html new file mode 100644 index 000000000000..7a34d9e189ba --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/language.html @@ -0,0 +1,612 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables dynamic language +
      + +

      Preamble

      +

      Changing the language information displayed by DataTables is as simple as passing in a language object to the dataTable constructor. The example above shows a different set of English language definitions to be used, rather than the defaults.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet Explorer 4.0Win 95+4X
      TridentInternet Explorer 5.0Win 95+5C
      TridentInternet Explorer 5.5Win 95+5.5A
      TridentInternet Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +$('#example').dataTable( {
      +		"oLanguage": {
      +			"sLengthMenu": "Display _MENU_ records per page",
      +			"sZeroRecords": "Nothing found - sorry",
      +			"sInfo": "Showing _START_ to _END_ of _TOTAL_ records",
      +			"sInfoEmpty": "Showing 0 to 0 of 0 records",
      +			"sInfoFiltered": "(filtered from _MAX_ total records)"
      +		}
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/multi_col_sort.html b/public/vendor/datatables/examples/basic_init/multi_col_sort.html new file mode 100644 index 000000000000..f9bb4c4e479c --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/multi_col_sort.html @@ -0,0 +1,635 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables multi column and custom sort example +
      + +

      Preamble

      +

      As you would expect with a desktop application, DataTables allows you to sort by multiple columns at the same time. This multiple sorting mechanism is always active if the bSort initialiser is true (it is by default) and the end user can activate it by 'shift' clicking on the column they want to add to the sort. You can also pass in an array of information using the aaSorting initialiser, as I have done in the example below there the first column is sorted as the primary column and the second one then used if the elements in the first column match. As many columns as you wish can be added to the sort.

      +

      DataTables also provides a method to add your own sorting functions, to extend those built into DataTables. This can be very useful if you wish to sort on data formats such as currency and non-Javascript standard date formats (this natural sort algorithm is a popular useage). This is achieved by extending the jQuery.fn.dataTableExt object with ascending and descending sort functions. In the example below I've added case sensitive sorting functions.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      /* Define two custom functions (asc and desc) for string sorting */
      +jQuery.fn.dataTableExt.oSort['string-case-asc']  = function(x,y) {
      +	return ((x < y) ? -1 : ((x > y) ?  1 : 0));
      +};
      +
      +jQuery.fn.dataTableExt.oSort['string-case-desc'] = function(x,y) {
      +	return ((x < y) ?  1 : ((x > y) ? -1 : 0));
      +};
      +
      +$(document).ready(function() {
      +	/* Build the DataTable with third column using our custom sort functions */
      +	$('#example').dataTable( {
      +		"aaSorting": [ [0,'asc'], [1,'asc'] ],
      +		"aoColumns": [
      +			null,
      +			null,
      +			{ "sType": 'string-case' },
      +			null,
      +			null
      +		]
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/multiple_tables.html b/public/vendor/datatables/examples/basic_init/multiple_tables.html new file mode 100644 index 000000000000..8f442cb27799 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/multiple_tables.html @@ -0,0 +1,416 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables multiple tables example +
      + +

      Preamble

      +

      Using standard jQuery selector syntax with DataTables it is trivial to initialise multiple tables with a single line of Javascript, as shown below. All tables are completely independent, but share the parameters passed thought the initialiser object (for example if you specific the Spanish language file, all tables will be shown in Spanish).

      + +

      Live example

      + +

      Trident based browsers

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BrowserPlatform(s)Engine versionCSS grade
      Internet + Explorer 4.0Win 95+4X
      Internet + Explorer 5.0Win 95+5C
      Internet + Explorer 5.5Win 95+5.5A
      Internet + Explorer 6Win 98+6A
      Internet Explorer 7Win XP SP2+7A
      AOL browser (AOL desktop)Win XP6A
      +
      +
      + + +

      Gecko based browsers

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BrowserPlatform(s)Engine versionCSS grade
      Firefox 1.0Win 98+ / OSX.2+1.7A
      Firefox 1.5Win 98+ / OSX.2+1.8A
      Firefox 2.0Win 98+ / OSX.2+1.8A
      Firefox 3.0Win 2k+ / OSX.3+1.9A
      Camino 1.0OSX.2+1.8A
      Camino 1.5OSX.3+1.8A
      Netscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      Netscape Browser 8Win 98SE+1.7A
      Netscape Navigator 9Win 98+ / OSX.2+1.8A
      Mozilla 1.0Win 95+ / OSX.1+1A
      Mozilla 1.1Win 95+ / OSX.1+1.1A
      Mozilla 1.2Win 95+ / OSX.1+1.2A
      Mozilla 1.3Win 95+ / OSX.1+1.3A
      Mozilla 1.4Win 95+ / OSX.1+1.4A
      Mozilla 1.5Win 95+ / OSX.1+1.5A
      Mozilla 1.6Win 95+ / OSX.1+1.6A
      Mozilla 1.7Win 98+ / OSX.1+1.7A
      Mozilla 1.8Win 98+ / OSX.1+1.8A
      Seamonkey 1.1Win 98+ / OSX.2+1.8A
      Epiphany 2.20Gnome1.8A
      +
      +
      + + +

      WebKit based browsers (note no platform)

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BrowserEngine versionCSS grade
      Safari 1.2125.5A
      Safari 1.3312.8A
      Safari 2.0419.3A
      Safari 3.0522.1A
      OmniWeb 5.5420A
      iPod Touch / iPhone420.1A
      S60413A
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('.dataTable').dataTable();
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/scroll_x.html b/public/vendor/datatables/examples/basic_init/scroll_x.html new file mode 100644 index 000000000000..2cc55944e840 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/scroll_x.html @@ -0,0 +1,610 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables horizontal scrolling example +
      + +

      Preamble

      +

      This DataTables horizontal scrolling example shows horizontal scrolling on a DataTable, which is very useful for when you have a wide table, with a large number of columns to display, but want to constrain it to a limited horizontal display area. To enable x scrolling simply set the sScrollX parameter to be whatever you want the container wrapper's width to be (any CSS measurement is acceptable, or just a number which is treated as pixels). Note also that sScrollXInner is used here to force the table to be wider than is strictly needed. You may or may not want to include this parameter depending on your application.

      +

      Also shown in this example is the use of a 'collapsing scroll table' by using bScrollCollapse. When this parameter is set to true, the table size will 'collapse' down to match the number of rows, if the table height is smaller than the scrollable area.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"sScrollX": "100%",
      +		"sScrollXInner": "110%",
      +		"bScrollCollapse": true
      +	} );
      +} );
      + + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/scroll_xy.html b/public/vendor/datatables/examples/basic_init/scroll_xy.html new file mode 100644 index 000000000000..1099e749e0e1 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/scroll_xy.html @@ -0,0 +1,600 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables horizontal and vertical scrolling example +
      + +

      Preamble

      +

      In this example you can see DataTables doing horizontal and vertical scrolling at the same time. Note also that pagination is enabled, and the scrolling accounts for this.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"sScrollY": 200,
      +		"sScrollX": "100%",
      +		"sScrollXInner": "110%"
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/scroll_y.html b/public/vendor/datatables/examples/basic_init/scroll_y.html new file mode 100644 index 000000000000..da6a6ec4672f --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/scroll_y.html @@ -0,0 +1,609 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables vertical scrolling example +
      + +

      Preamble

      +

      This example shows the DataTables table body scrolling in the vertical direction. This can generally be seen as an alternative method to pagination for displaying a large table in a fairly small vertical area, and as such pagination has been disabled here (note that this is not mandatory, it will work just fine with pagination enabled as well!). The example is set up to show grid lines using CSS, which is useful for alignment, both for testing and end user usability. To enable y scrolling simply set the sScrollY parameter to be whatever you want the container wrapper's height to be (any CSS measurement is acceptable, or just a number which is treated as pixels).

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"sScrollY": "200px",
      +		"bPaginate": false,
      +		"bScrollCollapse": true
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/scroll_y_infinite.html b/public/vendor/datatables/examples/basic_init/scroll_y_infinite.html new file mode 100644 index 000000000000..31c1cb27e0e9 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/scroll_y_infinite.html @@ -0,0 +1,610 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables infinite vertical scrolling example +
      + +

      Preamble

      +

      This example shows the DataTables table body scrolling in the vertical direction with infinite scrolling. The idea of infinite scrolling means that data will be added to the table dynamically, as and when needed by the user scrolling the table. A sub-set of the data is loaded initially, and more added as needed (technically of course, it is not "infinite" since it will stop loading data at the end of the data set!). Note that pagination much be enabled for infinite scrolling to work, but the pagination controls will not be shown (they could be, but can cause very confusing user interaction).

      +

      DataTables' infinite scroll can be used with any of the four data sources supported, and they do not require any modification to work (including server-side scripts).

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"bScrollInfinite": true,
      +		"bScrollCollapse": true,
      +		"sScrollY": "200px"
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/scroll_y_theme.html b/public/vendor/datatables/examples/basic_init/scroll_y_theme.html new file mode 100644 index 000000000000..06c04f7a10e7 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/scroll_y_theme.html @@ -0,0 +1,609 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables vertical scrolling with jQuery UI ThemeRoller example +
      + +

      Preamble

      +

      This example is an extension of the vertical scrolling example, showing DataTables ability to be themed by jQuery UI's ThemeRoller.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"sScrollY": 200,
      +		"bJQueryUI": true,
      +		"sPaginationType": "full_numbers"
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/state_save.html b/public/vendor/datatables/examples/basic_init/state_save.html new file mode 100644 index 000000000000..04debaf073f1 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/state_save.html @@ -0,0 +1,604 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables state saving example +
      + +

      Preamble

      +

      DataTables can use cookies in the end user's web-browser in order to store it's state after each change in drawing. What this means is that if the user were to reload the page, the table should remain exactly as it was (length, filtering, pagination and sorting). This feature is disabled by default, but can be easily enabled using the bStateSave initialisation parameter as shown in this example. Note also that the duration of the cookie can be set using the iCookieDuration initialisation parameter (which is in seconds).

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"bStateSave": true
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/table_sorting.html b/public/vendor/datatables/examples/basic_init/table_sorting.html new file mode 100644 index 000000000000..6d47c924ccce --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/table_sorting.html @@ -0,0 +1,604 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables table sorting example +
      + +

      Preamble

      +

      With DataTables you can alter the sorting characteristics of the table at initialisation time. Using the aaSorting initialisation parameter, you can get the table exactly how you want to present the information. The aaSorting parameter is an array of arrays where the first value is the column to sort on, and the second is 'asc' or 'desc' as required (it is a double array for multi-column sorting). The table below is sorted (descending) by the CSS grade. Note also that the 'Engine version' column is automatically detected as a numeric column and sorted accordingly. Finally, also note that "asSorting" has been defined for the column in question for this example. The reason for this is that DataTables uses ["asc","desc"] for sorting order by default, but we would in this case prefer "desc" to be given first priority.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"aaSorting": [[ 4, "desc" ]]
      +	} );
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/themes.html b/public/vendor/datatables/examples/basic_init/themes.html new file mode 100644 index 000000000000..d41a9bcfdb41 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/themes.html @@ -0,0 +1,598 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables with jQuery UI themes example +
      + +

      Preamble

      +

      Styling widgets such as DataTables can often take a considerable amount of time to fully integrate it into your site/application, with the demo styles as a base. This holds true for all widgets, and the jQuery UI team have addressed this issue by introducing themes through their excellent ThemeRoller. DataTables has full support for ThemeRoller created themes, all you need to do is enable the bJQueryUI flag in the initialisation object, and the required mark-up and classes will be added by DataTables.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	oTable = $('#example').dataTable({
      +		"bJQueryUI": true,
      +		"sPaginationType": "full_numbers"
      +	});
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/basic_init/zero_config.html b/public/vendor/datatables/examples/basic_init/zero_config.html new file mode 100644 index 000000000000..55c1d425b8d1 --- /dev/null +++ b/public/vendor/datatables/examples/basic_init/zero_config.html @@ -0,0 +1,600 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables zero configuration example +
      + +

      Preamble

      +

      DataTables has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+ 4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable();
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/data_sources/ajax.html b/public/vendor/datatables/examples/data_sources/ajax.html new file mode 100644 index 000000000000..48d5e006f23a --- /dev/null +++ b/public/vendor/datatables/examples/data_sources/ajax.html @@ -0,0 +1,208 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables AJAX source example +
      + +

      Preamble

      +

      Although DataTables is built from the principle of progressive enhancement, it is often useful to be able to construct a table from an AJAX source. This can be done in one of two ways - either using the aaData initialisation parameter which takes an array of data, or using the sAjaxSource initialisation parameter which will have DataTables go to that source with an XHR call and load data from there. This example shows the latter method in action. DataTables expects an object with an array called "aaData" with the data source.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"bProcessing": true,
      +		"sAjaxSource": '../ajax/sources/arrays.txt'
      +	} );
      +} );
      + + + +

      Server response

      +

      The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

      +
      
      +			
      +			
      +			

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/data_sources/dom.html b/public/vendor/datatables/examples/data_sources/dom.html new file mode 100644 index 000000000000..95ec0ea42694 --- /dev/null +++ b/public/vendor/datatables/examples/data_sources/dom.html @@ -0,0 +1,600 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables zero configuration example +
      + +

      Preamble

      +

      The foundation for DataTables is progressive enhancement, so it is very adept at reading table information directly from the DOM. Therefore, if your user's browser is capable the user will get a DataTables enhanced experience. Otherwise they get the plain HTML.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      TridentInternet + Explorer 4.0Win 95+4X
      TridentInternet + Explorer 5.0Win 95+5C
      TridentInternet + Explorer 5.5Win 95+5.5A
      TridentInternet + Explorer 6Win 98+6A
      TridentInternet Explorer 7Win XP SP2+7A
      TridentAOL browser (AOL desktop)Win XP6A
      GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
      GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
      GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
      GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
      GeckoCamino 1.0OSX.2+1.8A
      GeckoCamino 1.5OSX.3+1.8A
      GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
      GeckoNetscape Browser 8Win 98SE+1.7A
      GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
      GeckoMozilla 1.0Win 95+ / OSX.1+1A
      GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
      GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
      GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
      GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
      GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
      GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
      GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
      GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
      GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
      GeckoEpiphany 2.20Gnome1.8A
      WebkitSafari 1.2OSX.3125.5A
      WebkitSafari 1.3OSX.3312.8A
      WebkitSafari 2.0OSX.4+419.3A
      WebkitSafari 3.0OSX.4+522.1A
      WebkitOmniWeb 5.5OSX.4+420A
      WebkitiPod Touch / iPhoneiPod420.1A
      WebkitS60S60413A
      PrestoOpera 7.0Win 95+ / OSX.1+-A
      PrestoOpera 7.5Win 95+ / OSX.2+-A
      PrestoOpera 8.0Win 95+ / OSX.2+-A
      PrestoOpera 8.5Win 95+ / OSX.2+-A
      PrestoOpera 9.0Win 95+ / OSX.3+-A
      PrestoOpera 9.2Win 88+ / OSX.3+-A
      PrestoOpera 9.5Win 88+ / OSX.3+-A
      PrestoOpera for WiiWii-A
      PrestoNokia N800N800-A
      PrestoNintendo DS browserNintendo DS8.5C/A1
      KHTMLKonqureror 3.1KDE 3.13.1C
      KHTMLKonqureror 3.3KDE 3.33.3A
      KHTMLKonqureror 3.5KDE 3.53.5A
      TasmanInternet Explorer 4.5Mac OS 8-9-X
      TasmanInternet Explorer 5.1Mac OS 7.6-91C
      TasmanInternet Explorer 5.2Mac OS 8-X1C
      MiscNetFront 3.1Embedded devices-C
      MiscNetFront 3.4Embedded devices-A
      MiscDillo 0.8Embedded devices-X
      MiscLinksText only-X
      MiscLynxText only-X
      MiscIE MobileWindows Mobile 6-C
      MiscPSP browserPSP-C
      Other browsersAll others--U
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable();
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/data_sources/js_array.html b/public/vendor/datatables/examples/data_sources/js_array.html new file mode 100644 index 000000000000..b6c95b238a77 --- /dev/null +++ b/public/vendor/datatables/examples/data_sources/js_array.html @@ -0,0 +1,269 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables dynamic creation example +
      + +

      Preamble

      +

      At times you will wish to be able to create a table from dynamic information passed directly to DataTables, rather than having it read from the document. This is achieved using the "aaData" array in the initialisation object. A table node must first be created before the initialiser is called (as shown in the code below). This is also useful for optimisation - if you are able to format the data as required, this method can save a lot of DOM parsing to create a table.

      + +

      Live example

      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#demo').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>' );
      +	$('#example').dataTable( {
      +		"aaData": [
      +			/* Reduced data set */
      +			[ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ],
      +			[ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
      +			[ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
      +			[ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
      +			[ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ],
      +			[ "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", 1.8, "A" ],
      +			[ "Gecko", "Firefox 2", "Win 98+ / OSX.2+", 1.8, "A" ],
      +			[ "Gecko", "Firefox 3", "Win 2k+ / OSX.3+", 1.9, "A" ],
      +			[ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ],
      +			[ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ],
      +			[ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ],
      +			[ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ]
      +		],
      +		"aoColumns": [
      +			{ "sTitle": "Engine" },
      +			{ "sTitle": "Browser" },
      +			{ "sTitle": "Platform" },
      +			{ "sTitle": "Version", "sClass": "center" },
      +			{ "sTitle": "Grade", "sClass": "center" }
      +		]
      +	} );	
      +} );
      + + + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/data_sources/server_side.html b/public/vendor/datatables/examples/data_sources/server_side.html new file mode 100644 index 000000000000..faa87d570887 --- /dev/null +++ b/public/vendor/datatables/examples/data_sources/server_side.html @@ -0,0 +1,390 @@ + + + + + + + DataTables example + + + + + + +
      +
      + DataTables server-side processing example +
      + +

      Preamble

      +

      There are many ways to get your data into DataTables, and if you are working with seriously large databases, you might want to consider using the server-side options that DataTables provides. Basically all of the paging, filtering, sorting etc that DataTables does can be handed off to a server (or any other data source - Google Gears or Adobe Air for example!) and DataTables is just an events and display module.

      +

      The example here shows a very simple display of the CSS data (used in all my other examples), but in this instance coming from the server on each draw. Filtering, multi-column sorting etc all work as you would expect.

      + +

      Live example

      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      Loading data from server
      Rendering engineBrowserPlatform(s)Engine versionCSS grade
      +
      +
      + + +

      Initialisation code

      +
      $(document).ready(function() {
      +	$('#example').dataTable( {
      +		"bProcessing": true,
      +		"bServerSide": true,
      +		"sAjaxSource": "../server_side/scripts/server_processing.php"
      +	} );
      +} );
      + + + +

      Server response

      +

      The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

      +
      
      +			
      +			
      +			

      Server side (PHP) code

      +
      <?php
      +	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
      +	 * Easy set variables
      +	 */
      +	
      +	/* Array of database columns which should be read and sent back to DataTables. Use a space where
      +	 * you want to insert a non-database field (for example a counter or static image)
      +	 */
      +	$aColumns = array( 'engine', 'browser', 'platform', 'version', 'grade' );
      +	
      +	/* Indexed column (used for fast and accurate table cardinality) */
      +	$sIndexColumn = "id";
      +	
      +	/* DB table to use */
      +	$sTable = "ajax";
      +	
      +	/* Database connection information */
      +	$gaSql['user']       = "";
      +	$gaSql['password']   = "";
      +	$gaSql['db']         = "";
      +	$gaSql['server']     = "localhost";
      +	
      +	/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
      +	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
      +	
      +	
      +	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
      +	 * If you just want to use the basic configuration for DataTables with PHP server-side, there is
      +	 * no need to edit below this line
      +	 */
      +	
      +	/* 
      +	 * MySQL connection
      +	 */
      +	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
      +		die( 'Could not open connection to server' );
      +	
      +	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
      +		die( 'Could not select database '. $gaSql['db'] );
      +	
      +	
      +	/* 
      +	 * Paging
      +	 */
      +	$sLimit = "";
      +	if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
      +	{
      +		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
      +			mysql_real_escape_string( $_GET['iDisplayLength'] );
      +	}
      +	
      +	
      +	/*
      +	 * Ordering
      +	 */
      +	$sOrder = "";
      +	if ( isset( $_GET['iSortCol_0'] ) )
      +	{
      +		$sOrder = "ORDER BY  ";
      +		for ( $i=0 ; $i<intval( $_GET['iSortingCols'] ) ; $i++ )
      +		{
      +			if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
      +			{
      +				$sOrder .= "`".$aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
      +				 	mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
      +			}
      +		}
      +		
      +		$sOrder = substr_replace( $sOrder, "", -2 );
      +		if ( $sOrder == "ORDER BY" )
      +		{
      +			$sOrder = "";
      +		}
      +	}
      +	
      +	
      +	/* 
      +	 * Filtering
      +	 * NOTE this does not match the built-in DataTables filtering which does it
      +	 * word by word on any field. It's possible to do here, but concerned about efficiency
      +	 * on very large tables, and MySQL's regex functionality is very limited
      +	 */
      +	$sWhere = "";
      +	if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" )
      +	{
      +		$sWhere = "WHERE (";
      +		for ( $i=0 ; $i<count($aColumns) ; $i++ )
      +		{
      +			$sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
      +		}
      +		$sWhere = substr_replace( $sWhere, "", -3 );
      +		$sWhere .= ')';
      +	}
      +	
      +	/* Individual column filtering */
      +	for ( $i=0 ; $i<count($aColumns) ; $i++ )
      +	{
      +		if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' )
      +		{
      +			if ( $sWhere == "" )
      +			{
      +				$sWhere = "WHERE ";
      +			}
      +			else
      +			{
      +				$sWhere .= " AND ";
      +			}
      +			$sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
      +		}
      +	}
      +	
      +	
      +	/*
      +	 * SQL queries
      +	 * Get data to display
      +	 */
      +	$sQuery = "
      +		SELECT SQL_CALC_FOUND_ROWS `".str_replace(" , ", " ", implode("`, `", $aColumns))."`
      +		FROM   $sTable
      +		$sWhere
      +		$sOrder
      +		$sLimit
      +		";
      +	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
      +	
      +	/* Data set length after filtering */
      +	$sQuery = "
      +		SELECT FOUND_ROWS()
      +	";
      +	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
      +	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
      +	$iFilteredTotal = $aResultFilterTotal[0];
      +	
      +	/* Total data set length */
      +	$sQuery = "
      +		SELECT COUNT(`".$sIndexColumn."`)
      +		FROM   $sTable
      +	";
      +	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
      +	$aResultTotal = mysql_fetch_array($rResultTotal);
      +	$iTotal = $aResultTotal[0];
      +	
      +	
      +	/*
      +	 * Output
      +	 */
      +	$output = array(
      +		"sEcho" => intval($_GET['sEcho']),
      +		"iTotalRecords" => $iTotal,
      +		"iTotalDisplayRecords" => $iFilteredTotal,
      +		"aaData" => array()
      +	);
      +	
      +	while ( $aRow = mysql_fetch_array( $rResult ) )
      +	{
      +		$row = array();
      +		for ( $i=0 ; $i<count($aColumns) ; $i++ )
      +		{
      +			if ( $aColumns[$i] == "version" )
      +			{
      +				/* Special output formatting for 'version' column */
      +				$row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
      +			}
      +			else if ( $aColumns[$i] != ' ' )
      +			{
      +				/* General output */
      +				$row[] = $aRow[ $aColumns[$i] ];
      +			}
      +		}
      +		$output['aaData'][] = $row;
      +	}
      +	
      +	echo json_encode( $output );
      +?>
      + + +

      Other examples

      + + + + + + +
      + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/examples_support/data.sql b/public/vendor/datatables/examples/examples_support/data.sql new file mode 100644 index 000000000000..2958b1384114 --- /dev/null +++ b/public/vendor/datatables/examples/examples_support/data.sql @@ -0,0 +1,67 @@ +CREATE TABLE IF NOT EXISTS `ajax` ( + `id` int(10) NOT NULL auto_increment, + `engine` varchar(255) NOT NULL default '', + `browser` varchar(255) NOT NULL default '', + `platform` varchar(255) NOT NULL default '', + `version` float NOT NULL default '0', + `grade` varchar(20) NOT NULL default '', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 4.0', 'Win 95+', '4', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 5.0', 'Win 95+', '5', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 5.5', 'Win 95+', '5.5', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 6', 'Win 98+', '6', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 7', 'Win XP SP2+', '7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'AOL browser (AOL desktop)', 'Win XP', '6', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 1.0', 'Win 98+ / OSX.2+', '1.7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 1.5', 'Win 98+ / OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 2.0', 'Win 98+ / OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 3.0', 'Win 2k+ / OSX.3+', '1.9', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Camino 1.0', 'OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Camino 1.5', 'OSX.3+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Netscape 7.2', 'Win 95+ / Mac OS 8.6-9.2', '1.7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Netscape Browser 8', 'Win 98SE+', '1.7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Netscape Navigator 9', 'Win 98+ / OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.0', 'Win 95+ / OSX.1+', '1', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.1', 'Win 95+ / OSX.1+', '1.1', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.2', 'Win 95+ / OSX.1+', '1.2', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.3', 'Win 95+ / OSX.1+', '1.3', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.4', 'Win 95+ / OSX.1+', '1.4', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.5', 'Win 95+ / OSX.1+', '1.5', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.6', 'Win 95+ / OSX.1+', '1.6', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.7', 'Win 98+ / OSX.1+', '1.7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.8', 'Win 98+ / OSX.1+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Seamonkey 1.1', 'Win 98+ / OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Epiphany 2.20', 'Gnome', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 1.2', 'OSX.3', '125.5', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 1.3', 'OSX.3', '312.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 2.0', 'OSX.4+', '419.3', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 3.0', 'OSX.4+', '522.1', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'OmniWeb 5.5', 'OSX.4+', '420', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'iPod Touch / iPhone', 'iPod', '420.1', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'S60', 'S60', '413', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 7.0', 'Win 95+ / OSX.1+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 7.5', 'Win 95+ / OSX.2+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 8.0', 'Win 95+ / OSX.2+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 8.5', 'Win 95+ / OSX.2+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 9.0', 'Win 95+ / OSX.3+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 9.2', 'Win 88+ / OSX.3+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 9.5', 'Win 88+ / OSX.3+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera for Wii', 'Wii', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Nokia N800', 'N800', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Nintendo DS browser', 'Nintendo DS', '8.5', 'C/A1' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'KHTML', 'Konqureror 3.1', 'KDE 3.1', '3.1', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'KHTML', 'Konqureror 3.3', 'KDE 3.3', '3.3', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'KHTML', 'Konqureror 3.5', 'KDE 3.5', '3.5', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Tasman', 'Internet Explorer 4.5', 'Mac OS 8-9', '-', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Tasman', 'Internet Explorer 5.1', 'Mac OS 7.6-9', '1', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Tasman', 'Internet Explorer 5.2', 'Mac OS 8-X', '1', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'NetFront 3.1', 'Embedded devices', '-', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'NetFront 3.4', 'Embedded devices', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'Dillo 0.8', 'Embedded devices', '-', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'Links', 'Text only', '-', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'Lynx', 'Text only', '-', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'IE Mobile', 'Windows Mobile 6', '-', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'PSP browser', 'PSP', '-', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Other browsers', 'All others', '-', '-', 'U' ); \ No newline at end of file diff --git a/public/vendor/datatables/examples/examples_support/de_DE.txt b/public/vendor/datatables/examples/examples_support/de_DE.txt new file mode 100644 index 000000000000..9f39e3e96e66 --- /dev/null +++ b/public/vendor/datatables/examples/examples_support/de_DE.txt @@ -0,0 +1,17 @@ +{ + "sProcessing": "Bitte warten...", + "sLengthMenu": "_MENU_ Einträge anzeigen", + "sZeroRecords": "Keine Einträge vorhanden.", + "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", + "sInfoEmpty": "0 bis 0 von 0 Einträgen", + "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", + "sInfoPostFix": "", + "sSearch": "Suchen", + "sUrl": "", + "oPaginate": { + "sFirst": "Erster", + "sPrevious": "Zurück", + "sNext": "Nächster", + "sLast": "Letzter" + } +} \ No newline at end of file diff --git a/public/vendor/datatables/examples/examples_support/details_close.png b/public/vendor/datatables/examples/examples_support/details_close.png new file mode 100644 index 0000000000000000000000000000000000000000..fcc23c63e22f9883bef72c9e3adae3d5ddfb35cc GIT binary patch literal 841 zcmV-P1GfB$P)DA_on|3pY;aiIaw_AzX~% z0wEzG!5U~A62!y<6#_3!Y0@BA($@0c+jVBUFF+~kfo;CbzTKH`cV=g%b|^n=hzi67 zM5UV3FcF6cUCnu^p}pjrsWm6Ug}98UR-~ZFvWN`g0Fg%+2vP1rl3*$mmwr5rOIH=?}WDABr;u?U4@YDw`9eOu1C&^?L7Z zY;1fZBc9KT-2A-Q9Uc}tJv}1T-7R)sycF4)8NstzNldzAgSOWc2V?31C|17Z<>j$J zAke}0_aQSe0l9^R;<1c^#DEC_0!d$>Do3Jo15TlYl9m;-_3M7y&8+fGbP>p=udnZ^^3rY*Ry8&@-XZS}=H{ef zDUJ>}0_oCdYHA|eDvG0BC2ghK?XIQGd^|3d(Ko2a8%4c^+ z2RQuxqA|Bf6p=-Yhg81x*8ObQBJv5%iB0 zU9{XrXRDi=!8bAj&V~kvL?Uy+VDJ@gXo|Fa=^duiBKhvUSnKK%G5>85_4~!w&Q6gS z9~Xt4ozl{)vr6y0nuGJKj&rJgrBbPcMMU#|wJ-Lc4fdkiFZ`>)vh)56_#?mow%h=n ThIkt{00000NkvXXu0mjfW_^Rc literal 0 HcmV?d00001 diff --git a/public/vendor/datatables/examples/examples_support/details_open.png b/public/vendor/datatables/examples/examples_support/details_open.png new file mode 100644 index 0000000000000000000000000000000000000000..6f034d0f2d5c7902dce190355b12defdc07d6c9a GIT binary patch literal 881 zcmV-%1CIQOP)P5xVIgh(4gM3Zjdy!n~2N zjD^FnHQ1(tR(9cJl^-l~RyvtO-;dMt9M4;+6T9$?ALpFs)Rcr6nirw3t>UzAPx#r5M&8N9I=W>B2)xRbt)puL>xs_c64-H@%#Or zXf!&j>$*muHOWXvHo`VD#lg6MPE~+#^!N8aRTO1|?J`J5He@S&wvbBVO8K%ZpNm8y zAIT}HC7Cxi$gY3tW-XzMtU1`kx+go?tM3CWp(Z#n*^&?X9upjrBoaWeDh>vNcO4E# z)3UM*kH0>GH%mi2IAp}6%}CKyd$~2W6jvjYwyv(OhW7UM zP7O5aPWUzq$A-}#e>#Hw16_xihIJroxfm&IbSiP6!~SxS;g5FTo6ZM`H( zlIh)&4}38nXc|&$DyX^!-nt?1)(-JKW(QQ%jr|ydxA>>z)7I8@S=`cW5N4N`m!G77 zdZMpERgp|rK~d3JRsUp;HJ6lA@hNmr@UjvF zT!Ag6;H&rZ+37vY=g+HO_-wIQtVRQvx7QEFj83+*vi=TLQ+cY^m5t3Z!D|~jv(ZlR zc>I^mX3LW^WSCo>=P5lkaGKBKE#utS*o(YFK~4deqwi1AMVd+US~dit;|^yb25sIpdZA`Wys(O1dAvo2(I ziyc~u+*C?>Z*T8&(cem%afeVS6nDGb_L8EKvNL%#5MBx6)#tXj`d$yLwBMhA-vSH(T>k(8(cOU?00000NkvXX Hu0mjf8E% \ No newline at end of file diff --git a/public/vendor/datatables/examples/examples_support/index.html b/public/vendor/datatables/examples/examples_support/index.html new file mode 100644 index 000000000000..3bf1b6af6d83 --- /dev/null +++ b/public/vendor/datatables/examples/examples_support/index.html @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/public/vendor/datatables/examples/examples_support/infiniteScroll.php b/public/vendor/datatables/examples/examples_support/infiniteScroll.php new file mode 100644 index 000000000000..f543dd409374 --- /dev/null +++ b/public/vendor/datatables/examples/examples_support/infiniteScroll.php @@ -0,0 +1,97 @@ + \ No newline at end of file diff --git a/public/vendor/datatables/examples/examples_support/jquery-ui-tabs.js b/public/vendor/datatables/examples/examples_support/jquery-ui-tabs.js new file mode 100644 index 000000000000..7b72633d9d15 --- /dev/null +++ b/public/vendor/datatables/examples/examples_support/jquery-ui-tabs.js @@ -0,0 +1,65 @@ +/*! + * jQuery UI 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ +(function(c){c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.2",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}})(jQuery); +;/*! + * jQuery UI Widget 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Widget + */ +(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype= +b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g= +b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create(); +this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f, +h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a= +b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery); +;/* + * jQuery UI Tabs 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d){function s(){return++u}function v(){return++w}var u=0,w=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
      ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:'
    1. #{label}
    2. '},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+s()},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+v());return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c= +d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]|| +(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass": +"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", +function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show", +null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs", +function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g, +j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", +function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this, +"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs", +true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide"); +this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1=c?--h:h});this._tabify();this._trigger("remove", +null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this}, +select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing"); +if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}}, +abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.2"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate= +function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k: + * http://www.dyve.net/jquery/?editable + * + */ + +/** + * Version 1.7.1 + * + * ** means there is basic unit tests for this parameter. + * + * @name Jeditable + * @type jQuery + * @param String target (POST) URL or function to send edited content to ** + * @param Hash options additional options + * @param String options[method] method to use to send edited content (POST or PUT) ** + * @param Function options[callback] Function to run after submitting edited content ** + * @param String options[name] POST parameter name of edited content + * @param String options[id] POST parameter name of edited div id + * @param Hash options[submitdata] Extra parameters to send when submitting edited content. + * @param String options[type] text, textarea or select (or any 3rd party input type) ** + * @param Integer options[rows] number of rows if using textarea ** + * @param Integer options[cols] number of columns if using textarea ** + * @param Mixed options[height] 'auto', 'none' or height in pixels ** + * @param Mixed options[width] 'auto', 'none' or width in pixels ** + * @param String options[loadurl] URL to fetch input content before editing ** + * @param String options[loadtype] Request type for load url. Should be GET or POST. + * @param String options[loadtext] Text to display while loading external content. + * @param Mixed options[loaddata] Extra parameters to pass when fetching content before editing. + * @param Mixed options[data] Or content given as paramameter. String or function.** + * @param String options[indicator] indicator html to show when saving + * @param String options[tooltip] optional tooltip text via title attribute ** + * @param String options[event] jQuery event such as 'click' of 'dblclick' ** + * @param String options[submit] submit button value, empty means no button ** + * @param String options[cancel] cancel button value, empty means no button ** + * @param String options[cssclass] CSS class to apply to input form. 'inherit' to copy from parent. ** + * @param String options[style] Style to apply to input form 'inherit' to copy from parent. ** + * @param String options[select] true or false, when true text is highlighted ?? + * @param String options[placeholder] Placeholder text or html to insert when element is empty. ** + * @param String options[onblur] 'cancel', 'submit', 'ignore' or function ?? + * + * @param Function options[onsubmit] function(settings, original) { ... } called before submit + * @param Function options[onreset] function(settings, original) { ... } called before reset + * @param Function options[onerror] function(settings, original, xhr) { ... } called on error + * + * @param Hash options[ajaxoptions] jQuery Ajax options. See docs.jquery.com. + * + */ + +(function($) { + + $.fn.editable = function(target, options) { + + if ('disable' == target) { + $(this).data('disabled.editable', true); + return; + } + if ('enable' == target) { + $(this).data('disabled.editable', false); + return; + } + if ('destroy' == target) { + $(this) + .unbind($(this).data('event.editable')) + .removeData('disabled.editable') + .removeData('event.editable'); + return; + } + + var settings = $.extend({}, $.fn.editable.defaults, {target:target}, options); + + /* setup some functions */ + var plugin = $.editable.types[settings.type].plugin || function() { }; + var submit = $.editable.types[settings.type].submit || function() { }; + var buttons = $.editable.types[settings.type].buttons + || $.editable.types['defaults'].buttons; + var content = $.editable.types[settings.type].content + || $.editable.types['defaults'].content; + var element = $.editable.types[settings.type].element + || $.editable.types['defaults'].element; + var reset = $.editable.types[settings.type].reset + || $.editable.types['defaults'].reset; + var callback = settings.callback || function() { }; + var onedit = settings.onedit || function() { }; + var onsubmit = settings.onsubmit || function() { }; + var onreset = settings.onreset || function() { }; + var onerror = settings.onerror || reset; + + /* show tooltip */ + if (settings.tooltip) { + $(this).attr('title', settings.tooltip); + } + + settings.autowidth = 'auto' == settings.width; + settings.autoheight = 'auto' == settings.height; + + return this.each(function() { + + /* save this to self because this changes when scope changes */ + var self = this; + + /* inlined block elements lose their width and height after first edit */ + /* save them for later use as workaround */ + var savedwidth = $(self).width(); + var savedheight = $(self).height(); + + /* save so it can be later used by $.editable('destroy') */ + $(this).data('event.editable', settings.event); + + /* if element is empty add something clickable (if requested) */ + if (!$.trim($(this).html())) { + $(this).html(settings.placeholder); + } + + $(this).bind(settings.event, function(e) { + + /* abort if disabled for this element */ + if (true === $(this).data('disabled.editable')) { + return; + } + + /* prevent throwing an exeption if edit field is clicked again */ + if (self.editing) { + return; + } + + /* abort if onedit hook returns false */ + if (false === onedit.apply(this, [settings, self])) { + return; + } + + /* prevent default action and bubbling */ + e.preventDefault(); + e.stopPropagation(); + + /* remove tooltip */ + if (settings.tooltip) { + $(self).removeAttr('title'); + } + + /* figure out how wide and tall we are, saved width and height */ + /* are workaround for http://dev.jquery.com/ticket/2190 */ + if (0 == $(self).width()) { + //$(self).css('visibility', 'hidden'); + settings.width = savedwidth; + settings.height = savedheight; + } else { + if (settings.width != 'none') { + settings.width = + settings.autowidth ? $(self).width() : settings.width; + } + if (settings.height != 'none') { + settings.height = + settings.autoheight ? $(self).height() : settings.height; + } + } + //$(this).css('visibility', ''); + + /* remove placeholder text, replace is here because of IE */ + if ($(this).html().toLowerCase().replace(/(;|")/g, '') == + settings.placeholder.toLowerCase().replace(/(;|")/g, '')) { + $(this).html(''); + } + + self.editing = true; + self.revert = $(self).html(); + $(self).html(''); + + /* create the form object */ + var form = $('
      '); + + /* apply css or style or both */ + if (settings.cssclass) { + if ('inherit' == settings.cssclass) { + form.attr('class', $(self).attr('class')); + } else { + form.attr('class', settings.cssclass); + } + } + + if (settings.style) { + if ('inherit' == settings.style) { + form.attr('style', $(self).attr('style')); + /* IE needs the second line or display wont be inherited */ + form.css('display', $(self).css('display')); + } else { + form.attr('style', settings.style); + } + } + + /* add main input element to form and store it in input */ + var input = element.apply(form, [settings, self]); + + /* set input content via POST, GET, given data or existing value */ + var input_content; + + if (settings.loadurl) { + var t = setTimeout(function() { + input.disabled = true; + content.apply(form, [settings.loadtext, settings, self]); + }, 100); + + var loaddata = {}; + loaddata[settings.id] = self.id; + if ($.isFunction(settings.loaddata)) { + $.extend(loaddata, settings.loaddata.apply(self, [self.revert, settings])); + } else { + $.extend(loaddata, settings.loaddata); + } + $.ajax({ + type : settings.loadtype, + url : settings.loadurl, + data : loaddata, + async : false, + success: function(result) { + window.clearTimeout(t); + input_content = result; + input.disabled = false; + } + }); + } else if (settings.data) { + input_content = settings.data; + if ($.isFunction(settings.data)) { + input_content = settings.data.apply(self, [self.revert, settings]); + } + } else { + input_content = self.revert; + } + content.apply(form, [input_content, settings, self]); + + input.attr('name', settings.name); + + /* add buttons to the form */ + buttons.apply(form, [settings, self]); + + /* add created form to self */ + $(self).append(form); + + /* attach 3rd party plugin if requested */ + plugin.apply(form, [settings, self]); + + /* focus to first visible form element */ + $(':input:visible:enabled:first', form).focus(); + + /* highlight input contents when requested */ + if (settings.select) { + input.select(); + } + + /* discard changes if pressing esc */ + input.keydown(function(e) { + if (e.keyCode == 27) { + e.preventDefault(); + //self.reset(); + reset.apply(form, [settings, self]); + } + }); + + /* discard, submit or nothing with changes when clicking outside */ + /* do nothing is usable when navigating with tab */ + var t; + if ('cancel' == settings.onblur) { + input.blur(function(e) { + /* prevent canceling if submit was clicked */ + t = setTimeout(function() { + reset.apply(form, [settings, self]); + }, 500); + }); + } else if ('submit' == settings.onblur) { + input.blur(function(e) { + /* prevent double submit if submit was clicked */ + t = setTimeout(function() { + form.submit(); + }, 200); + }); + } else if ($.isFunction(settings.onblur)) { + input.blur(function(e) { + settings.onblur.apply(self, [input.val(), settings]); + }); + } else { + input.blur(function(e) { + /* TODO: maybe something here */ + }); + } + + form.submit(function(e) { + + if (t) { + clearTimeout(t); + } + + /* do no submit */ + e.preventDefault(); + + /* call before submit hook. */ + /* if it returns false abort submitting */ + if (false !== onsubmit.apply(form, [settings, self])) { + /* custom inputs call before submit hook. */ + /* if it returns false abort submitting */ + if (false !== submit.apply(form, [settings, self])) { + + /* check if given target is function */ + if ($.isFunction(settings.target)) { + var str = settings.target.apply(self, [input.val(), settings]); + $(self).html(str); + self.editing = false; + callback.apply(self, [self.innerHTML, settings]); + /* TODO: this is not dry */ + if (!$.trim($(self).html())) { + $(self).html(settings.placeholder); + } + } else { + /* add edited content and id of edited element to POST */ + var submitdata = {}; + submitdata[settings.name] = input.val(); + submitdata[settings.id] = self.id; + /* add extra data to be POST:ed */ + if ($.isFunction(settings.submitdata)) { + $.extend(submitdata, settings.submitdata.apply(self, [self.revert, settings])); + } else { + $.extend(submitdata, settings.submitdata); + } + + /* quick and dirty PUT support */ + if ('PUT' == settings.method) { + submitdata['_method'] = 'put'; + } + + /* show the saving indicator */ + $(self).html(settings.indicator); + + /* defaults for ajaxoptions */ + var ajaxoptions = { + type : 'POST', + data : submitdata, + dataType: 'html', + url : settings.target, + success : function(result, status) { + if (ajaxoptions.dataType == 'html') { + $(self).html(result); + } + self.editing = false; + callback.apply(self, [result, settings]); + if (!$.trim($(self).html())) { + $(self).html(settings.placeholder); + } + }, + error : function(xhr, status, error) { + onerror.apply(form, [settings, self, xhr]); + } + }; + + /* override with what is given in settings.ajaxoptions */ + $.extend(ajaxoptions, settings.ajaxoptions); + $.ajax(ajaxoptions); + + } + } + } + + /* show tooltip again */ + $(self).attr('title', settings.tooltip); + + return false; + }); + }); + + /* privileged methods */ + this.reset = function(form) { + /* prevent calling reset twice when blurring */ + if (this.editing) { + /* before reset hook, if it returns false abort reseting */ + if (false !== onreset.apply(form, [settings, self])) { + $(self).html(self.revert); + self.editing = false; + if (!$.trim($(self).html())) { + $(self).html(settings.placeholder); + } + /* show tooltip again */ + if (settings.tooltip) { + $(self).attr('title', settings.tooltip); + } + } + } + }; + }); + + }; + + + $.editable = { + types: { + defaults: { + element : function(settings, original) { + var input = $(''); + $(this).append(input); + return(input); + }, + content : function(string, settings, original) { + $(':input:first', this).val(string); + }, + reset : function(settings, original) { + original.reset(this); + }, + buttons : function(settings, original) { + var form = this; + if (settings.submit) { + /* if given html string use that */ + if (settings.submit.match(/>$/)) { + var submit = $(settings.submit).click(function() { + if (submit.attr("type") != "submit") { + form.submit(); + } + }); + /* otherwise use button with given string as text */ + } else { + var submit = $('